[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 try#e117153a45c546e883c1f91d82611775fcaeffe0 for pr-146470
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F44smkn%2Fironmonkey" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[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-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/44smkn/ironmonkey on toolchain e117153a45c546e883c1f91d82611775fcaeffe0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+e117153a45c546e883c1f91d82611775fcaeffe0" "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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0c6af181d4c4630875eea033a876c97958690ebeb0aac2908e9763a85f696082
[INFO] running `Command { std: "docker" "start" "-a" "0c6af181d4c4630875eea033a876c97958690ebeb0aac2908e9763a85f696082", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0c6af181d4c4630875eea033a876c97958690ebeb0aac2908e9763a85f696082", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0c6af181d4c4630875eea033a876c97958690ebeb0aac2908e9763a85f696082", kill_on_drop: false }`
[INFO] [stdout] 0c6af181d4c4630875eea033a876c97958690ebeb0aac2908e9763a85f696082
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+e117153a45c546e883c1f91d82611775fcaeffe0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 48b5246c48cdcdb0d75ce5b1ae0c46c78f81e16941d39d46ed2a7f16dcf882c1
[INFO] running `Command { std: "docker" "start" "-a" "48b5246c48cdcdb0d75ce5b1ae0c46c78f81e16941d39d46ed2a7f16dcf882c1", 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: enum `StatementType` is never used
[INFO] [stdout]  --> src/ast.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum StatementType {
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExpressionType` is never used
[INFO] [stdout]   --> src/ast.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum ExpressionType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Node` is never used
[INFO] [stdout]   --> src/ast.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub trait Node {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Program` is never used
[INFO] [stdout]   --> src/ast.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub type Program = Vec<StatementType>;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LetStatement` is never constructed
[INFO] [stdout]   --> src/ast.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct LetStatement {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReturnStatement` is never constructed
[INFO] [stdout]   --> src/ast.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct ReturnStatement {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExpressionStatement` is never constructed
[INFO] [stdout]    --> src/ast.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct ExpressionStatement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Identifer` is never constructed
[INFO] [stdout]    --> src/ast.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct Identifer {
[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: field `literal` is never read
[INFO] [stdout]  --> src/token.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Token {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 5 |     pub token_type: TokenType,
[INFO] [stdout] 6 |     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: method `string` is never used
[INFO] [stdout]   --> src/ast.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub trait Node {
[INFO] [stdout]    |           ---- method in this trait
[INFO] [stdout] 42 |     fn token_literal(&self) -> String;
[INFO] [stdout] 43 |     fn string(&self) -> String;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]   --> src/ast.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct LetStatement {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub value: ExpressionType,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]   --> src/ast.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct ReturnStatement {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 84 |     pub token: Box<Token>,
[INFO] [stdout] 85 |     pub value: ExpressionType,
[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] 
[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.23s
[INFO] running `Command { std: "docker" "inspect" "48b5246c48cdcdb0d75ce5b1ae0c46c78f81e16941d39d46ed2a7f16dcf882c1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48b5246c48cdcdb0d75ce5b1ae0c46c78f81e16941d39d46ed2a7f16dcf882c1", kill_on_drop: false }`
[INFO] [stdout] 48b5246c48cdcdb0d75ce5b1ae0c46c78f81e16941d39d46ed2a7f16dcf882c1
