[INFO] cloning repository https://github.com/44smkn/ironmonkey
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/44smkn/ironmonkey" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F44smkn%2Fironmonkey", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F44smkn%2Fironmonkey'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 99cfc8da1a65836d9c92e59f8ce86d5d2f28d129
[INFO] checking 44smkn/ironmonkey against master#46424fb5054f211ec836c5c03159f92e46bb35ac for pr-139042
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F44smkn%2Fironmonkey" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/44smkn/ironmonkey on toolchain 46424fb5054f211ec836c5c03159f92e46bb35ac
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/44smkn/ironmonkey
[INFO] finished tweaking git repo https://github.com/44smkn/ironmonkey
[INFO] tweaked toml for git repo https://github.com/44smkn/ironmonkey written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/44smkn/ironmonkey 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" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0614a1398d7759a75a3c1398cedeebffe05fe5c6dc5b9dc3267c2fb0e0bc0342
[INFO] running `Command { std: "docker" "start" "-a" "0614a1398d7759a75a3c1398cedeebffe05fe5c6dc5b9dc3267c2fb0e0bc0342", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0614a1398d7759a75a3c1398cedeebffe05fe5c6dc5b9dc3267c2fb0e0bc0342", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0614a1398d7759a75a3c1398cedeebffe05fe5c6dc5b9dc3267c2fb0e0bc0342", kill_on_drop: false }`
[INFO] [stdout] 0614a1398d7759a75a3c1398cedeebffe05fe5c6dc5b9dc3267c2fb0e0bc0342
[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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+46424fb5054f211ec836c5c03159f92e46bb35ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2e675d4e51d884cd6a09bc174eb7f192ab72ac7bc01a247fccc69249f2787f56
[INFO] running `Command { std: "docker" "start" "-a" "2e675d4e51d884cd6a09bc174eb7f192ab72ac7bc01a247fccc69249f2787f56", kill_on_drop: false }`
[INFO] [stderr]     Checking ironmonkey v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/ast.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/ast.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mem`
[INFO] [stdout]  --> src/lexer.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{mem, fmt};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::Node`
[INFO] [stdout]  --> src/parser.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::ast::Node;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/ast.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/ast.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mem`
[INFO] [stdout]  --> src/lexer.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{mem, fmt};
[INFO] [stdout]   |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `LetStatement`, `ReturnStatement`, and `ExpressionStatement` are never constructed
[INFO] [stdout]  --> src/ast.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum StatementType {
[INFO] [stdout]   |          ------------- variants in this enum
[INFO] [stdout] 6 |     LetStatement(LetStatement),
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 7 |     ReturnStatement(ReturnStatement),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 8 |     ExpressionStatement(ExpressionStatement),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Identifer` and `Illegal` are never constructed
[INFO] [stdout]   --> src/ast.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum ExpressionType {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 37 |     Identifer(Identifer),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     Illegal,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/ast.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl Identifer {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 124 |     pub fn new(token: Box<Token>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PrefixParseFn` is never used
[INFO] [stdout]   --> src/parser.rs:12:6
[INFO] [stdout]    |
[INFO] [stdout] 12 | type PrefixParseFn = fn() -> ExpressionType;
[INFO] [stdout]    |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `InfixParseFn` is never used
[INFO] [stdout]   --> src/parser.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type InfixParseFn = fn(ExpressionType) -> ExpressionType;
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/parser.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Parser {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser.rs:27:8
[INFO] [stdout]     |
[INFO] [stdout] 26  | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 27  |     fn new(lexer: Lexer) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41  |     fn errors(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45  |     fn peek_error(&mut self, token_type: &TokenType) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54  |     fn next_token(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59  |     fn expect_peek(&mut self, token: TokenType) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68  |     fn peek_token_is(&mut self, token: &TokenType) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72  |     fn cur_token_is(&mut self, token: TokenType) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78  |     fn parse_program(&mut self) -> Program {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88  |     fn parse_statement(&mut self) -> StatementType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn parse_let_statement(&mut self) -> StatementType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn parse_return_statement(&mut self) -> StatementType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn register_prefix(&mut self, token_type: TokenType, func: PrefixParseFn) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     fn register_infix(&mut self, token_type: TokenType, func: InfixParseFn) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn parse_expression_statement(&mut self) -> StatementType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn parse_expression(&mut self) -> ExpressionType {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OperatorPriority` is never used
[INFO] [stdout]    --> src/parser.rs:179:6
[INFO] [stdout]     |
[INFO] [stdout] 179 | enum OperatorPriority {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `discover_token_type` is never used
[INFO] [stdout]    --> src/parser.rs:189:4
[INFO] [stdout]     |
[INFO] [stdout] 189 | fn discover_token_type(token: &Option<Box<Token>>) -> TokenType {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prefix_parse_fns` and `infix_parse_fns` are never read
[INFO] [stdout]   --> src/parser.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct Parser {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     prefix_parse_fns: HashMap<TokenType, PrefixParseFn>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     infix_parse_fns: HashMap<TokenType, InfixParseFn>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Parser` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register_prefix` and `register_infix` are never used
[INFO] [stdout]    --> src/parser.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 26  | impl Parser {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn register_prefix(&mut self, token_type: TokenType, func: PrefixParseFn) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     fn register_infix(&mut self, token_type: TokenType, func: InfixParseFn) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OperatorPriority` is never used
[INFO] [stdout]    --> src/parser.rs:179:6
[INFO] [stdout]     |
[INFO] [stdout] 179 | enum OperatorPriority {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] running `Command { std: "docker" "inspect" "2e675d4e51d884cd6a09bc174eb7f192ab72ac7bc01a247fccc69249f2787f56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e675d4e51d884cd6a09bc174eb7f192ab72ac7bc01a247fccc69249f2787f56", kill_on_drop: false }`
[INFO] [stdout] 2e675d4e51d884cd6a09bc174eb7f192ab72ac7bc01a247fccc69249f2787f56
