[INFO] cloning repository https://github.com/glazari/monkey-language-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/glazari/monkey-language-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fglazari%2Fmonkey-language-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fglazari%2Fmonkey-language-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3a42ef9e6016039faae1244f059af36aa1a28473
[INFO] testing glazari/monkey-language-rust against beta-2024-12-08 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fglazari%2Fmonkey-language-rust" "/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/glazari/monkey-language-rust on toolchain beta-2024-12-08
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/glazari/monkey-language-rust
[INFO] finished tweaking git repo https://github.com/glazari/monkey-language-rust
[INFO] tweaked toml for git repo https://github.com/glazari/monkey-language-rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/glazari/monkey-language-rust 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" "+beta-2024-12-08" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f09ae23dc2ae725fad4eababf91dd17d1850b8a12e107220328388351803ccf8
[INFO] running `Command { std: "docker" "start" "-a" "f09ae23dc2ae725fad4eababf91dd17d1850b8a12e107220328388351803ccf8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f09ae23dc2ae725fad4eababf91dd17d1850b8a12e107220328388351803ccf8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f09ae23dc2ae725fad4eababf91dd17d1850b8a12e107220328388351803ccf8", kill_on_drop: false }`
[INFO] [stdout] f09ae23dc2ae725fad4eababf91dd17d1850b8a12e107220328388351803ccf8
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 05f8d8e098317051cb0194dd8ccf36584c21a53697788b5b6c037a6ff3d802a7
[INFO] running `Command { std: "docker" "start" "-a" "05f8d8e098317051cb0194dd8ccf36584c21a53697788b5b6c037a6ff3d802a7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_shared v0.11.1
[INFO] [stderr]    Compiling phf_generator v0.11.1
[INFO] [stderr]    Compiling phf_macros v0.11.1
[INFO] [stderr]    Compiling phf v0.11.1
[INFO] [stderr]    Compiling monkey-language-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/ast.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut out = "".to_string();
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ast.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut out = "".to_string();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ast.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut out = match self {
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `literal` is never used
[INFO] [stdout]   --> src/token.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Token {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 46 |     pub fn literal(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_current_position` is never used
[INFO] [stdout]    --> src/lexer.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 14  | impl Lexer {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn print_current_position(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `token_literal`, and `string` are never used
[INFO] [stdout]   --> src/ast.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl Program {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 9  |     pub fn new() -> Program {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn token_literal(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LetStatement`, `ReturnStatement`, and `ExpressionStatement` are never constructed
[INFO] [stdout]   --> src/ast.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum Statement {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 36 |     LetStatement(LetStatement),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 37 |     ReturnStatement(ReturnStatement),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     ExpressionStatement(ExpressionStatement),
[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: methods `token_literal` and `string` are never used
[INFO] [stdout]   --> src/ast.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Statement {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 42 |     fn token_literal(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn string(&self) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `token_literal` and `string` are never used
[INFO] [stdout]   --> src/ast.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl LetStatement {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 63 |     fn token_literal(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn string(&self) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `token_literal` and `string` are never used
[INFO] [stdout]   --> src/ast.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl ReturnStatement {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] 85 |     fn token_literal(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     fn string(&self) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Identifier`, `IntegerLiteral`, `PrefixExpression`, and `InfixExpression` are never constructed
[INFO] [stdout]    --> src/ast.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 99  | pub enum Expression {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] 100 |     Identifier(Identifier),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 101 |     IntegerLiteral(IntegerLiteral),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 102 |     PrefixExpression(PrefixExpression),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     InfixExpression(InfixExpression),
[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: methods `token_literal` and `string` are never used
[INFO] [stdout]    --> src/ast.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl Expression {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 107 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `token_literal` and `string` are never used
[INFO] [stdout]    --> src/ast.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl InfixExpression {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 129 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     fn string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `token_literal` and `string` are never used
[INFO] [stdout]    --> src/ast.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl PrefixExpression {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 153 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     fn string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `token_literal` and `string` are never used
[INFO] [stdout]    --> src/ast.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl IntegerLiteral {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] 173 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `token_literal` and `string` are never used
[INFO] [stdout]    --> src/ast.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 187 | impl Identifier {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 188 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     fn string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `token_literal` and `string` are never used
[INFO] [stdout]    --> src/ast.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl ExpressionStatement {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] 203 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]  --> src/parser.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Parser {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser.rs:16:12
[INFO] [stdout]     |
[INFO] [stdout] 15  | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 16  |     pub fn new(lexer: Lexer) -> Parser {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28  |     fn next_token(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33  |     pub fn parse_program(&mut self) -> Result<Program, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57  |     fn parse_statement(&mut self) -> Result<Statement, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65  |     fn skip_statement(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71  |     fn parse_expression_statement(&mut self) -> Result<Statement, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     fn parse_expression(&mut self, precedence: Precedence) -> Result<Expression, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn parse_infix_expression(&mut self, left: Expression) -> Result<Expression, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     fn parse_prefix_expression(&mut self) -> Result<Expression, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn parse_integer_literal(&mut self) -> Result<Expression, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     fn parser_identifier(&mut self) -> Result<Expression, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn parse_return_statement(&mut self) -> Result<Statement, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     fn parse_let_statement(&mut self) -> Result<Statement, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     fn peek_precedence(&self) -> Precedence {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn cur_precedence(&self) -> Precedence {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Precedence` is never used
[INFO] [stdout]    --> src/parser.rs:229:6
[INFO] [stdout]     |
[INFO] [stdout] 229 | enum Precedence {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_token` and `value` are never used
[INFO] [stdout]    --> src/parser.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | impl Precedence {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 240 |     fn from_token(token: &Token) -> Precedence {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fn value(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.23s
[INFO] running `Command { std: "docker" "inspect" "05f8d8e098317051cb0194dd8ccf36584c21a53697788b5b6c037a6ff3d802a7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "05f8d8e098317051cb0194dd8ccf36584c21a53697788b5b6c037a6ff3d802a7", kill_on_drop: false }`
[INFO] [stdout] 05f8d8e098317051cb0194dd8ccf36584c21a53697788b5b6c037a6ff3d802a7
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b04ca4a613323380923cb7775a5aec21323fe1fcb056b5609d228bcabba199a8
[INFO] running `Command { std: "docker" "start" "-a" "b04ca4a613323380923cb7775a5aec21323fe1fcb056b5609d228bcabba199a8", kill_on_drop: false }`
[INFO] [stderr]    Compiling yansi v0.5.1
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling pretty_assertions v1.3.0
[INFO] [stderr]    Compiling monkey-language-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/ast.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]   --> src/ast.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut out = "".to_string();
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ast.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut out = "".to_string();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ast.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut out = match self {
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected_program`
[INFO] [stdout]    --> src/parser.rs:397:13
[INFO] [stdout]     |
[INFO] [stdout] 397 |         let expected_program = Program {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/parser.rs:407:13
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let program = match parser.parse_program() {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]   --> src/ast.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl Program {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn token_literal(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]   --> src/ast.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl Statement {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 42 |     fn token_literal(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]    --> src/ast.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl Expression {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 107 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]    --> src/ast.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl InfixExpression {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] 129 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]    --> src/ast.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl PrefixExpression {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 153 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]    --> src/ast.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl IntegerLiteral {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 173 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]    --> src/ast.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 187 | impl Identifier {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 188 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]    --> src/ast.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 202 | impl ExpressionStatement {
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 203 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.25s
[INFO] running `Command { std: "docker" "inspect" "b04ca4a613323380923cb7775a5aec21323fe1fcb056b5609d228bcabba199a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b04ca4a613323380923cb7775a5aec21323fe1fcb056b5609d228bcabba199a8", kill_on_drop: false }`
[INFO] [stdout] b04ca4a613323380923cb7775a5aec21323fe1fcb056b5609d228bcabba199a8
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 24e6125d25d7420b6b9868d4e137dcb53cf64eb2ddb79348162e4d3f0cdebc64
[INFO] running `Command { std: "docker" "start" "-a" "24e6125d25d7420b6b9868d4e137dcb53cf64eb2ddb79348162e4d3f0cdebc64", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/ast.rs:218:9
[INFO] [stderr]     |
[INFO] [stderr] 218 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `out`
[INFO] [stderr]   --> src/ast.rs:24:17
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let mut out = "".to_string();
[INFO] [stderr]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/ast.rs:24:13
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let mut out = "".to_string();
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/ast.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let mut out = match self {
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `expected_program`
[INFO] [stderr]    --> src/parser.rs:397:13
[INFO] [stderr]     |
[INFO] [stderr] 397 |         let expected_program = Program {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_program`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `program`
[INFO] [stderr]    --> src/parser.rs:407:13
[INFO] [stderr]     |
[INFO] [stderr] 407 |         let program = match parser.parse_program() {
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stderr] 
[INFO] [stderr] warning: method `token_literal` is never used
[INFO] [stderr]   --> src/ast.rs:15:8
[INFO] [stderr]    |
[INFO] [stderr] 8  | impl Program {
[INFO] [stderr]    | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 15 |     fn token_literal(&self) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `token_literal` is never used
[INFO] [stderr]   --> src/ast.rs:42:8
[INFO] [stderr]    |
[INFO] [stderr] 41 | impl Statement {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] 42 |     fn token_literal(&self) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `token_literal` is never used
[INFO] [stderr]    --> src/ast.rs:107:8
[INFO] [stderr]     |
[INFO] [stderr] 106 | impl Expression {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] 107 |     fn token_literal(&self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `token_literal` is never used
[INFO] [stderr]    --> src/ast.rs:129:8
[INFO] [stderr]     |
[INFO] [stderr] 128 | impl InfixExpression {
[INFO] [stderr]     | -------------------- method in this implementation
[INFO] [stderr] 129 |     fn token_literal(&self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `token_literal` is never used
[INFO] [stderr]    --> src/ast.rs:153:8
[INFO] [stderr]     |
[INFO] [stderr] 152 | impl PrefixExpression {
[INFO] [stderr]     | --------------------- method in this implementation
[INFO] [stderr] 153 |     fn token_literal(&self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `token_literal` is never used
[INFO] [stderr]    --> src/ast.rs:173:8
[INFO] [stderr]     |
[INFO] [stderr] 172 | impl IntegerLiteral {
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] 173 |     fn token_literal(&self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `token_literal` is never used
[INFO] [stderr]    --> src/ast.rs:188:8
[INFO] [stderr]     |
[INFO] [stderr] 187 | impl Identifier {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] 188 |     fn token_literal(&self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `token_literal` is never used
[INFO] [stderr]    --> src/ast.rs:203:8
[INFO] [stderr]     |
[INFO] [stderr] 202 | impl ExpressionStatement {
[INFO] [stderr]     | ------------------------ method in this implementation
[INFO] [stderr] 203 |     fn token_literal(&self) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `monkey-language-rust` (bin "monkey-language-rust" test) generated 14 warnings (run `cargo fix --bin "monkey-language-rust" --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/monkey_language_rust-9c672195bdbf79e2)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test ast::tests::test_string ... ok
[INFO] [stdout] test parser::tests::test_integer_literal_expression ... ok
[INFO] [stdout] test lexer::test::test_single_character_tokens ... ok
[INFO] [stdout] test parser::tests::test_identifier_expression ... ok
[INFO] [stdout] test parser::tests::test_let_statement_errors ... ok
[INFO] [stdout] test parser::tests::test_parsing_infix_expressions ... ok
[INFO] [stdout] test parser::tests::test_operator_precedence_parsing ... ok
[INFO] [stdout] test parser::tests::test_parsing_prefix_expressions ... ok
[INFO] [stdout] test parser::tests::test_return_statements ... ok
[INFO] [stdout] test parser::tests::test_let_statements ... ok
[INFO] [stdout] test lexer::test::test_next_token ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "24e6125d25d7420b6b9868d4e137dcb53cf64eb2ddb79348162e4d3f0cdebc64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "24e6125d25d7420b6b9868d4e137dcb53cf64eb2ddb79348162e4d3f0cdebc64", kill_on_drop: false }`
[INFO] [stdout] 24e6125d25d7420b6b9868d4e137dcb53cf64eb2ddb79348162e4d3f0cdebc64
