[INFO] cloning repository https://github.com/0xWOF/monkey-interpreter-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/0xWOF/monkey-interpreter-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xWOF%2Fmonkey-interpreter-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xWOF%2Fmonkey-interpreter-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8488b5dca028dabb0efcc8d6f32fd138269cc709
[INFO] testing 0xWOF/monkey-interpreter-rs against try#9f93af291970322f4f1c6315ccde4d7078201159 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F0xWOF%2Fmonkey-interpreter-rs" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/0xWOF/monkey-interpreter-rs
[INFO] finished tweaking git repo https://github.com/0xWOF/monkey-interpreter-rs
[INFO] tweaked toml for git repo https://github.com/0xWOF/monkey-interpreter-rs written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/0xWOF/monkey-interpreter-rs on toolchain 9f93af291970322f4f1c6315ccde4d7078201159
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/0xWOF/monkey-interpreter-rs 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" "+9f93af291970322f4f1c6315ccde4d7078201159" "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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a7975873d5c7ff6872e9025f98a95f8125effec4abbba013ed6a71e157b48bc0
[INFO] running `Command { std: "docker" "start" "-a" "a7975873d5c7ff6872e9025f98a95f8125effec4abbba013ed6a71e157b48bc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a7975873d5c7ff6872e9025f98a95f8125effec4abbba013ed6a71e157b48bc0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7975873d5c7ff6872e9025f98a95f8125effec4abbba013ed6a71e157b48bc0", kill_on_drop: false }`
[INFO] [stdout] a7975873d5c7ff6872e9025f98a95f8125effec4abbba013ed6a71e157b48bc0
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e74b4a21dbd9ba8ed95f9c1e467905a32ae7f39ac5adc153c188e9fddc020257
[INFO] running `Command { std: "docker" "start" "-a" "e74b4a21dbd9ba8ed95f9c1e467905a32ae7f39ac5adc153c188e9fddc020257", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.40
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling rustversion v1.0.7
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling strum_macros v0.24.2
[INFO] [stderr]    Compiling enum-as-inner v0.5.0
[INFO] [stderr]    Compiling monkey-interpreter-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::token::*`
[INFO] [stdout]  --> src/unit_test/lexer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::token::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::lexer::*`
[INFO] [stdout]  --> src/unit_test/lexer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::lexer::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0559]: variant `token::token::Token<'_>::Identifier` has no field named `name`
[INFO] [stdout]   --> src/lexer/lexer.rs:57:38
[INFO] [stdout]    |
[INFO] [stdout] 57 |             _ => Token::Identifier { name: identifier },
[INFO] [stdout]    |                                      ^^^^ field does not exist
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/token/token.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Identifier(&'a str),
[INFO] [stdout]    |     ---------- `token::token::Token<'_>::Identifier` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: `token::token::Token<'_>::Identifier` is a tuple variant, use the appropriate syntax
[INFO] [stdout]    |
[INFO] [stdout] 57 -             _ => Token::Identifier { name: identifier },
[INFO] [stdout] 57 +             _ => Token::Identifier(/* &'a str */),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0559]: variant `token::token::Token<'_>::Integer` has no field named `value`
[INFO] [stdout]   --> src/lexer/lexer.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |         Token::Integer { value: self.read_digit() }
[INFO] [stdout]    |                          ^^^^^ field does not exist
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/token/token.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Integer(u64),
[INFO] [stdout]    |     ------- `token::token::Token<'_>::Integer` defined here
[INFO] [stdout]    |
[INFO] [stdout] help: `token::token::Token<'_>::Integer` is a tuple variant, use the appropriate syntax
[INFO] [stdout]    |
[INFO] [stdout] 62 -         Token::Integer { value: self.read_digit() }
[INFO] [stdout] 62 +         Token::Integer(/* u64 */)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/parser/parser.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |             program.statements.push(
[INFO] [stdout]    |                                ---- arguments to this method are incorrect
[INFO] [stdout] 31 |                 self.parse_statement()
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^ expected `Statement<'_>`, found `Result<Statement<'_>, ParserError<'_>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `ast::statement::statement::Statement<'_>`
[INFO] [stdout]               found enum `Result<ast::statement::statement::Statement<'_>, ParserError<'_>>`
[INFO] [stdout] note: method defined here
[INFO] [stdout]   --> /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/vec/mod.rs:2563:12
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<ast::statement::statement::Statement<'_>, ParserError<'_>>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 self.parse_statement().expect("REASON")
[INFO] [stdout]    |                                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/parser/error.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout]  5 |   impl<'a> Parser<'a> {
[INFO] [stdout]    |        -- lifetime `'a` defined here
[INFO] [stdout] ...
[INFO] [stdout] 11 | /         self.errors.push(
[INFO] [stdout] 12 | |             format!("expect {:?} token, got {:?} token", expect, self.peek).as_str()
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 13 | |         )
[INFO] [stdout]    | |_________- argument requires that borrow lasts for `'a`
[INFO] [stdout] 14 |       }
[INFO] [stdout]    |       - temporary value is freed at the end of this statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `format` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing temporary value
[INFO] [stdout]   --> src/parser/error.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | /         ParserError {
[INFO] [stdout] 18 | |             message: format!("expect {:?} token, but got {:?} token", expect, self.peek).as_str(),
[INFO] [stdout]    | |                      ------------------------------------------------------------------- temporary value created here
[INFO] [stdout] 19 | |         }
[INFO] [stdout]    | |_________^ returns a value referencing data owned by the current function
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `*self` as mutable more than once at a time
[INFO] [stdout]   --> src/parser/statement.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn parse_let_statement(&mut self) -> Result<Statement<'a>, ParserError> {
[INFO] [stdout]    |                            - let's call the lifetime of this reference `'1`
[INFO] [stdout] 17 |         let name = self.parse_token(TokenDiscriminant::Identifier)?.into_identifier().unwrap();
[INFO] [stdout]    |                    ------------------------------------------------
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    first mutable borrow occurs here
[INFO] [stdout]    |                    returning this value requires that `*self` is borrowed for `'1`
[INFO] [stdout] 18 |
[INFO] [stdout] 19 |         self.parse_token(TokenDiscriminant::Assign)?;
[INFO] [stdout]    |         ^^^^ second mutable borrow occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/parser/statement.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let name = self.parse_token(TokenDiscriminant::Identifier)?.into_identifier().unwrap();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `*self` as mutable, as it is behind a `&` reference
[INFO] [stdout]   --> src/parser/statement.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         self.parse_token(TokenDiscriminant::Return)?;
[INFO] [stdout]    |         ^^^^ `self` is a `&` reference, so the data it refers to cannot be borrowed as mutable
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be a mutable reference
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn parse_return_statement(&mut self) -> Result<Statement<'a>, ParserError> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]   --> src/parser/statement.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let b = discriminant(&a);
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0499, E0515, E0559, E0596, E0716.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `monkey-interpreter-rs` (lib) due to 7 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e74b4a21dbd9ba8ed95f9c1e467905a32ae7f39ac5adc153c188e9fddc020257", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e74b4a21dbd9ba8ed95f9c1e467905a32ae7f39ac5adc153c188e9fddc020257", kill_on_drop: false }`
[INFO] [stdout] e74b4a21dbd9ba8ed95f9c1e467905a32ae7f39ac5adc153c188e9fddc020257
