[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-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/novoru/simia"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/novoru/simia'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/novoru/simia" "work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/novoru/simia"` [INFO] [stderr] Cloning into 'work/ex/pr-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/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#e305df1846a6d985315917ae0c81b74af8b4e641 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of novoru/simia on toolchain try#99a7498759a22b5684caf798a98b7e90ad9d2443 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-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-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/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-60039-1/sources/try#99a7498759a22b5684caf798a98b7e90ad9d2443/gh/novoru/simia/Cargo.toml [INFO] crate novoru/simia already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+99a7498759a22b5684caf798a98b7e90ad9d2443-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking novoru/simia against master#e305df1846a6d985315917ae0c81b74af8b4e641 for pr-60039-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-60039-1/worker-6/master#e305df1846a6d985315917ae0c81b74af8b4e641:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-60039-1/sources/master#e305df1846a6d985315917ae0c81b74af8b4e641/gh/novoru/simia:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/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" "+e305df1846a6d985315917ae0c81b74af8b4e641-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] badfdf66b2b968c9e383ec45e4266e35a0c77770af453c6b2fa918486cfb0097 [INFO] running `"docker" "start" "-a" "badfdf66b2b968c9e383ec45e4266e35a0c77770af453c6b2fa918486cfb0097"` [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 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: 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: 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: 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: 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: 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: 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] Finished dev [unoptimized + debuginfo] target(s) in 1.70s [INFO] running `"docker" "inspect" "badfdf66b2b968c9e383ec45e4266e35a0c77770af453c6b2fa918486cfb0097"` [INFO] running `"docker" "rm" "-f" "badfdf66b2b968c9e383ec45e4266e35a0c77770af453c6b2fa918486cfb0097"` [INFO] [stdout] badfdf66b2b968c9e383ec45e4266e35a0c77770af453c6b2fa918486cfb0097