[INFO] updating cached repository yiransheng/basic_rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/yiransheng/basic_rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/yiransheng/basic_rs" "work/ex/clippy-test-run/sources/stable/gh/yiransheng/basic_rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/yiransheng/basic_rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/yiransheng/basic_rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yiransheng/basic_rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yiransheng/basic_rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] a9f05037e9c2d4948589940fd35bdbeaaced1ee6 [INFO] sha for GitHub repo yiransheng/basic_rs: a9f05037e9c2d4948589940fd35bdbeaaced1ee6 [INFO] validating manifest of yiransheng/basic_rs 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 yiransheng/basic_rs 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 yiransheng/basic_rs [INFO] finished frobbing yiransheng/basic_rs [INFO] frobbed toml for yiransheng/basic_rs written to work/ex/clippy-test-run/sources/stable/gh/yiransheng/basic_rs/Cargo.toml [INFO] started frobbing yiransheng/basic_rs [INFO] finished frobbing yiransheng/basic_rs [INFO] frobbed toml for yiransheng/basic_rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yiransheng/basic_rs/Cargo.toml [INFO] crate yiransheng/basic_rs has a lockfile. skipping [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 yiransheng/basic_rs against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/yiransheng/basic_rs:/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] c21fc06f9528e30f48e6db0f0d0cc77c2193f124cc5ea701673fc645f6dba7dc [INFO] running `"docker" "start" "-a" "c21fc06f9528e30f48e6db0f0d0cc77c2193f124cc5ea701673fc645f6dba7dc"` [INFO] [stderr] warning: unused manifest key: profile.bench.target-cpu [INFO] [stderr] Compiling proc-macro2 v0.4.24 [INFO] [stderr] Compiling num-traits v0.2.6 [INFO] [stderr] Compiling ryu v0.2.7 [INFO] [stderr] Compiling serde v1.0.81 [INFO] [stderr] Compiling proc-macro-hack-impl v0.4.1 [INFO] [stderr] Compiling unindent v0.1.3 [INFO] [stderr] Compiling pest v1.0.6 [INFO] [stderr] Checking either v1.5.0 [INFO] [stderr] Compiling num-derive v0.2.3 [INFO] [stderr] Checking thread-scoped v1.0.2 [INFO] [stderr] Checking same-file v1.0.4 [INFO] [stderr] Checking cast v0.2.2 [INFO] [stderr] Checking log v0.4.6 [INFO] [stderr] Checking itertools v0.7.11 [INFO] [stderr] Checking term v0.5.1 [INFO] [stderr] Checking rustc-hash v1.0.1 [INFO] [stderr] Compiling proc-macro-hack v0.4.1 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Checking nanbox v0.2.0 [INFO] [stderr] Checking walkdir v2.2.7 [INFO] [stderr] Checking time v0.1.40 [INFO] [stderr] Checking num_cpus v1.8.0 [INFO] [stderr] Checking rand v0.4.3 [INFO] [stderr] Checking backtrace-sys v0.1.24 [INFO] [stderr] Checking csv-core v0.1.4 [INFO] [stderr] Checking backtrace v0.3.9 [INFO] [stderr] Checking criterion-plot v0.2.5 [INFO] [stderr] Checking num-integer v0.1.39 [INFO] [stderr] Checking itertools-num v0.1.3 [INFO] [stderr] Checking criterion-stats v0.2.5 [INFO] [stderr] Compiling pest_derive v1.0.8 [INFO] [stderr] Compiling quote v0.6.10 [INFO] [stderr] Checking chrono v0.4.6 [INFO] [stderr] Compiling syn v0.15.22 [INFO] [stderr] Checking simplelog v0.5.3 [INFO] [stderr] Compiling synstructure v0.10.1 [INFO] [stderr] Compiling structopt-derive v0.2.13 [INFO] [stderr] Compiling indoc-impl v0.2.8 [INFO] [stderr] Compiling serde_derive v1.0.81 [INFO] [stderr] Checking indoc v0.2.8 [INFO] [stderr] Checking serde_json v1.0.33 [INFO] [stderr] Checking csv v1.0.2 [INFO] [stderr] Compiling failure_derive v0.1.3 [INFO] [stderr] Checking structopt v0.2.13 [INFO] [stderr] Checking failure v0.1.3 [INFO] [stderr] Checking basic_rs v0.1.0 (/opt/crater/workdir) [INFO] [stderr] Checking handlebars v0.32.4 [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/compiler/mod.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | mod compiler; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::VecDeque` [INFO] [stderr] --> src/vm/chunk.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::VecDeque; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: field is never used: `id` [INFO] [stderr] --> src/compiler/anon_var.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | id: u16, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `next_anonymous` [INFO] [stderr] --> src/compiler/anon_var.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn next_anonymous(&mut self) -> Variable { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `free` [INFO] [stderr] --> src/compiler/compiler.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | free: FxHashSet, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `var_gen` [INFO] [stderr] --> src/compiler/compiler.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | var_gen: AnonVarGen, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_local` [INFO] [stderr] --> src/compiler/compiler.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | fn get_local(&mut self) -> Variable { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `reclaim_local` [INFO] [stderr] --> src/compiler/compiler.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | fn reclaim_local(&mut self, var: Variable) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `print_source_error` [INFO] [stderr] --> src/error_print.rs:75:1 [INFO] [stderr] | [INFO] [stderr] 75 | pub fn print_source_error(err: SourceMapped, source: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ast/function.rs:46:22 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn is_native(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ast/variable.rs:83:35 [INFO] [stderr] | [INFO] [stderr] 83 | pub fn can_name_list_or_table(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ast/variable.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | &self, [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ast/visitor.rs:64:40 [INFO] [stderr] | [INFO] [stderr] 64 | fn visit_variable(&mut self, lval: &Variable) -> T; [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `Variable` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/compiler/compiler.rs:70:30 [INFO] [stderr] | [INFO] [stderr] 70 | fn is_in_use(&self, var: &Variable) -> bool { [INFO] [stderr] | ^^^^^^^^^ help: consider passing by value instead: `Variable` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/compiler/ir_labels.rs:50:9 [INFO] [stderr] | [INFO] [stderr] 50 | / if !self.label_mapping.contains_key(&stmt.goto) { [INFO] [stderr] 51 | | let label = self.id_gen.next_id(); [INFO] [stderr] 52 | | self.label_mapping.insert(stmt.goto, label); [INFO] [stderr] 53 | | } [INFO] [stderr] | |_________^ help: consider using: `self.label_mapping.entry(stmt.goto)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/compiler/ir_labels.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | / if !self.label_mapping.contains_key(&stmt.goto) { [INFO] [stderr] 60 | | let label = self.id_gen.next_id(); [INFO] [stderr] 61 | | self.label_mapping.insert(stmt.goto, label); [INFO] [stderr] 62 | | } [INFO] [stderr] | |_________^ help: consider using: `self.label_mapping.entry(stmt.goto)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/compiler/ir_labels.rs:68:9 [INFO] [stderr] | [INFO] [stderr] 68 | / if !self.label_mapping.contains_key(&stmt.then) { [INFO] [stderr] 69 | | let label = self.id_gen.next_id(); [INFO] [stderr] 70 | | self.label_mapping.insert(stmt.then, label); [INFO] [stderr] 71 | | } [INFO] [stderr] | |_________^ help: consider using: `self.label_mapping.entry(stmt.then)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | / match &self.current { [INFO] [stderr] 109 | | Token::Eol => { [INFO] [stderr] 110 | | self.advance()?; [INFO] [stderr] 111 | | } [INFO] [stderr] 112 | | _ => {} [INFO] [stderr] 113 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 108 | if let Token::Eol = &self.current { [INFO] [stderr] 109 | self.advance()?; [INFO] [stderr] 110 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser.rs:143:9 [INFO] [stderr] | [INFO] [stderr] 143 | / match &self.current { [INFO] [stderr] 144 | | Token::Eol => { [INFO] [stderr] 145 | | self.advance()?; [INFO] [stderr] 146 | | } [INFO] [stderr] 147 | | _ => {} [INFO] [stderr] 148 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 143 | if let Token::Eol = &self.current { [INFO] [stderr] 144 | self.advance()?; [INFO] [stderr] 145 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/parser.rs:372:9 [INFO] [stderr] | [INFO] [stderr] 372 | / loop { [INFO] [stderr] 373 | | match &self.current { [INFO] [stderr] 374 | | Token::CaretUp => { [INFO] [stderr] 375 | | self.advance()?; [INFO] [stderr] ... | [INFO] [stderr] 380 | | } [INFO] [stderr] 381 | | } [INFO] [stderr] | |_________^ help: try: `while let Token::CaretUp = &self.current { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/parser.rs:544:9 [INFO] [stderr] | [INFO] [stderr] 544 | / loop { [INFO] [stderr] 545 | | match &self.current { [INFO] [stderr] 546 | | Token::Comma => { [INFO] [stderr] 547 | | self.advance()?; [INFO] [stderr] ... | [INFO] [stderr] 552 | | } [INFO] [stderr] 553 | | } [INFO] [stderr] | |_________^ help: try: `while let Token::Comma = &self.current { .. }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: unused label `'outter` [INFO] [stderr] --> src/parser.rs:565:9 [INFO] [stderr] | [INFO] [stderr] 565 | / 'outter: loop { [INFO] [stderr] 566 | | match &self.current { [INFO] [stderr] 567 | | Token::Eof | Token::Eol => { [INFO] [stderr] 568 | | break; [INFO] [stderr] ... | [INFO] [stderr] 574 | | } [INFO] [stderr] 575 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_label)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_label [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/scanner/dfa.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | / match self.left.match_str(s) { [INFO] [stderr] 68 | | Some((x, c)) => return Some((x, c)), [INFO] [stderr] 69 | | _ => {} [INFO] [stderr] 70 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some((x, c)) = self.left.match_str(s) { return Some((x, c)) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: the `s @ _` pattern can be written as just `s` [INFO] [stderr] --> src/scanner/function.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | s @ _ => { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: the `s @ _` pattern can be written as just `s` [INFO] [stderr] --> src/scanner/keyword.rs:30:17 [INFO] [stderr] | [INFO] [stderr] 30 | s @ _ => { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/scanner/mod.rs:161:32 [INFO] [stderr] | [INFO] [stderr] 161 | Some(Ok(ref t)) => match &t.value { [INFO] [stderr] | ________________________________^ [INFO] [stderr] 162 | | Token::Eof => self.inner = None, [INFO] [stderr] 163 | | _ => {} [INFO] [stderr] 164 | | }, [INFO] [stderr] | |_____________^ help: try this: `if let Token::Eof = &t.value { self.inner = None }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: the `c @ _` pattern can be written as just `c` [INFO] [stderr] --> src/scanner/mod.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | c @ _ => return Err(Error::UnexpectedChar(c)), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `vm::chunk::Chunk` [INFO] [stderr] --> src/vm/chunk.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | / pub fn new() -> Self { [INFO] [stderr] 129 | | Chunk { [INFO] [stderr] 130 | | code: Vec::new(), [INFO] [stderr] 131 | | [INFO] [stderr] ... | [INFO] [stderr] 138 | | } [INFO] [stderr] 139 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 127 | impl Default for vm::chunk::Chunk { [INFO] [stderr] 128 | fn default() -> Self { [INFO] [stderr] 129 | Self::new() [INFO] [stderr] 130 | } [INFO] [stderr] 131 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/vm/chunk.rs:155:24 [INFO] [stderr] | [INFO] [stderr] 155 | self.code.push(byte.into()); [INFO] [stderr] | ^^^^^^^^^^^ help: consider removing `.into()`: `byte` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/vm/chunk.rs:270:24 [INFO] [stderr] | [INFO] [stderr] 270 | if let Some(_) = self.jp_label_map.insert(label, jp) { [INFO] [stderr] | _________________- ^^^^^^^ [INFO] [stderr] 271 | | return Err(WriteError); [INFO] [stderr] 272 | | } [INFO] [stderr] | |_________________- help: try this: `if self.jp_label_map.insert(label, jp).is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm/chunk.rs:577:17 [INFO] [stderr] | [INFO] [stderr] 577 | / match instr { [INFO] [stderr] 578 | | OpCode::PrintEnd => { [INFO] [stderr] 579 | | self.printing = false; [INFO] [stderr] 580 | | } [INFO] [stderr] 581 | | _ => {} [INFO] [stderr] 582 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 577 | if let OpCode::PrintEnd = instr { [INFO] [stderr] 578 | self.printing = false; [INFO] [stderr] 579 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/vm/chunk.rs:590:17 [INFO] [stderr] | [INFO] [stderr] 590 | / match instr { [INFO] [stderr] 591 | | OpCode::PrintStart => { [INFO] [stderr] 592 | | self.printing = true; [INFO] [stderr] 593 | | } [INFO] [stderr] 594 | | _ => {} [INFO] [stderr] 595 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 590 | if let OpCode::PrintStart = instr { [INFO] [stderr] 591 | self.printing = true; [INFO] [stderr] 592 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> src/vm/opcode.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Debug, Copy, Clone, Eq, PartialEq, FromPrimitive, ToPrimitive)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::useless_attribute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: useless lint attribute [INFO] [stderr] --> src/vm/opcode.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[derive(Debug, Copy, Clone, Eq, PartialEq, FromPrimitive, ToPrimitive)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `basic_rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "c21fc06f9528e30f48e6db0f0d0cc77c2193f124cc5ea701673fc645f6dba7dc"` [INFO] running `"docker" "rm" "-f" "c21fc06f9528e30f48e6db0f0d0cc77c2193f124cc5ea701673fc645f6dba7dc"` [INFO] [stdout] c21fc06f9528e30f48e6db0f0d0cc77c2193f124cc5ea701673fc645f6dba7dc