[INFO] cloning repository https://github.com/n8ta/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/n8ta/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fn8ta%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fn8ta%2Frlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1f34327c2fc1a3c8fc1ae62d10cc87cb02aecf7a [INFO] checking n8ta/rlox against master#db1fb85cff63ad5fffe435e17128f99f9e1d970c for pr-89056 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fn8ta%2Frlox" "/workspace/builds/worker-9/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/n8ta/rlox on toolchain db1fb85cff63ad5fffe435e17128f99f9e1d970c [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+db1fb85cff63ad5fffe435e17128f99f9e1d970c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/n8ta/rlox [INFO] finished tweaking git repo https://github.com/n8ta/rlox [INFO] tweaked toml for git repo https://github.com/n8ta/rlox written to /workspace/builds/worker-9/source/Cargo.toml [INFO] crate git repo https://github.com/n8ta/rlox already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+db1fb85cff63ad5fffe435e17128f99f9e1d970c" "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-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+db1fb85cff63ad5fffe435e17128f99f9e1d970c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 35dfd50fe49be6b8c3a84e3f1abefed7ffd8133eac867e079d74f39bc3bd6115 [INFO] running `Command { std: "docker" "start" "-a" "35dfd50fe49be6b8c3a84e3f1abefed7ffd8133eac867e079d74f39bc3bd6115", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "35dfd50fe49be6b8c3a84e3f1abefed7ffd8133eac867e079d74f39bc3bd6115", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "35dfd50fe49be6b8c3a84e3f1abefed7ffd8133eac867e079d74f39bc3bd6115", kill_on_drop: false }` [INFO] [stdout] 35dfd50fe49be6b8c3a84e3f1abefed7ffd8133eac867e079d74f39bc3bd6115 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+db1fb85cff63ad5fffe435e17128f99f9e1d970c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7224457c42fac48fd5f2d7f114424b003bdc4cc484617518ee103a7b6c23b5a2 [INFO] running `Command { std: "docker" "start" "-a" "7224457c42fac48fd5f2d7f114424b003bdc4cc484617518ee103a7b6c23b5a2", kill_on_drop: false }` [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking colored v2.0.0 [INFO] [stderr] Checking lox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::parser::Expr::Logical` [INFO] [stdout] --> src/parser/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::parser::Expr::Logical; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> src/parser/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/parser/mod.rs:275:15 [INFO] [stdout] | [INFO] [stdout] 275 | while (self.matches(vec![Token::OR])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 275 - while (self.matches(vec![Token::OR])) { [INFO] [stdout] 275 + while self.matches(vec![Token::OR]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BinOp`, `Stmt`, `UnaryOp`, `parse` [INFO] [stdout] --> src/parser/tests.rs:3:42 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::parser::{ExprInContext, Expr, parse, ExprTy, Parser, UnaryOp, BinOp, Stmt, Tokens}; [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::parser::Expr::Logical` [INFO] [stdout] --> src/parser/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::parser::Expr::Logical; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `colored::*` [INFO] [stdout] --> src/parser/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use colored::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> src/parser/mod.rs:275:15 [INFO] [stdout] | [INFO] [stdout] 275 | while (self.matches(vec![Token::OR])) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 275 - while (self.matches(vec![Token::OR])) { [INFO] [stdout] 275 + while self.matches(vec![Token::OR]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BOOL` [INFO] [stdout] --> src/interpreter.rs:6:36 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::scanner::Literal::{NIL, BOOL}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Display`, `Formatter` [INFO] [stdout] --> src/interpreter.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use std::fmt::{Display, Formatter}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ordering` [INFO] [stdout] --> src/source_ref.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{min, max, Ordering}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pointer` [INFO] [stdout] --> src/source_ref.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{Display, Formatter, Pointer}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/source_ref.rs:90:55 [INFO] [stdout] | [INFO] [stdout] 90 | let before = self.src.prior_line(self.offset);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Source` [INFO] [stdout] --> src/environment.rs:4:36 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::source_ref::{SourceRef, Source}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `read_dir`, `read_to_string` [INFO] [stdout] --> src/e2e_tests.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fs::{read_to_string, read_dir}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/e2e_tests.rs:2:17 [INFO] [stdout] | [INFO] [stdout] 2 | use std::path::{Path}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::Command` [INFO] [stdout] --> src/e2e_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::process::Command; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BOOL` [INFO] [stdout] --> src/interpreter.rs:6:36 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::scanner::Literal::{NIL, BOOL}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Display`, `Formatter` [INFO] [stdout] --> src/interpreter.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | use std::fmt::{Display, Formatter}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ordering` [INFO] [stdout] --> src/source_ref.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::{min, max, Ordering}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Pointer` [INFO] [stdout] --> src/source_ref.rs:3:36 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fmt::{Display, Formatter, Pointer}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/source_ref.rs:90:55 [INFO] [stdout] | [INFO] [stdout] 90 | let before = self.src.prior_line(self.offset);; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `CLASS` [INFO] [stdout] --> src/scanner.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | CLASS, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `test_scanner` [INFO] [stdout] --> src/scanner.rs:379:4 [INFO] [stdout] | [INFO] [stdout] 379 | fn test_scanner(src: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `parse_expr` [INFO] [stdout] --> src/parser/tests.rs:8:4 [INFO] [stdout] | [INFO] [stdout] 8 | fn parse_expr(tokens: Tokens, source: Rc) -> ExprTy { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `help` [INFO] [stdout] --> src/parser/tests.rs:14:4 [INFO] [stdout] | [INFO] [stdout] 14 | fn help(str: &str) -> ExprTy { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `mk_expr_test` [INFO] [stdout] --> src/parser/tests.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn mk_expr_test(expr: Expr) -> ExprTy { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `num` [INFO] [stdout] --> src/parser/tests.rs:61:4 [INFO] [stdout] | [INFO] [stdout] 61 | fn num(fl: f64) -> ExprTy { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `simple` [INFO] [stdout] --> src/source_ref.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn simple() -> Source { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `simple` [INFO] [stdout] --> src/source_ref.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn simple() -> SourceRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/e2e_tests.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut stderr = String::from_utf8(res.stderr).unwrap(); [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: variant is never constructed: `CLASS` [INFO] [stdout] --> src/scanner.rs:108:5 [INFO] [stdout] | [INFO] [stdout] 108 | CLASS, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `simple` [INFO] [stdout] --> src/source_ref.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn simple() -> SourceRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.56s [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7224457c42fac48fd5f2d7f114424b003bdc4cc484617518ee103a7b6c23b5a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7224457c42fac48fd5f2d7f114424b003bdc4cc484617518ee103a7b6c23b5a2", kill_on_drop: false }` [INFO] [stdout] 7224457c42fac48fd5f2d7f114424b003bdc4cc484617518ee103a7b6c23b5a2