[INFO] updating cached repository https://github.com/magurotuna/rust-monkey [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e83d4ab2ee85255de640c6c35874d5e11427b75c [INFO] checking magurotuna/rust-monkey against try#d7b51666469c792a8a3f40849607739bae1e705e for pr-71665 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmagurotuna%2Frust-monkey" "/workspace/builds/worker-1/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/magurotuna/rust-monkey on toolchain d7b51666469c792a8a3f40849607739bae1e705e [INFO] running `"/workspace/cargo-home/bin/cargo" "+d7b51666469c792a8a3f40849607739bae1e705e" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/magurotuna/rust-monkey [INFO] finished tweaking git repo https://github.com/magurotuna/rust-monkey [INFO] tweaked toml for git repo https://github.com/magurotuna/rust-monkey written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/magurotuna/rust-monkey already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+d7b51666469c792a8a3f40849607739bae1e705e" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+d7b51666469c792a8a3f40849607739bae1e705e" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 0a93f20ac86ed3cd1bb77389220cffb18f7ad7d92c4eea06b036a07c3d5f7479 [INFO] running `"docker" "start" "-a" "0a93f20ac86ed3cd1bb77389220cffb18f7ad7d92c4eea06b036a07c3d5f7479"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.11 [INFO] [stderr] Compiling anyhow v1.0.26 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking whoami v0.7.0 [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling thiserror-impl v1.0.9 [INFO] [stderr] Compiling derive-new v0.5.8 [INFO] [stderr] Checking thiserror v1.0.9 [INFO] [stderr] Checking rust-monkey v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused imports: `BlockStatement`, `FunctionParameters` [INFO] [stderr] --> src/evaluator.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast::{BlockStatement, Expression, FunctionParameters, Identifier, Node, Statement}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BlockStatement`, `FunctionParameters` [INFO] [stderr] --> src/evaluator.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast::{BlockStatement, Expression, FunctionParameters, Identifier, Node, Statement}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ident` [INFO] [stderr] --> src/evaluator.rs:17:35 [INFO] [stderr] | [INFO] [stderr] 17 | Statement::Let(Identifier(ident), expr) => todo!(), [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expr` [INFO] [stderr] --> src/evaluator.rs:17:43 [INFO] [stderr] | [INFO] [stderr] 17 | Statement::Let(Identifier(ident), expr) => todo!(), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ident` [INFO] [stderr] --> src/evaluator.rs:25:43 [INFO] [stderr] | [INFO] [stderr] 25 | Expression::Identifier(Identifier(ident)) => todo!(), [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expression` [INFO] [stderr] --> src/ast.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Expression(Expression), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval` [INFO] [stderr] --> src/evaluator.rs:4:8 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn eval(node: Node) -> Object { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_statement` [INFO] [stderr] --> src/evaluator.rs:15:4 [INFO] [stderr] | [INFO] [stderr] 15 | fn eval_statement(statement: &Statement) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_expression` [INFO] [stderr] --> src/evaluator.rs:23:4 [INFO] [stderr] | [INFO] [stderr] 23 | fn eval_expression(expression: &Expression) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_prefix_expression` [INFO] [stderr] --> src/evaluator.rs:64:4 [INFO] [stderr] | [INFO] [stderr] 64 | fn eval_prefix_expression(operator: &str, right: Object) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_bang_operator_expression` [INFO] [stderr] --> src/evaluator.rs:72:4 [INFO] [stderr] | [INFO] [stderr] 72 | fn eval_bang_operator_expression(right: Object) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_minus_operator_expression` [INFO] [stderr] --> src/evaluator.rs:81:4 [INFO] [stderr] | [INFO] [stderr] 81 | fn eval_minus_operator_expression(right: Object) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_infix_expression` [INFO] [stderr] --> src/evaluator.rs:88:4 [INFO] [stderr] | [INFO] [stderr] 88 | fn eval_infix_expression(operator: &str, left: Object, right: Object) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_integer_infix_expression` [INFO] [stderr] --> src/evaluator.rs:100:4 [INFO] [stderr] | [INFO] [stderr] 100 | fn eval_integer_infix_expression(operator: &str, left_val: i64, right_val: i64) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_boolean_infix_expression` [INFO] [stderr] --> src/evaluator.rs:114:4 [INFO] [stderr] | [INFO] [stderr] 114 | fn eval_boolean_infix_expression(operator: &str, left_val: bool, right_val: bool) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Integer` [INFO] [stderr] --> src/object.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | Integer(i64), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Boolean` [INFO] [stderr] --> src/object.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | Boolean(bool), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Null` [INFO] [stderr] --> src/object.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Null, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `ObjectType` [INFO] [stderr] --> src/object.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | type ObjectType = &'static str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_type` [INFO] [stderr] --> src/object.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn get_type(&self) -> ObjectType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `is_integer` [INFO] [stderr] --> src/object.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn is_integer(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 20 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ident` [INFO] [stderr] --> src/evaluator.rs:17:35 [INFO] [stderr] | [INFO] [stderr] 17 | Statement::Let(Identifier(ident), expr) => todo!(), [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expr` [INFO] [stderr] --> src/evaluator.rs:17:43 [INFO] [stderr] | [INFO] [stderr] 17 | Statement::Let(Identifier(ident), expr) => todo!(), [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_expr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ident` [INFO] [stderr] --> src/evaluator.rs:25:43 [INFO] [stderr] | [INFO] [stderr] 25 | Expression::Identifier(Identifier(ident)) => todo!(), [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_ident` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:431:17 [INFO] [stderr] | [INFO] [stderr] 431 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:461:13 [INFO] [stderr] | [INFO] [stderr] 461 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:515:17 [INFO] [stderr] | [INFO] [stderr] 515 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:540:13 [INFO] [stderr] | [INFO] [stderr] 540 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:568:13 [INFO] [stderr] | [INFO] [stderr] 568 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:604:17 [INFO] [stderr] | [INFO] [stderr] 604 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:643:17 [INFO] [stderr] | [INFO] [stderr] 643 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:712:17 [INFO] [stderr] | [INFO] [stderr] 712 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:780:17 [INFO] [stderr] | [INFO] [stderr] 780 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:795:13 [INFO] [stderr] | [INFO] [stderr] 795 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:855:17 [INFO] [stderr] | [INFO] [stderr] 855 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:889:13 [INFO] [stderr] | [INFO] [stderr] 889 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:923:13 [INFO] [stderr] | [INFO] [stderr] 923 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:970:13 [INFO] [stderr] | [INFO] [stderr] 970 | let mut parser = Parser::new(lexer); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expression` [INFO] [stderr] --> src/ast.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Expression(Expression), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: type alias is never used: `ObjectType` [INFO] [stderr] --> src/object.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | type ObjectType = &'static str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_type` [INFO] [stderr] --> src/object.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn get_type(&self) -> ObjectType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `is_integer` [INFO] [stderr] --> src/object.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn is_integer(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_typename` [INFO] [stderr] --> src/parser.rs:1097:8 [INFO] [stderr] | [INFO] [stderr] 1097 | fn print_typename(_: T) -> &'static str { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/parser.rs:479:38 [INFO] [stderr] | [INFO] [stderr] 479 | .zip(expected_errors.into_iter()) [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(array_into_iter)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: this method call currently resolves to `<&[T; N] as IntoIterator>::into_iter` (due to autoref coercions), but that might change in the future when `IntoIterator` impls for arrays are added. [INFO] [stderr] --> src/parser.rs:710:39 [INFO] [stderr] | [INFO] [stderr] 710 | for infix_test in infix_tests.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: use `.iter()` instead of `.into_iter()` to avoid ambiguity: `iter` [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #66145 [INFO] [stderr] [INFO] [stderr] warning: 25 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 18.55s [INFO] running `"docker" "inspect" "0a93f20ac86ed3cd1bb77389220cffb18f7ad7d92c4eea06b036a07c3d5f7479"` [INFO] running `"docker" "rm" "-f" "0a93f20ac86ed3cd1bb77389220cffb18f7ad7d92c4eea06b036a07c3d5f7479"` [INFO] [stdout] 0a93f20ac86ed3cd1bb77389220cffb18f7ad7d92c4eea06b036a07c3d5f7479