[INFO] cloning repository https://github.com/darricheng/rusty-write-interpreter-in-go [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/darricheng/rusty-write-interpreter-in-go" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdarricheng%2Frusty-write-interpreter-in-go", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdarricheng%2Frusty-write-interpreter-in-go'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c74005d13c1d7f5926cd6f9d893cc2fe979e4270 [INFO] checking darricheng/rusty-write-interpreter-in-go against try#a0cd57eba5d417638d3351ba13fc414ad1a24bec for pr-134688 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdarricheng%2Frusty-write-interpreter-in-go" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/darricheng/rusty-write-interpreter-in-go on toolchain a0cd57eba5d417638d3351ba13fc414ad1a24bec [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a0cd57eba5d417638d3351ba13fc414ad1a24bec" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/darricheng/rusty-write-interpreter-in-go [INFO] finished tweaking git repo https://github.com/darricheng/rusty-write-interpreter-in-go [INFO] tweaked toml for git repo https://github.com/darricheng/rusty-write-interpreter-in-go written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/darricheng/rusty-write-interpreter-in-go 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" "+a0cd57eba5d417638d3351ba13fc414ad1a24bec" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+a0cd57eba5d417638d3351ba13fc414ad1a24bec" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a6a20ed8412ad2dedae8d97b312bc4fd7946ebdf019c48452faadfa094a151f7 [INFO] running `Command { std: "docker" "start" "-a" "a6a20ed8412ad2dedae8d97b312bc4fd7946ebdf019c48452faadfa094a151f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a6a20ed8412ad2dedae8d97b312bc4fd7946ebdf019c48452faadfa094a151f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a6a20ed8412ad2dedae8d97b312bc4fd7946ebdf019c48452faadfa094a151f7", kill_on_drop: false }` [INFO] [stdout] a6a20ed8412ad2dedae8d97b312bc4fd7946ebdf019c48452faadfa094a151f7 [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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+a0cd57eba5d417638d3351ba13fc414ad1a24bec" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9b789bb5bdf4cd9ded8dd6ad7a955ffe136e0ae97c78a3f170a88092a13a7872 [INFO] running `Command { std: "docker" "start" "-a" "9b789bb5bdf4cd9ded8dd6ad7a955ffe136e0ae97c78a3f170a88092a13a7872", kill_on_drop: false }` [INFO] [stderr] Checking rusty-monkey v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variants `Let`, `Return`, and `Expression` are never constructed [INFO] [stdout] --> src/ast.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Statement { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 13 | Let(LetStatement), [INFO] [stdout] | ^^^ [INFO] [stdout] 14 | Return(ReturnStatement), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | Expression(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] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 70 | impl LetStatement { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 71 | pub fn new(token: Token, name: IdentifierStruct, value: Option) -> LetStatement { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl ReturnStatement { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 86 | pub fn new(token: Token, value: Option) -> ReturnStatement { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 96 | impl ExpressionStatement { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 97 | pub fn new(token: Token, expression: Option) -> ExpressionStatement { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Identifier`, `IntegerLiteral`, `PrefixExpression`, and `InfixExpression` are never constructed [INFO] [stdout] --> src/ast.rs:107:5 [INFO] [stdout] | [INFO] [stdout] 106 | pub enum Expression { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 107 | Identifier(IdentifierStruct), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 108 | IntegerLiteral(IntegerLiteralStruct), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 109 | PrefixExpression(PrefixExpressionStruct), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 110 | InfixExpression(InfixExpressionStruct), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expression` 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 `get_expression` is never used [INFO] [stdout] --> src/ast.rs:113:12 [INFO] [stdout] | [INFO] [stdout] 112 | impl Expression { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 113 | pub fn get_expression(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 166 | impl IdentifierStruct { [INFO] [stdout] | --------------------- associated function in this implementation [INFO] [stdout] 167 | pub fn new(token: Token, value: String) -> IdentifierStruct { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast.rs:178:12 [INFO] [stdout] | [INFO] [stdout] 177 | impl IntegerLiteralStruct { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 178 | pub fn new(token: Token, value: Option) -> IntegerLiteralStruct { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 189 | impl PrefixExpressionStruct { [INFO] [stdout] | --------------------------- associated function in this implementation [INFO] [stdout] 190 | pub fn new(token: Token, operator: String, right: Expression) -> PrefixExpressionStruct { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 206 | impl InfixExpressionStruct { [INFO] [stdout] | -------------------------- associated function in this implementation [INFO] [stdout] 207 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ast.rs:229:12 [INFO] [stdout] | [INFO] [stdout] 228 | impl Program { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 229 | pub fn new() -> Program { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOWEST` is never used [INFO] [stdout] --> src/parser.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const LOWEST: i32 = 1; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EQUALS` is never used [INFO] [stdout] --> src/parser.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const EQUALS: i32 = 2; // == [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LESSGREATER` is never used [INFO] [stdout] --> src/parser.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const LESSGREATER: i32 = 3; // > or < [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SUM` is never used [INFO] [stdout] --> src/parser.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const SUM: i32 = 4; // + [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRODUCT` is never used [INFO] [stdout] --> src/parser.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const PRODUCT: i32 = 5; // * [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PREFIX` is never used [INFO] [stdout] --> src/parser.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const PREFIX: i32 = 6; // -X or !X [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CALL` is never used [INFO] [stdout] --> src/parser.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const CALL: i32 = 7; // my_function(X) [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParserError` is never constructed [INFO] [stdout] --> src/parser.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct ParserError(String); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/parser.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 21 | impl ParserError { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 22 | fn new(error: String) -> ParserError { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/parser.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/parser.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 34 | impl Parser { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 35 | fn new(mut l: Lexer) -> Parser { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | fn errors(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn peek_error(&mut self, t: TokenType) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn next_token(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn parse_program(&mut self) -> Program { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn cur_token_is(&self, t: TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | fn peek_token_is(&self, t: TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | fn expect_peek(&mut self, t: TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | fn parse_statement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | fn parse_let_statement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | fn parse_return_statement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | fn parse_expression_statement(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | fn parse_expression(&mut self, precedence: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn prefix_parse_fns(&mut self, token_type: TokenType) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn parse_identifier(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn parse_integer_literal(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | fn no_prefix_parse_fn_error(&mut self, t: TokenType) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn parse_prefix_expression(&mut self) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | fn infix_parse_fns( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | fn check_infix_parse_fns(token_type: TokenType) -> Option<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | fn parse_infix_expression(&mut self, left: Expression) -> Expression { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | fn precedences(token_type: TokenType) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | fn peek_precedence(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | fn cur_precedence(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CALL` is never used [INFO] [stdout] --> src/parser.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const CALL: i32 = 7; // my_function(X) [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.14s [INFO] running `Command { std: "docker" "inspect" "9b789bb5bdf4cd9ded8dd6ad7a955ffe136e0ae97c78a3f170a88092a13a7872", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9b789bb5bdf4cd9ded8dd6ad7a955ffe136e0ae97c78a3f170a88092a13a7872", kill_on_drop: false }` [INFO] [stdout] 9b789bb5bdf4cd9ded8dd6ad7a955ffe136e0ae97c78a3f170a88092a13a7872