[INFO] updating cached repository AuroransSolis/ParkerByParts [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/AuroransSolis/ParkerByParts [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/AuroransSolis/ParkerByParts" "work/ex/clippy-test-run/sources/stable/gh/AuroransSolis/ParkerByParts"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/AuroransSolis/ParkerByParts'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/AuroransSolis/ParkerByParts" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AuroransSolis/ParkerByParts"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AuroransSolis/ParkerByParts'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 09e9a7b31726e7ae8d075d486b12ffd7e118d8fe [INFO] sha for GitHub repo AuroransSolis/ParkerByParts: 09e9a7b31726e7ae8d075d486b12ffd7e118d8fe [INFO] validating manifest of AuroransSolis/ParkerByParts 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 AuroransSolis/ParkerByParts 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 AuroransSolis/ParkerByParts [INFO] finished frobbing AuroransSolis/ParkerByParts [INFO] frobbed toml for AuroransSolis/ParkerByParts written to work/ex/clippy-test-run/sources/stable/gh/AuroransSolis/ParkerByParts/Cargo.toml [INFO] started frobbing AuroransSolis/ParkerByParts [INFO] finished frobbing AuroransSolis/ParkerByParts [INFO] frobbed toml for AuroransSolis/ParkerByParts written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AuroransSolis/ParkerByParts/Cargo.toml [INFO] crate AuroransSolis/ParkerByParts 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 AuroransSolis/ParkerByParts against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/AuroransSolis/ParkerByParts:/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 -Dclippy::into_iter_on_array" "-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] deeaf4c1a159cb4824e615117fa2e084abb7e631ab707e244511d6ace47c51cf [INFO] running `"docker" "start" "-a" "deeaf4c1a159cb4824e615117fa2e084abb7e631ab707e244511d6ace47c51cf"` [INFO] [stderr] Checking simplelog v0.5.0 [INFO] [stderr] Checking ParkerByParts v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/trips_and_tests.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | max: max, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `max` [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/trips_and_tests.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | buf_size: buf_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `buf_size` [INFO] [stderr] | [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/trips_and_tests.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | max: max, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `max` [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/trips_and_tests.rs:175:13 [INFO] [stderr] | [INFO] [stderr] 175 | buf_size: buf_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `buf_size` [INFO] [stderr] | [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 imports: `Arc`, `Barrier`, `Mutex` [INFO] [stderr] --> src/trips_and_tests.rs:3:17 [INFO] [stderr] | [INFO] [stderr] 3 | use std::sync::{Arc, Mutex, Barrier, mpsc}; [INFO] [stderr] | ^^^ ^^^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/trips_and_tests.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | tgen [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/trips_and_tests.rs:181:16 [INFO] [stderr] | [INFO] [stderr] 181 | let tgen = thread::spawn(move || { [INFO] [stderr] | ________________^ [INFO] [stderr] 182 | | let mut at = (0, 0, 0); [INFO] [stderr] 183 | | let mut buf: Vec<(u64, u64, u64)> = Vec::with_capacity(tgt.max as usize); [INFO] [stderr] 184 | | let mut get_amt = 0; [INFO] [stderr] ... | [INFO] [stderr] 268 | | println!("Finished iterating."); [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/trips_and_tests.rs:253:28 [INFO] [stderr] | [INFO] [stderr] 253 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 254 | | if x > 0 && y > 0 && z > 0 && y != z && all_valid((x, y, z)) { [INFO] [stderr] 255 | | buf.push((x, y, z)); [INFO] [stderr] 256 | | continue; [INFO] [stderr] 257 | | } [INFO] [stderr] 258 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 253 | } else if x > 0 && y > 0 && z > 0 && y != z && all_valid((x, y, z)) { [INFO] [stderr] 254 | buf.push((x, y, z)); [INFO] [stderr] 255 | continue; [INFO] [stderr] 256 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/trips_and_tests.rs:281:24 [INFO] [stderr] | [INFO] [stderr] 281 | const GOOD_MASK: u64 = 0xC840C04048404040; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xC840_C040_4840_4040` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `tcp_stuff::*` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use tcp_stuff::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener`, `TcpStream` [INFO] [stderr] --> src/main.rs:10:16 [INFO] [stderr] | [INFO] [stderr] 10 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, `Read`, `Write` [INFO] [stderr] --> src/main.rs:11:15 [INFO] [stderr] | [INFO] [stderr] 11 | use std::io::{Read, Write, BufReader, BufRead}; [INFO] [stderr] | ^^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex` [INFO] [stderr] --> src/main.rs:14:17 [INFO] [stderr] | [INFO] [stderr] 14 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Barrier`, `Mutex` [INFO] [stderr] --> src/trips_and_tests.rs:3:17 [INFO] [stderr] | [INFO] [stderr] 3 | use std::sync::{Arc, Mutex, Barrier, mpsc}; [INFO] [stderr] | ^^^ ^^^^^ ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/trips_and_tests.rs:270:5 [INFO] [stderr] | [INFO] [stderr] 270 | tgen [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/trips_and_tests.rs:181:16 [INFO] [stderr] | [INFO] [stderr] 181 | let tgen = thread::spawn(move || { [INFO] [stderr] | ________________^ [INFO] [stderr] 182 | | let mut at = (0, 0, 0); [INFO] [stderr] 183 | | let mut buf: Vec<(u64, u64, u64)> = Vec::with_capacity(tgt.max as usize); [INFO] [stderr] 184 | | let mut get_amt = 0; [INFO] [stderr] ... | [INFO] [stderr] 268 | | println!("Finished iterating."); [INFO] [stderr] 269 | | }); [INFO] [stderr] | |______^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/trips_and_tests.rs:253:28 [INFO] [stderr] | [INFO] [stderr] 253 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 254 | | if x > 0 && y > 0 && z > 0 && y != z && all_valid((x, y, z)) { [INFO] [stderr] 255 | | buf.push((x, y, z)); [INFO] [stderr] 256 | | continue; [INFO] [stderr] 257 | | } [INFO] [stderr] 258 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 253 | } else if x > 0 && y > 0 && z > 0 && y != z && all_valid((x, y, z)) { [INFO] [stderr] 254 | buf.push((x, y, z)); [INFO] [stderr] 255 | continue; [INFO] [stderr] 256 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/trips_and_tests.rs:281:24 [INFO] [stderr] | [INFO] [stderr] 281 | const GOOD_MASK: u64 = 0xC840C04048404040; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xC840_C040_4840_4040` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unused import: `tcp_stuff::*` [INFO] [stderr] --> src/main.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use tcp_stuff::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TcpListener`, `TcpStream` [INFO] [stderr] --> src/main.rs:10:16 [INFO] [stderr] | [INFO] [stderr] 10 | use std::net::{TcpListener, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufRead`, `BufReader`, `Read`, `Write` [INFO] [stderr] --> src/main.rs:11:15 [INFO] [stderr] | [INFO] [stderr] 11 | use std::io::{Read, Write, BufReader, BufRead}; [INFO] [stderr] | ^^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc`, `Mutex` [INFO] [stderr] --> src/main.rs:14:17 [INFO] [stderr] | [INFO] [stderr] 14 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `asdf` [INFO] [stderr] --> src/main.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | let asdf = m_generator.get_data(10_000); [INFO] [stderr] | ^^^^ help: consider using `_asdf` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Why` [INFO] [stderr] --> src/trips_and_tests.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | Why [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Pause` [INFO] [stderr] --> src/trips_and_tests.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | Pause, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Play` [INFO] [stderr] --> src/trips_and_tests.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | Play, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pause` [INFO] [stderr] --> src/trips_and_tests.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn pause(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `play` [INFO] [stderr] --> src/trips_and_tests.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn play(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `GOOD_MASK` [INFO] [stderr] --> src/trips_and_tests.rs:281:1 [INFO] [stderr] | [INFO] [stderr] 281 | const GOOD_MASK: u64 = 0xC840C04048404040; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_valid_square` [INFO] [stderr] --> src/trips_and_tests.rs:283:1 [INFO] [stderr] | [INFO] [stderr] 283 | fn is_valid_square(mut n: u64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_squares` [INFO] [stderr] --> src/trips_and_tests.rs:302:1 [INFO] [stderr] | [INFO] [stderr] 302 | pub fn test_squares(trip: (u64, u64, u64)) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate `ParkerByParts` should have a snake case name such as `parker_by_parts` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/trips_and_tests.rs:77:16 [INFO] [stderr] | [INFO] [stderr] 77 | if let Err(_) = self.s_inst.send(TGInst::Pause) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 78 | | return Err(TGError::FailedSend); [INFO] [stderr] 79 | | } [INFO] [stderr] | |_________- help: try this: `if self.s_inst.send(TGInst::Pause).is_err()` [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/trips_and_tests.rs:97:16 [INFO] [stderr] | [INFO] [stderr] 97 | if let Err(_) = self.s_inst.send(TGInst::Play) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 98 | | return Err(TGError::FailedSend) [INFO] [stderr] 99 | | } [INFO] [stderr] | |_________- help: try this: `if self.s_inst.send(TGInst::Play).is_err()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/trips_and_tests.rs:117:16 [INFO] [stderr] | [INFO] [stderr] 117 | if let Err(_) = self.s_inst.send(TGInst::Get(req_len)) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 118 | | return Err(TGError::FailedSend); [INFO] [stderr] 119 | | } [INFO] [stderr] | |_________- help: try this: `if self.s_inst.send(TGInst::Get(req_len)).is_err()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/trips_and_tests.rs:136:16 [INFO] [stderr] | [INFO] [stderr] 136 | if let Err(_) = self.s_inst.send(TGInst::At) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 137 | | return Err(TGError::FailedSend); [INFO] [stderr] 138 | | } [INFO] [stderr] | |_________- help: try this: `if self.s_inst.send(TGInst::At).is_err()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/trips_and_tests.rs:151:16 [INFO] [stderr] | [INFO] [stderr] 151 | if let Err(_) = self.s_inst.send(TGInst::BufferedAmt) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 152 | | return Err(TGError::FailedSend); [INFO] [stderr] 153 | | } [INFO] [stderr] | |_________- help: try this: `if self.s_inst.send(TGInst::BufferedAmt).is_err()` [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/trips_and_tests.rs:226:91 [INFO] [stderr] | [INFO] [stderr] 226 | Ok(TGInst::At) => tgt.s_data.send(TGTReturn::Data(Ok(vec![at.clone()]))).unwrap(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `at` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/trips_and_tests.rs:262:23 [INFO] [stderr] | [INFO] [stderr] 262 | if working && buf.len() > 0 && buf.len() < get_amt { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/trips_and_tests.rs:265:23 [INFO] [stderr] | [INFO] [stderr] 265 | if working && buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: unused variable: `asdf` [INFO] [stderr] --> src/main.rs:49:13 [INFO] [stderr] | [INFO] [stderr] 49 | let asdf = m_generator.get_data(10_000); [INFO] [stderr] | ^^^^ help: consider using `_asdf` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Why` [INFO] [stderr] --> src/trips_and_tests.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | Why [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Pause` [INFO] [stderr] --> src/trips_and_tests.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | Pause, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Play` [INFO] [stderr] --> src/trips_and_tests.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | Play, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pause` [INFO] [stderr] --> src/trips_and_tests.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn pause(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `play` [INFO] [stderr] --> src/trips_and_tests.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn play(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `GOOD_MASK` [INFO] [stderr] --> src/trips_and_tests.rs:281:1 [INFO] [stderr] | [INFO] [stderr] 281 | const GOOD_MASK: u64 = 0xC840C04048404040; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `is_valid_square` [INFO] [stderr] --> src/trips_and_tests.rs:283:1 [INFO] [stderr] | [INFO] [stderr] 283 | fn is_valid_square(mut n: u64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `test_squares` [INFO] [stderr] --> src/trips_and_tests.rs:302:1 [INFO] [stderr] | [INFO] [stderr] 302 | pub fn test_squares(trip: (u64, u64, u64)) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: crate `ParkerByParts` should have a snake case name such as `parker_by_parts` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/trips_and_tests.rs:77:16 [INFO] [stderr] | [INFO] [stderr] 77 | if let Err(_) = self.s_inst.send(TGInst::Pause) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 78 | | return Err(TGError::FailedSend); [INFO] [stderr] 79 | | } [INFO] [stderr] | |_________- help: try this: `if self.s_inst.send(TGInst::Pause).is_err()` [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/trips_and_tests.rs:97:16 [INFO] [stderr] | [INFO] [stderr] 97 | if let Err(_) = self.s_inst.send(TGInst::Play) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 98 | | return Err(TGError::FailedSend) [INFO] [stderr] 99 | | } [INFO] [stderr] | |_________- help: try this: `if self.s_inst.send(TGInst::Play).is_err()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/trips_and_tests.rs:117:16 [INFO] [stderr] | [INFO] [stderr] 117 | if let Err(_) = self.s_inst.send(TGInst::Get(req_len)) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 118 | | return Err(TGError::FailedSend); [INFO] [stderr] 119 | | } [INFO] [stderr] | |_________- help: try this: `if self.s_inst.send(TGInst::Get(req_len)).is_err()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/trips_and_tests.rs:136:16 [INFO] [stderr] | [INFO] [stderr] 136 | if let Err(_) = self.s_inst.send(TGInst::At) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 137 | | return Err(TGError::FailedSend); [INFO] [stderr] 138 | | } [INFO] [stderr] | |_________- help: try this: `if self.s_inst.send(TGInst::At).is_err()` [INFO] [stderr] | [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/trips_and_tests.rs:151:16 [INFO] [stderr] | [INFO] [stderr] 151 | if let Err(_) = self.s_inst.send(TGInst::BufferedAmt) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 152 | | return Err(TGError::FailedSend); [INFO] [stderr] 153 | | } [INFO] [stderr] | |_________- help: try this: `if self.s_inst.send(TGInst::BufferedAmt).is_err()` [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/trips_and_tests.rs:226:91 [INFO] [stderr] | [INFO] [stderr] 226 | Ok(TGInst::At) => tgt.s_data.send(TGTReturn::Data(Ok(vec![at.clone()]))).unwrap(), [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `at` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/trips_and_tests.rs:262:23 [INFO] [stderr] | [INFO] [stderr] 262 | if working && buf.len() > 0 && buf.len() < get_amt { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/trips_and_tests.rs:265:23 [INFO] [stderr] | [INFO] [stderr] 265 | if working && buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.67s [INFO] running `"docker" "inspect" "deeaf4c1a159cb4824e615117fa2e084abb7e631ab707e244511d6ace47c51cf"` [INFO] running `"docker" "rm" "-f" "deeaf4c1a159cb4824e615117fa2e084abb7e631ab707e244511d6ace47c51cf"` [INFO] [stdout] deeaf4c1a159cb4824e615117fa2e084abb7e631ab707e244511d6ace47c51cf