[INFO] updating cached repository novoru/simia [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/novoru/simia [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/novoru/simia" "work/ex/pr-60162/sources/master#a850a426491e14186af2250549bf41256b5938d2/gh/novoru/simia"` [INFO] [stderr] Cloning into 'work/ex/pr-60162/sources/master#a850a426491e14186af2250549bf41256b5938d2/gh/novoru/simia'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/novoru/simia" "work/ex/pr-60162/sources/try#06a150c7d11500b41499224f165e9de1de096768/gh/novoru/simia"` [INFO] [stderr] Cloning into 'work/ex/pr-60162/sources/try#06a150c7d11500b41499224f165e9de1de096768/gh/novoru/simia'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] df2ac25c4b33f70f6c0e99003fe583f7e5654fb4 [INFO] sha for GitHub repo novoru/simia: df2ac25c4b33f70f6c0e99003fe583f7e5654fb4 [INFO] validating manifest of novoru/simia on toolchain master#a850a426491e14186af2250549bf41256b5938d2 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+a850a426491e14186af2250549bf41256b5938d2-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of novoru/simia on toolchain try#06a150c7d11500b41499224f165e9de1de096768 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+06a150c7d11500b41499224f165e9de1de096768-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing novoru/simia [INFO] finished frobbing novoru/simia [INFO] frobbed toml for novoru/simia written to work/ex/pr-60162/sources/master#a850a426491e14186af2250549bf41256b5938d2/gh/novoru/simia/Cargo.toml [INFO] started frobbing novoru/simia [INFO] finished frobbing novoru/simia [INFO] frobbed toml for novoru/simia written to work/ex/pr-60162/sources/try#06a150c7d11500b41499224f165e9de1de096768/gh/novoru/simia/Cargo.toml [INFO] crate novoru/simia already has a lockfile, it will not be regenerated [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+a850a426491e14186af2250549bf41256b5938d2-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+06a150c7d11500b41499224f165e9de1de096768-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking novoru/simia against master#a850a426491e14186af2250549bf41256b5938d2 for pr-60162 [INFO] running `"docker" "create" "-v" "/mnt/crater-raid/crater/work/local/target-dirs/pr-60162/worker-0/master#a850a426491e14186af2250549bf41256b5938d2:/opt/crater/target:rw,Z" "-v" "/mnt/crater-raid/crater/work/ex/pr-60162/sources/master#a850a426491e14186af2250549bf41256b5938d2/gh/novoru/simia:/opt/crater/workdir:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+a850a426491e14186af2250549bf41256b5938d2-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 80977d55def7e7112ab6837b1c74439a1c9e43836906cbcec2220c88a42e4470 [INFO] running `"docker" "start" "-a" "80977d55def7e7112ab6837b1c74439a1c9e43836906cbcec2220c88a42e4470"` [INFO] [stderr] Checking simia v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `Ast` [INFO] [stderr] --> src/repl.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast:: { Ast }; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `TokenKind` [INFO] [stderr] --> src/repl.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::token::{ TokenKind }; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Lexier` [INFO] [stderr] --> src/eval.rs:4:22 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::lexier::{ Lexier }; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Parser` [INFO] [stderr] --> src/eval.rs:6:22 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::parser::{ Parser }; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TokenKind` [INFO] [stderr] --> src/eval.rs:7:21 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::token::{ TokenKind }; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Ast` [INFO] [stderr] --> src/builtins.rs:1:19 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast::{ Ast }; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Ast` [INFO] [stderr] --> src/repl.rs:1:20 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast:: { Ast }; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `TokenKind` [INFO] [stderr] --> src/repl.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::token::{ TokenKind }; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TokenKind`, `Token` [INFO] [stderr] --> src/parser.rs:901:26 [INFO] [stderr] | [INFO] [stderr] 901 | use crate::token:: { TokenKind, Token}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Lexier` [INFO] [stderr] --> src/eval.rs:4:22 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::lexier::{ Lexier }; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Parser` [INFO] [stderr] --> src/eval.rs:6:22 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::parser::{ Parser }; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TokenKind` [INFO] [stderr] --> src/eval.rs:7:21 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::token::{ TokenKind }; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Ast` [INFO] [stderr] --> src/builtins.rs:1:19 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast::{ Ast }; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/parser.rs:461:17 [INFO] [stderr] | [INFO] [stderr] 456 | Ast => { [INFO] [stderr] | --- matches any value [INFO] [stderr] ... [INFO] [stderr] 461 | _ => return None, [INFO] [stderr] | ^ unreachable pattern [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `position` [INFO] [stderr] --> src/lexier.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | let position = self.position + 1; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_position` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `left_exp` is never read [INFO] [stderr] --> src/parser.rs:184:17 [INFO] [stderr] | [INFO] [stderr] 184 | let mut left_exp = Ast::Expression { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Ast` [INFO] [stderr] --> src/parser.rs:456:17 [INFO] [stderr] | [INFO] [stderr] 456 | Ast => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_Ast` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `string` is never read [INFO] [stderr] --> src/object.rs:53:25 [INFO] [stderr] | [INFO] [stderr] 53 | let mut string = String::new(); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `string` is never read [INFO] [stderr] --> src/object.rs:67:54 [INFO] [stderr] | [INFO] [stderr] 67 | Object::Array { elements } => {let mut string = String::new(); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `token` [INFO] [stderr] --> src/eval.rs:113:39 [INFO] [stderr] | [INFO] [stderr] 113 | Ast::ArrayLiteral { elements, token } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `function` [INFO] [stderr] --> src/eval.rs:419:30 [INFO] [stderr] | [INFO] [stderr] 419 | if let Object::Builtin { function } = builtins(value.clone()) { [INFO] [stderr] | ^^^^^^^^ help: try ignoring the field: `function: _` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | let mut value = match self.parse_expression(Precedence::Lowest) { [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:450:17 [INFO] [stderr] | [INFO] [stderr] 450 | let mut statement = match self.parse_statement() { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_call_arguments` [INFO] [stderr] --> src/parser.rs:555:5 [INFO] [stderr] | [INFO] [stderr] 555 | fn parse_call_arguments(&mut self) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_error` [INFO] [stderr] --> src/parser.rs:679:5 [INFO] [stderr] | [INFO] [stderr] 679 | fn parse_error(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_statements` [INFO] [stderr] --> src/eval.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | fn eval_statements(statements: Vec>, env: &mut Env) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `Ast` should have a snake case name [INFO] [stderr] --> src/parser.rs:456:17 [INFO] [stderr] | [INFO] [stderr] 456 | Ast => { [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `ast` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/eval.rs:463:8 [INFO] [stderr] | [INFO] [stderr] 463 | if idx < 0 || idx > max { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_comparisons)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/parser.rs:461:17 [INFO] [stderr] | [INFO] [stderr] 456 | Ast => { [INFO] [stderr] | --- matches any value [INFO] [stderr] ... [INFO] [stderr] 461 | _ => return None, [INFO] [stderr] | ^ unreachable pattern [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/parser.rs:994:13 [INFO] [stderr] | [INFO] [stderr] 994 | _ => { [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `position` [INFO] [stderr] --> src/lexier.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | let position = self.position + 1; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_position` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `left_exp` is never read [INFO] [stderr] --> src/parser.rs:184:17 [INFO] [stderr] | [INFO] [stderr] 184 | let mut left_exp = Ast::Expression { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Ast` [INFO] [stderr] --> src/parser.rs:456:17 [INFO] [stderr] | [INFO] [stderr] 456 | Ast => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_Ast` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `alternative` [INFO] [stderr] --> src/parser.rs:1089:89 [INFO] [stderr] | [INFO] [stderr] 1089 | Ast::IfExpression { ref token, ref condition, ref consequence, ref alternative } => { [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `alternative: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `token` [INFO] [stderr] --> src/parser.rs:1089:46 [INFO] [stderr] | [INFO] [stderr] 1089 | Ast::IfExpression { ref token, ref condition, ref consequence, ref alternative } => { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `token` [INFO] [stderr] --> src/parser.rs:1129:46 [INFO] [stderr] | [INFO] [stderr] 1129 | Ast::IfExpression { ref token, ref condition, ref consequence, ref alternative } => { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `token: _` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `string` is never read [INFO] [stderr] --> src/object.rs:53:25 [INFO] [stderr] | [INFO] [stderr] 53 | let mut string = String::new(); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `string` is never read [INFO] [stderr] --> src/object.rs:67:54 [INFO] [stderr] | [INFO] [stderr] 67 | Object::Array { elements } => {let mut string = String::new(); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `token` [INFO] [stderr] --> src/eval.rs:113:39 [INFO] [stderr] | [INFO] [stderr] 113 | Ast::ArrayLiteral { elements, token } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `token: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `function` [INFO] [stderr] --> src/eval.rs:419:30 [INFO] [stderr] | [INFO] [stderr] 419 | if let Object::Builtin { function } = builtins(value.clone()) { [INFO] [stderr] | ^^^^^^^^ help: try ignoring the field: `function: _` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/parser.rs:128:13 [INFO] [stderr] | [INFO] [stderr] 128 | let mut value = match self.parse_expression(Precedence::Lowest) { [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:450:17 [INFO] [stderr] | [INFO] [stderr] 450 | let mut statement = match self.parse_statement() { [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> tests/eval_test.rs:379:38 [INFO] [stderr] | [INFO] [stderr] 379 | Object::String { value } => (), [INFO] [stderr] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_call_arguments` [INFO] [stderr] --> src/parser.rs:555:5 [INFO] [stderr] | [INFO] [stderr] 555 | fn parse_call_arguments(&mut self) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_error` [INFO] [stderr] --> src/parser.rs:679:5 [INFO] [stderr] | [INFO] [stderr] 679 | fn parse_error(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_statements` [INFO] [stderr] --> src/eval.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | fn eval_statements(statements: Vec>, env: &mut Env) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `Ast` should have a snake case name [INFO] [stderr] --> src/parser.rs:456:17 [INFO] [stderr] | [INFO] [stderr] 456 | Ast => { [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `ast` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/eval.rs:463:8 [INFO] [stderr] | [INFO] [stderr] 463 | if idx < 0 || idx > max { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_comparisons)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.20s [INFO] running `"docker" "inspect" "80977d55def7e7112ab6837b1c74439a1c9e43836906cbcec2220c88a42e4470"` [INFO] running `"docker" "rm" "-f" "80977d55def7e7112ab6837b1c74439a1c9e43836906cbcec2220c88a42e4470"` [INFO] [stdout] 80977d55def7e7112ab6837b1c74439a1c9e43836906cbcec2220c88a42e4470