[INFO] crate palladium 0.0.26 is already in cache [INFO] extracting crate palladium 0.0.26 into work/ex/clippy-test-run/sources/stable/reg/palladium/0.0.26 [INFO] extracting crate palladium 0.0.26 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/palladium/0.0.26 [INFO] validating manifest of palladium-0.0.26 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of palladium-0.0.26 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing palladium-0.0.26 [INFO] finished frobbing palladium-0.0.26 [INFO] frobbed toml for palladium-0.0.26 written to work/ex/clippy-test-run/sources/stable/reg/palladium/0.0.26/Cargo.toml [INFO] started frobbing palladium-0.0.26 [INFO] finished frobbing palladium-0.0.26 [INFO] frobbed toml for palladium-0.0.26 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/palladium/0.0.26/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting palladium-0.0.26 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/palladium/0.0.26:/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" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 5a9f31468c61f15d37710edaa93277de39c3be36c9f73d509471f8c4d468dd94 [INFO] running `"docker" "start" "-a" "5a9f31468c61f15d37710edaa93277de39c3be36c9f73d509471f8c4d468dd94"` [INFO] [stderr] Checking iridium v0.0.33 [INFO] [stderr] Checking palladium v0.0.26 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/visitor.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | free_registers: free_registers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `free_registers` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/visitor.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | free_registers: free_registers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `free_registers` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/operator_parsers.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `tokens::Token` [INFO] [stderr] --> src/operator_parsers.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | use tokens::Token; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `nom::types::CompleteStr` [INFO] [stderr] --> src/operator_parsers.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | use nom::types::CompleteStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/expression_parsers.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/program_parsers.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/factor_parsers.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/term_parsers.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `AdditionOperator` [INFO] [stderr] --> src/tokens.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | AdditionOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `SubtractionOperator` [INFO] [stderr] --> src/tokens.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | SubtractionOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `MultiplicationOperator` [INFO] [stderr] --> src/tokens.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | MultiplicationOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `DivisionOperator` [INFO] [stderr] --> src/tokens.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | DivisionOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Integer` [INFO] [stderr] --> src/tokens.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Integer{ value: i64 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Float` [INFO] [stderr] --> src/tokens.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Float{ value: f64}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Factor` [INFO] [stderr] --> src/tokens.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Factor{ value: Box }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Term` [INFO] [stderr] --> src/tokens.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Term{ left: Box, right: Vec<(Token, Token)> }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expression` [INFO] [stderr] --> src/tokens.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Expression{ left: Box, right: Vec<(Token, Token)> }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Program` [INFO] [stderr] --> src/tokens.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Program{ expressions: Vec } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `assembler` [INFO] [stderr] --> src/visitor.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | assembler: Assembler, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/visitor.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn new() -> Compiler { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `compile` [INFO] [stderr] --> src/visitor.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn compile(&mut self) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_asm` [INFO] [stderr] --> src/visitor.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn print_asm(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_used_registers` [INFO] [stderr] --> src/visitor.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn print_used_registers(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_free_registers` [INFO] [stderr] --> src/visitor.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn print_free_registers(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `generate_test_program` [INFO] [stderr] --> src/visitor.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | fn generate_test_program(expr: &str) -> Token { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/visitor.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | / match node { [INFO] [stderr] 68 | | &Token::AdditionOperator => { [INFO] [stderr] 69 | | // TODO: Need to clean this up. Remove the unwraps. [INFO] [stderr] 70 | | let result_register = self.free_registers.pop().unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 149 | | }, [INFO] [stderr] 150 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 67 | match *node { [INFO] [stderr] 68 | Token::AdditionOperator => { [INFO] [stderr] 69 | // TODO: Need to clean this up. Remove the unwraps. [INFO] [stderr] 70 | let result_register = self.free_registers.pop().unwrap(); [INFO] [stderr] 71 | let left_register = self.used_registers.pop().unwrap(); [INFO] [stderr] 72 | let right_register = self.used_registers.pop().unwrap(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/visitor.rs:184:13 [INFO] [stderr] | [INFO] [stderr] 184 | let bytecode = compiler.compile(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/visitor.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | let bytecode = compiler.compile(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_bytecode` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `parsed_o` [INFO] [stderr] --> src/factor_parsers.rs:83:17 [INFO] [stderr] | [INFO] [stderr] 83 | let parsed_o = o.parse::().unwrap(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_parsed_o` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `parsed_o` [INFO] [stderr] --> src/factor_parsers.rs:93:17 [INFO] [stderr] | [INFO] [stderr] 93 | let parsed_o = o.parse::().unwrap(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_parsed_o` instead [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_asm` [INFO] [stderr] --> src/visitor.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn print_asm(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_used_registers` [INFO] [stderr] --> src/visitor.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn print_used_registers(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `print_free_registers` [INFO] [stderr] --> src/visitor.rs:55:5 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn print_free_registers(&self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/visitor.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | / match node { [INFO] [stderr] 68 | | &Token::AdditionOperator => { [INFO] [stderr] 69 | | // TODO: Need to clean this up. Remove the unwraps. [INFO] [stderr] 70 | | let result_register = self.free_registers.pop().unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 149 | | }, [INFO] [stderr] 150 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 67 | match *node { [INFO] [stderr] 68 | Token::AdditionOperator => { [INFO] [stderr] 69 | // TODO: Need to clean this up. Remove the unwraps. [INFO] [stderr] 70 | let result_register = self.free_registers.pop().unwrap(); [INFO] [stderr] 71 | let left_register = self.used_registers.pop().unwrap(); [INFO] [stderr] 72 | let right_register = self.used_registers.pop().unwrap(); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 8.00s [INFO] running `"docker" "inspect" "5a9f31468c61f15d37710edaa93277de39c3be36c9f73d509471f8c4d468dd94"` [INFO] running `"docker" "rm" "-f" "5a9f31468c61f15d37710edaa93277de39c3be36c9f73d509471f8c4d468dd94"` [INFO] [stdout] 5a9f31468c61f15d37710edaa93277de39c3be36c9f73d509471f8c4d468dd94