[INFO] cloning repository stwen77/interpreter [INFO] running `"git" "clone" "--bare" "git://github.com/stwen77/interpreter.git" "work/cache/sources/gh/stwen77/interpreter"` [INFO] [stderr] Cloning into bare repository 'work/cache/sources/gh/stwen77/interpreter'... [INFO] running `"git" "clone" "work/cache/sources/gh/stwen77/interpreter" "work/ex/beta-1.37-6/sources/1.36.0/gh/stwen77/interpreter"` [INFO] [stderr] Cloning into 'work/ex/beta-1.37-6/sources/1.36.0/gh/stwen77/interpreter'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/stwen77/interpreter" "work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/stwen77/interpreter"` [INFO] [stderr] Cloning into 'work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/stwen77/interpreter'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6f29cecd76e3d05ffac6be9e9ef6e26b78af63cc [INFO] sha for GitHub repo stwen77/interpreter: 6f29cecd76e3d05ffac6be9e9ef6e26b78af63cc [INFO] validating manifest of stwen77/interpreter on toolchain 1.36.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.36.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of stwen77/interpreter on toolchain beta-2019-07-23 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-07-23" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing stwen77/interpreter [INFO] finished frobbing stwen77/interpreter [INFO] frobbed toml for stwen77/interpreter written to work/ex/beta-1.37-6/sources/1.36.0/gh/stwen77/interpreter/Cargo.toml [INFO] started frobbing stwen77/interpreter [INFO] finished frobbing stwen77/interpreter [INFO] frobbed toml for stwen77/interpreter written to work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/stwen77/interpreter/Cargo.toml [INFO] crate stwen77/interpreter already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.36.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-07-23" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing stwen77/interpreter against 1.36.0 for beta-1.37-6 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-4/1.36.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/1.36.0/gh/stwen77/interpreter:/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=warn" "-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" "+1.36.0" "build" "--frozen"` [INFO] [stdout] 8d0bb42d202a2cb8e08d92a795c519b4120c845fdc607d5bc45209fd325bedff [INFO] running `"docker" "start" "-a" "8d0bb42d202a2cb8e08d92a795c519b4120c845fdc607d5bc45209fd325bedff"` [INFO] [stderr] Compiling interpreter v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `Deref` [INFO] [stderr] --> src/module/engine.rs:5:44 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::{Add, BitAnd, BitOr, BitXor, Deref, Div, Mul, Neg, Rem, Shl, Shr, Sub}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 561 | reg_op!(engine, "+", add, i32, i64, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 561 | reg_op!(engine, "+", add, i32, i64, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 562 | reg_op!(engine, "-", sub, i32, i64, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 563 | reg_op!(engine, "*", mul, i32, i64, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 564 | reg_op!(engine, "/", div, i32, i64, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 566 | reg_cmp!(engine, "<", lt, i32, i64, u32, u64, String, f64); [INFO] [stderr] | ----------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 567 | reg_cmp!(engine, "<=", lte, i32, i64, u32, u64, String, f64); [INFO] [stderr] | ------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 568 | reg_cmp!(engine, ">", gt, i32, i64, u32, u64, String, f64); [INFO] [stderr] | ----------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 569 | reg_cmp!(engine, ">=", gte, i32, i64, u32, u64, String, f64); [INFO] [stderr] | ------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 570 | reg_cmp!(engine, "==", eq, i32, i64, u32, u64, bool, String, f64); [INFO] [stderr] | ------------------------------------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 571 | reg_cmp!(engine, "!=", ne, i32, i64, u32, u64, bool, String, f64); [INFO] [stderr] | ------------------------------------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 573 | reg_op!(engine, "||", or, bool); [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 574 | reg_op!(engine, "&&", and, bool); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 575 | reg_op!(engine, "|", binary_or, i32, i64, u32, u64); [INFO] [stderr] | ---------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 576 | reg_op!(engine, "|", or, bool); [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 577 | reg_op!(engine, "&", binary_and, i32, i64, u32, u64); [INFO] [stderr] | ----------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 578 | reg_op!(engine, "&", and, bool); [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 579 | reg_op!(engine, "^", binary_xor, i32, i64, u32, u64); [INFO] [stderr] | ----------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 580 | reg_op!(engine, "<<", left_shift, i32, i64, u32, u64); [INFO] [stderr] | ------------------------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 581 | reg_op!(engine, ">>", right_shift, i32, i64, u32, u64); [INFO] [stderr] | ------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 582 | reg_op!(engine, "%", modulo, i32, i64, u32, u64); [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:473:45 [INFO] [stderr] | [INFO] [stderr] 473 | $engine.register_fn($x, ($op as fn(x: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 587 | reg_un!(engine, "-", neg, i32, i64, f32, f64); [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:473:45 [INFO] [stderr] | [INFO] [stderr] 473 | $engine.register_fn($x, ($op as fn(x: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 588 | reg_un!(engine, "!", not, bool); [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/module/engine.rs:378:33 [INFO] [stderr] | [INFO] [stderr] 378 | Err(x) => return Err(x), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/module/engine.rs:391:21 [INFO] [stderr] | [INFO] [stderr] 391 | Err(x) => return Err(x), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/module/engine.rs:411:13 [INFO] [stderr] | [INFO] [stderr] 411 | _ => Err(()), [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/main.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | fn test_fn(a: i32, b: i32, c: i32) { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_a` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/main.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | fn test_fn(a: i32, b: i32, c: i32) { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/main.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | fn test_fn(a: i32, b: i32, c: i32) { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/module/engine.rs:557:20 [INFO] [stderr] | [INFO] [stderr] 557 | fn unit_eq(a: (), b: ()) -> bool { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/module/engine.rs:557:27 [INFO] [stderr] | [INFO] [stderr] 557 | fn unit_eq(a: (), b: ()) -> bool { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/module/engine.rs:53:35 [INFO] [stderr] | [INFO] [stderr] 53 | FnIntExt::Int(ref f) => Err(()), [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/module/engine.rs:315:43 [INFO] [stderr] | [INFO] [stderr] 315 | Expr::FnCall(ref fn_name, ref args) => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_args` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `x` is never read [INFO] [stderr] --> src/module/engine.rs:436:25 [INFO] [stderr] | [INFO] [stderr] 436 | let mut x: Result, ()> = Ok(Box::new(())); [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: `e` [INFO] [stderr] --> src/module/engine.rs:452:29 [INFO] [stderr] | [INFO] [stderr] 452 | Err(e) => Err(()), [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `drain` [INFO] [stderr] --> src/module/engine.rs:676:21 [INFO] [stderr] | [INFO] [stderr] 676 | let mut drain = args.drain(..); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_drain` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/module/parser.rs:207:20 [INFO] [stderr] | [INFO] [stderr] 207 | while let Some(a) = token_iterator.char_stream.peek() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `radix_base` [INFO] [stderr] --> src/module/parser.rs:738:29 [INFO] [stderr] | [INFO] [stderr] 738 | let mut radix_base: Option = None; [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_radix_base` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/module/parser.rs:803:25 [INFO] [stderr] | [INFO] [stderr] 803 | Err(e) => return Some(Token::LexErr), [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/module/engine.rs:676:17 [INFO] [stderr] | [INFO] [stderr] 676 | let mut drain = args.drain(..); [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/module/parser.rs:738:25 [INFO] [stderr] | [INFO] [stderr] 738 | let mut radix_base: Option = None; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `box_clone` [INFO] [stderr] --> src/module/any.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TempStub` [INFO] [stderr] --> src/module/parser.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | TempStub, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `CharConst` [INFO] [stderr] --> src/module/parser.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | CharConst(char), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Divide` [INFO] [stderr] --> src/module/parser.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | Divide, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DivideAssign` [INFO] [stderr] --> src/module/parser.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | DivideAssign, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | engine_vm.call_fn("test".to_string(), vec![&mut a, &mut b, &mut c]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | engine_vm.eval_file::<()>(&fname); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/module/engine.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | / self.functions [INFO] [stderr] 49 | | .get(&spec) [INFO] [stderr] 50 | | .ok_or(()) [INFO] [stderr] 51 | | .and_then(move |f| match **f { [INFO] [stderr] 52 | | FnIntExt::Ext(ref f) => f(args), [INFO] [stderr] 53 | | FnIntExt::Int(ref f) => Err(()), [INFO] [stderr] 54 | | }); [INFO] [stderr] | |_______________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/module/engine.rs:421:17 [INFO] [stderr] | [INFO] [stderr] 421 | self.eval::(&mut contents); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `P` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:610:17 [INFO] [stderr] | [INFO] [stderr] 610 | let P = ((*drain.next().unwrap()).downcast_mut() as Option<&mut P>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `p` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `Q` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:611:17 [INFO] [stderr] | [INFO] [stderr] 611 | let Q = ((*drain.next().unwrap()).downcast_mut() as Option<&mut Q>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `q` [INFO] [stderr] [INFO] [stderr] warning: variable `R` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:612:17 [INFO] [stderr] | [INFO] [stderr] 612 | let R = ((*drain.next().unwrap()).downcast_mut() as Option<&mut R>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `r` [INFO] [stderr] [INFO] [stderr] warning: variable `P` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:637:17 [INFO] [stderr] | [INFO] [stderr] 637 | let P = ((*drain.next().unwrap()).downcast_mut() as Option<&mut P>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `p` [INFO] [stderr] [INFO] [stderr] warning: variable `Q` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:638:17 [INFO] [stderr] | [INFO] [stderr] 638 | let Q = ((*drain.next().unwrap()).downcast_mut() as Option<&mut Q>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `q` [INFO] [stderr] [INFO] [stderr] warning: variable `P` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:658:17 [INFO] [stderr] | [INFO] [stderr] 658 | let P = ((*drain.next().unwrap()).downcast_mut() as Option<&mut P>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `p` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.02s [INFO] running `"docker" "inspect" "8d0bb42d202a2cb8e08d92a795c519b4120c845fdc607d5bc45209fd325bedff"` [INFO] running `"docker" "rm" "-f" "8d0bb42d202a2cb8e08d92a795c519b4120c845fdc607d5bc45209fd325bedff"` [INFO] [stdout] 8d0bb42d202a2cb8e08d92a795c519b4120c845fdc607d5bc45209fd325bedff [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-4/1.36.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/1.36.0/gh/stwen77/interpreter:/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=warn" "-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" "+1.36.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 7ba1480ee700b69c3b6347f3b17bad68c58f7605df22054ebf86616b4938b2dd [INFO] running `"docker" "start" "-a" "7ba1480ee700b69c3b6347f3b17bad68c58f7605df22054ebf86616b4938b2dd"` [INFO] [stderr] Compiling interpreter v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `Deref` [INFO] [stderr] --> src/module/engine.rs:5:44 [INFO] [stderr] | [INFO] [stderr] 5 | use std::ops::{Add, BitAnd, BitOr, BitXor, Deref, Div, Mul, Neg, Rem, Shl, Shr, Sub}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 561 | reg_op!(engine, "+", add, i32, i64, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 561 | reg_op!(engine, "+", add, i32, i64, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 562 | reg_op!(engine, "-", sub, i32, i64, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 563 | reg_op!(engine, "*", mul, i32, i64, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 564 | reg_op!(engine, "/", div, i32, i64, u32, u64, f32, f64); [INFO] [stderr] | -------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 566 | reg_cmp!(engine, "<", lt, i32, i64, u32, u64, String, f64); [INFO] [stderr] | ----------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 567 | reg_cmp!(engine, "<=", lte, i32, i64, u32, u64, String, f64); [INFO] [stderr] | ------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 568 | reg_cmp!(engine, ">", gt, i32, i64, u32, u64, String, f64); [INFO] [stderr] | ----------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 569 | reg_cmp!(engine, ">=", gte, i32, i64, u32, u64, String, f64); [INFO] [stderr] | ------------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 570 | reg_cmp!(engine, "==", eq, i32, i64, u32, u64, bool, String, f64); [INFO] [stderr] | ------------------------------------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:481:45 [INFO] [stderr] | [INFO] [stderr] 481 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->bool)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 571 | reg_cmp!(engine, "!=", ne, i32, i64, u32, u64, bool, String, f64); [INFO] [stderr] | ------------------------------------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 573 | reg_op!(engine, "||", or, bool); [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 574 | reg_op!(engine, "&&", and, bool); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 575 | reg_op!(engine, "|", binary_or, i32, i64, u32, u64); [INFO] [stderr] | ---------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 576 | reg_op!(engine, "|", or, bool); [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 577 | reg_op!(engine, "&", binary_and, i32, i64, u32, u64); [INFO] [stderr] | ----------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 578 | reg_op!(engine, "&", and, bool); [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 579 | reg_op!(engine, "^", binary_xor, i32, i64, u32, u64); [INFO] [stderr] | ----------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 580 | reg_op!(engine, "<<", left_shift, i32, i64, u32, u64); [INFO] [stderr] | ------------------------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 581 | reg_op!(engine, ">>", right_shift, i32, i64, u32, u64); [INFO] [stderr] | ------------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:466:45 [INFO] [stderr] | [INFO] [stderr] 466 | $engine.register_fn($x, ($op as fn(x: $y, y: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 582 | reg_op!(engine, "%", modulo, i32, i64, u32, u64); [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:473:45 [INFO] [stderr] | [INFO] [stderr] 473 | $engine.register_fn($x, ($op as fn(x: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 587 | reg_un!(engine, "-", neg, i32, i64, f32, f64); [INFO] [stderr] | ---------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/module/engine.rs:473:45 [INFO] [stderr] | [INFO] [stderr] 473 | $engine.register_fn($x, ($op as fn(x: $y)->$y)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] ... [INFO] [stderr] 588 | reg_un!(engine, "!", not, bool); [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/module/engine.rs:378:33 [INFO] [stderr] | [INFO] [stderr] 378 | Err(x) => return Err(x), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/module/engine.rs:391:21 [INFO] [stderr] | [INFO] [stderr] 391 | Err(x) => return Err(x), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/module/engine.rs:411:13 [INFO] [stderr] | [INFO] [stderr] 411 | _ => Err(()), [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/main.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | fn test_fn(a: i32, b: i32, c: i32) { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_a` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/main.rs:18:20 [INFO] [stderr] | [INFO] [stderr] 18 | fn test_fn(a: i32, b: i32, c: i32) { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/main.rs:18:28 [INFO] [stderr] | [INFO] [stderr] 18 | fn test_fn(a: i32, b: i32, c: i32) { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/module/engine.rs:557:20 [INFO] [stderr] | [INFO] [stderr] 557 | fn unit_eq(a: (), b: ()) -> bool { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/module/engine.rs:557:27 [INFO] [stderr] | [INFO] [stderr] 557 | fn unit_eq(a: (), b: ()) -> bool { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/module/engine.rs:53:35 [INFO] [stderr] | [INFO] [stderr] 53 | FnIntExt::Int(ref f) => Err(()), [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_f` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/module/engine.rs:315:43 [INFO] [stderr] | [INFO] [stderr] 315 | Expr::FnCall(ref fn_name, ref args) => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_args` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `x` is never read [INFO] [stderr] --> src/module/engine.rs:436:25 [INFO] [stderr] | [INFO] [stderr] 436 | let mut x: Result, ()> = Ok(Box::new(())); [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: `e` [INFO] [stderr] --> src/module/engine.rs:452:29 [INFO] [stderr] | [INFO] [stderr] 452 | Err(e) => Err(()), [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `drain` [INFO] [stderr] --> src/module/engine.rs:676:21 [INFO] [stderr] | [INFO] [stderr] 676 | let mut drain = args.drain(..); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_drain` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/module/parser.rs:207:20 [INFO] [stderr] | [INFO] [stderr] 207 | while let Some(a) = token_iterator.char_stream.peek() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_a` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `radix_base` [INFO] [stderr] --> src/module/parser.rs:738:29 [INFO] [stderr] | [INFO] [stderr] 738 | let mut radix_base: Option = None; [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_radix_base` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/module/parser.rs:803:25 [INFO] [stderr] | [INFO] [stderr] 803 | Err(e) => return Some(Token::LexErr), [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/module/engine.rs:676:17 [INFO] [stderr] | [INFO] [stderr] 676 | let mut drain = args.drain(..); [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/module/parser.rs:738:25 [INFO] [stderr] | [INFO] [stderr] 738 | let mut radix_base: Option = None; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `box_clone` [INFO] [stderr] --> src/module/any.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | fn box_clone(&self) -> Box { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TempStub` [INFO] [stderr] --> src/module/parser.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | TempStub, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `CharConst` [INFO] [stderr] --> src/module/parser.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | CharConst(char), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Divide` [INFO] [stderr] --> src/module/parser.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | Divide, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DivideAssign` [INFO] [stderr] --> src/module/parser.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | DivideAssign, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | engine_vm.call_fn("test".to_string(), vec![&mut a, &mut b, &mut c]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | engine_vm.eval_file::<()>(&fname); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/module/engine.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | / self.functions [INFO] [stderr] 49 | | .get(&spec) [INFO] [stderr] 50 | | .ok_or(()) [INFO] [stderr] 51 | | .and_then(move |f| match **f { [INFO] [stderr] 52 | | FnIntExt::Ext(ref f) => f(args), [INFO] [stderr] 53 | | FnIntExt::Int(ref f) => Err(()), [INFO] [stderr] 54 | | }); [INFO] [stderr] | |_______________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/module/engine.rs:421:17 [INFO] [stderr] | [INFO] [stderr] 421 | self.eval::(&mut contents); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: variable `P` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:610:17 [INFO] [stderr] | [INFO] [stderr] 610 | let P = ((*drain.next().unwrap()).downcast_mut() as Option<&mut P>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `p` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable `Q` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:611:17 [INFO] [stderr] | [INFO] [stderr] 611 | let Q = ((*drain.next().unwrap()).downcast_mut() as Option<&mut Q>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `q` [INFO] [stderr] [INFO] [stderr] warning: variable `R` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:612:17 [INFO] [stderr] | [INFO] [stderr] 612 | let R = ((*drain.next().unwrap()).downcast_mut() as Option<&mut R>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `r` [INFO] [stderr] [INFO] [stderr] warning: variable `P` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:637:17 [INFO] [stderr] | [INFO] [stderr] 637 | let P = ((*drain.next().unwrap()).downcast_mut() as Option<&mut P>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `p` [INFO] [stderr] [INFO] [stderr] warning: variable `Q` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:638:17 [INFO] [stderr] | [INFO] [stderr] 638 | let Q = ((*drain.next().unwrap()).downcast_mut() as Option<&mut Q>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `q` [INFO] [stderr] [INFO] [stderr] warning: variable `P` should have a snake case name [INFO] [stderr] --> src/module/engine.rs:658:17 [INFO] [stderr] | [INFO] [stderr] 658 | let P = ((*drain.next().unwrap()).downcast_mut() as Option<&mut P>).ok_or(())?; [INFO] [stderr] | ^ help: convert the identifier to snake case: `p` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.23s [INFO] running `"docker" "inspect" "7ba1480ee700b69c3b6347f3b17bad68c58f7605df22054ebf86616b4938b2dd"` [INFO] running `"docker" "rm" "-f" "7ba1480ee700b69c3b6347f3b17bad68c58f7605df22054ebf86616b4938b2dd"` [INFO] [stdout] 7ba1480ee700b69c3b6347f3b17bad68c58f7605df22054ebf86616b4938b2dd [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-4/1.36.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/1.36.0/gh/stwen77/interpreter:/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=warn" "-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" "+1.36.0" "test" "--frozen"` [INFO] [stdout] 0c3d768355fc97481afcbb062e70a93c5d71efc6460caa9e3012311f9aab5a3c [INFO] running `"docker" "start" "-a" "0c3d768355fc97481afcbb062e70a93c5d71efc6460caa9e3012311f9aab5a3c"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running /opt/crater/target/debug/deps/interpreter-d2ee552861c85874 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "0c3d768355fc97481afcbb062e70a93c5d71efc6460caa9e3012311f9aab5a3c"` [INFO] running `"docker" "rm" "-f" "0c3d768355fc97481afcbb062e70a93c5d71efc6460caa9e3012311f9aab5a3c"` [INFO] [stdout] 0c3d768355fc97481afcbb062e70a93c5d71efc6460caa9e3012311f9aab5a3c