[INFO] cloning repository https://github.com/rlcurrall/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rlcurrall/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frlcurrall%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frlcurrall%2Frlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fb276ad07ebaeb270af462e31e76aba6a29ca8c9 [INFO] checking rlcurrall/rlox against master#e9182f195b8505c87c4bd055b9f6e114ccda0981 for pr-144098 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frlcurrall%2Frlox" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/rlcurrall/rlox [INFO] finished tweaking git repo https://github.com/rlcurrall/rlox [INFO] tweaked toml for git repo https://github.com/rlcurrall/rlox written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rlcurrall/rlox on toolchain e9182f195b8505c87c4bd055b9f6e114ccda0981 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e9182f195b8505c87c4bd055b9f6e114ccda0981" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/rlcurrall/rlox 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" "+e9182f195b8505c87c4bd055b9f6e114ccda0981" "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-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+e9182f195b8505c87c4bd055b9f6e114ccda0981" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 27d51b86d2b85cc071d5b7969ca87a185a1a3aa25b4445ef6eb95f1706c4b26e [INFO] running `Command { std: "docker" "start" "-a" "27d51b86d2b85cc071d5b7969ca87a185a1a3aa25b4445ef6eb95f1706c4b26e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "27d51b86d2b85cc071d5b7969ca87a185a1a3aa25b4445ef6eb95f1706c4b26e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27d51b86d2b85cc071d5b7969ca87a185a1a3aa25b4445ef6eb95f1706c4b26e", kill_on_drop: false }` [INFO] [stdout] 27d51b86d2b85cc071d5b7969ca87a185a1a3aa25b4445ef6eb95f1706c4b26e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+e9182f195b8505c87c4bd055b9f6e114ccda0981" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c7601110e05addf1e938a485778e004a019c4e212baf7361203f311de295b9b9 [INFO] running `Command { std: "docker" "start" "-a" "c7601110e05addf1e938a485778e004a019c4e212baf7361203f311de295b9b9", kill_on_drop: false }` [INFO] [stderr] Checking rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/parser.rs:408:17 [INFO] [stdout] | [INFO] [stdout] 399 | / loop { [INFO] [stdout] 400 | | if arguments.len() > 255 { [INFO] [stdout] 401 | | // todo - improve this error [INFO] [stdout] 402 | | return Err(RuntimeError::general_error("Too many arguments")); [INFO] [stdout] ... | [INFO] [stdout] 405 | | arguments.push(self.assignment()?); [INFO] [stdout] 406 | | } [INFO] [stdout] | |_________________- any code following this expression is unreachable [INFO] [stdout] 407 | [INFO] [stdout] 408 | todo!(); [INFO] [stdout] | ^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/parser.rs:408:17 [INFO] [stdout] | [INFO] [stdout] 399 | / loop { [INFO] [stdout] 400 | | if arguments.len() > 255 { [INFO] [stdout] 401 | | // todo - improve this error [INFO] [stdout] 402 | | return Err(RuntimeError::general_error("Too many arguments")); [INFO] [stdout] ... | [INFO] [stdout] 405 | | arguments.push(self.assignment()?); [INFO] [stdout] 406 | | } [INFO] [stdout] | |_________________- any code following this expression is unreachable [INFO] [stdout] 407 | [INFO] [stdout] 408 | todo!(); [INFO] [stdout] | ^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] = note: this warning originates in the macro `todo` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `offset` is never read [INFO] [stdout] --> src/error.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 26 | ScanError { [INFO] [stdout] | --------- field in this variant [INFO] [stdout] ... [INFO] [stdout] 29 | offset: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ParseError` and `InvalidArgumentTarget` are never constructed [INFO] [stdout] --> src/error.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum RuntimeError { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 32 | ParseError(String, Token), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 33 | InvalidArgumentTarget(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `general_error` is never used [INFO] [stdout] --> src/error.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 37 | impl RuntimeError { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub(crate) fn general_error(message: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/parser.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/parser.rs:108:19 [INFO] [stdout] | [INFO] [stdout] 107 | impl Parser { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 108 | pub(crate) fn new(tokens: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub(crate) fn parse(&mut self) -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn previous(&self) -> Token { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | fn current(&self) -> Token { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | fn advance(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn is_match(&mut self, types: &[TokenValue]) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn is_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn peek(&self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn consume(&mut self, expected: TokenValue, message: &str) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | fn consume_identifier(&mut self, message: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn declaration(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn block(&mut self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | fn expression_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | fn expression(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | fn assignment(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | fn logic_or(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn logic_and(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | fn equality(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | fn comparison(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | fn term(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | fn factor(&mut self) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | fn unary(&mut self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 391 | fn call(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | fn primary(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Stmt` is never used [INFO] [stdout] --> src/parser.rs:462:10 [INFO] [stdout] | [INFO] [stdout] 462 | pub enum Stmt { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Expr` is never used [INFO] [stdout] --> src/parser.rs:468:10 [INFO] [stdout] | [INFO] [stdout] 468 | pub enum Expr { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `offset` is never read [INFO] [stdout] --> src/error.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 26 | ScanError { [INFO] [stdout] | --------- field in this variant [INFO] [stdout] ... [INFO] [stdout] 29 | offset: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Literal` is never used [INFO] [stdout] --> src/parser.rs:524:10 [INFO] [stdout] | [INFO] [stdout] 524 | pub enum Literal { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `value`, `lexeme`, and `line` are never read [INFO] [stdout] --> src/token.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Token { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 5 | pub value: TokenValue, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | pub lexeme: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ParseError` and `InvalidArgumentTarget` are never constructed [INFO] [stdout] --> src/error.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum RuntimeError { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 32 | ParseError(String, Token), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 33 | InvalidArgumentTarget(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `general_error` is never used [INFO] [stdout] --> src/error.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 37 | impl RuntimeError { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub(crate) fn general_error(message: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/parser.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) struct Parser { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/parser.rs:108:19 [INFO] [stdout] | [INFO] [stdout] 107 | impl Parser { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 108 | pub(crate) fn new(tokens: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub(crate) fn parse(&mut self) -> Result> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | fn previous(&self) -> Token { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | fn current(&self) -> Token { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | fn advance(&mut self) -> Token { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | fn is_match(&mut self, types: &[TokenValue]) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn is_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn peek(&self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn consume(&mut self, expected: TokenValue, message: &str) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | fn consume_identifier(&mut self, message: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | fn declaration(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | fn block(&mut self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | fn expression_statement(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | fn expression(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | fn assignment(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | fn logic_or(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn logic_and(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | fn equality(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | fn comparison(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | fn term(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | fn factor(&mut self) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | fn unary(&mut self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 391 | fn call(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | fn primary(&mut self) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Stmt` is never used [INFO] [stdout] --> src/parser.rs:462:10 [INFO] [stdout] | [INFO] [stdout] 462 | pub enum Stmt { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Expr` is never used [INFO] [stdout] --> src/parser.rs:468:10 [INFO] [stdout] | [INFO] [stdout] 468 | pub enum Expr { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Literal` is never used [INFO] [stdout] --> src/parser.rs:524:10 [INFO] [stdout] | [INFO] [stdout] 524 | pub enum Literal { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `value`, `lexeme`, and `line` are never read [INFO] [stdout] --> src/token.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Token { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 5 | pub value: TokenValue, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | pub lexeme: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Token` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] running `Command { std: "docker" "inspect" "c7601110e05addf1e938a485778e004a019c4e212baf7361203f311de295b9b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c7601110e05addf1e938a485778e004a019c4e212baf7361203f311de295b9b9", kill_on_drop: false }` [INFO] [stdout] c7601110e05addf1e938a485778e004a019c4e212baf7361203f311de295b9b9