[INFO] updating cached repository pnathan/signifier [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/pnathan/signifier [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/pnathan/signifier" "work/ex/clippy-test-run/sources/stable/gh/pnathan/signifier"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/pnathan/signifier'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/pnathan/signifier" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/pnathan/signifier"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/pnathan/signifier'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c7d4b4fa772fd1e301901b453dc81e0cac60f3ce [INFO] sha for GitHub repo pnathan/signifier: c7d4b4fa772fd1e301901b453dc81e0cac60f3ce [INFO] validating manifest of pnathan/signifier 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 pnathan/signifier 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 pnathan/signifier [INFO] finished frobbing pnathan/signifier [INFO] frobbed toml for pnathan/signifier written to work/ex/clippy-test-run/sources/stable/gh/pnathan/signifier/Cargo.toml [INFO] started frobbing pnathan/signifier [INFO] finished frobbing pnathan/signifier [INFO] frobbed toml for pnathan/signifier written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/pnathan/signifier/Cargo.toml [INFO] crate pnathan/signifier 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 pnathan/signifier against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/pnathan/signifier:/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] 94b84e3b642549cc6aecb1328948601ee5063ca7277e112520b1a86bd9489f95 [INFO] running `"docker" "start" "-a" "94b84e3b642549cc6aecb1328948601ee5063ca7277e112520b1a86bd9489f95"` [INFO] [stderr] Checking serde v0.9.13 [INFO] [stderr] Checking memchr v0.1.11 [INFO] [stderr] Compiling hyper v0.10.7 [INFO] [stderr] Compiling syn v0.11.10 [INFO] [stderr] Checking thread-id v2.0.0 [INFO] [stderr] Checking thread_local v0.2.7 [INFO] [stderr] Checking flame v0.1.11 [INFO] [stderr] Checking aho-corasick v0.5.3 [INFO] [stderr] Checking regex v0.1.80 [INFO] [stderr] Compiling serde_codegen_internals v0.14.2 [INFO] [stderr] Checking semver-parser v0.6.2 [INFO] [stderr] Checking env_logger v0.3.5 [INFO] [stderr] Checking semver v0.5.1 [INFO] [stderr] Compiling serde_derive v0.9.13 [INFO] [stderr] Checking serde_json v0.9.10 [INFO] [stderr] Checking rusted_cypher v1.0.0 [INFO] [stderr] Checking signifier v1.0.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/barrier/mod.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | Barrier { top : top, [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `top` [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/barrier/mod.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | Barrier { top : top, [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `top` [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: unneeded return statement [INFO] [stderr] --> src/queue/mod.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | return (sender, receiver); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(sender, receiver)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/queue/mod.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | return Queue { elements : self.elements.clone() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Queue { elements : self.elements.clone() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/queue/mod.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | return guard.unwrap().pop(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `guard.unwrap().pop()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/queue/mod.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return guard.unwrap().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `guard.unwrap().len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/barrier/mod.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | return is_7_bit; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `is_7_bit` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | / return filename != "" && [INFO] [stderr] 122 | | ! (filename.contains(".git") || filename.contains(".hg")) && [INFO] [stderr] 123 | | match final_char { Some(c) => c != '~', None => false } [INFO] [stderr] | |_______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 121 | filename != "" && [INFO] [stderr] 122 | ! (filename.contains(".git") || filename.contains(".hg")) && [INFO] [stderr] 123 | match final_char { Some(c) => c != '~', None => false } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/queue/mod.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | return (sender, receiver); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(sender, receiver)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/queue/mod.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | return Queue { elements : self.elements.clone() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Queue { elements : self.elements.clone() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/queue/mod.rs:52:9 [INFO] [stderr] | [INFO] [stderr] 52 | return guard.unwrap().pop(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `guard.unwrap().pop()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/queue/mod.rs:58:9 [INFO] [stderr] | [INFO] [stderr] 58 | return guard.unwrap().len(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `guard.unwrap().len()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/barrier/mod.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:89:5 [INFO] [stderr] | [INFO] [stderr] 89 | return is_7_bit; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `is_7_bit` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | return result; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `result` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | / return filename != "" && [INFO] [stderr] 122 | | ! (filename.contains(".git") || filename.contains(".hg")) && [INFO] [stderr] 123 | | match final_char { Some(c) => c != '~', None => false } [INFO] [stderr] | |_______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 121 | filename != "" && [INFO] [stderr] 122 | ! (filename.contains(".git") || filename.contains(".hg")) && [INFO] [stderr] 123 | match final_char { Some(c) => c != '~', None => false } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tx_collector` [INFO] [stderr] --> src/main.rs:199:17 [INFO] [stderr] | [INFO] [stderr] 199 | let mut tx_collector = tx_collector.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider using `_tx_collector` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `word_file_map` [INFO] [stderr] --> src/main.rs:331:13 [INFO] [stderr] | [INFO] [stderr] 331 | let mut word_file_map : HashMap> = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_word_file_map` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:331:9 [INFO] [stderr] | [INFO] [stderr] 331 | let mut word_file_map : HashMap> = HashMap::new(); [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: Consider using an AtomicUsize instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/barrier/mod.rs:18:40 [INFO] [stderr] | [INFO] [stderr] 18 | completed : Arc::new(Mutex::new(0)) } [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mutex_atomic)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/barrier/mod.rs:62:18 [INFO] [stderr] | [INFO] [stderr] 62 | top: self.top.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.top` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 87 | match is_7_bit { true => "ascii", false => "binary"} ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using an if/else expression: `if is_7_bit { "ascii" } else { "binary" }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/main.rs:100:9 [INFO] [stderr] | [INFO] [stderr] 100 | Err(_) => panic!("Unable to open file {}", filename) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | / (Queue<(String, BTreeSet)>, [INFO] [stderr] 194 | | Queue<(String, BTreeSet)>) = queue::new(); [INFO] [stderr] | |_______________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/main.rs:250:50 [INFO] [stderr] | [INFO] [stderr] 250 | for (k,v) in vec![("word", &s)] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[("word", &s)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/main.rs:278:50 [INFO] [stderr] | [INFO] [stderr] 278 | for (k,v) in vec![("word", &word), ("filename", &filename)] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[("word", &word), ("filename", &filename)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/main.rs:337:5 [INFO] [stderr] | [INFO] [stderr] 337 | / loop { [INFO] [stderr] 338 | | match rx_collector.pop() { [INFO] [stderr] 339 | | Some((filename, set)) => { [INFO] [stderr] 340 | | let mut query = graph.query(); [INFO] [stderr] ... | [INFO] [stderr] 376 | | }; [INFO] [stderr] 377 | | } [INFO] [stderr] | |_____^ help: try: `while let Some((filename, set)) = rx_collector.pop() { .. }` [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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:355:34 [INFO] [stderr] | [INFO] [stderr] 355 | for (k,v) in vec![("word", &word), ("filename", &filename)] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[("word", &word), ("filename", &filename)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tx_collector` [INFO] [stderr] --> src/main.rs:199:17 [INFO] [stderr] | [INFO] [stderr] 199 | let mut tx_collector = tx_collector.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider using `_tx_collector` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `word_file_map` [INFO] [stderr] --> src/main.rs:331:13 [INFO] [stderr] | [INFO] [stderr] 331 | let mut word_file_map : HashMap> = HashMap::new(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using `_word_file_map` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:331:9 [INFO] [stderr] | [INFO] [stderr] 331 | let mut word_file_map : HashMap> = HashMap::new(); [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: Consider using an AtomicUsize instead of a Mutex here. If you just want the locking behaviour and not the internal type, consider using Mutex<()>. [INFO] [stderr] --> src/barrier/mod.rs:18:40 [INFO] [stderr] | [INFO] [stderr] 18 | completed : Arc::new(Mutex::new(0)) } [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mutex_atomic)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mutex_atomic [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/barrier/mod.rs:62:18 [INFO] [stderr] | [INFO] [stderr] 62 | top: self.top.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.top` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/main.rs:87:12 [INFO] [stderr] | [INFO] [stderr] 87 | match is_7_bit { true => "ascii", false => "binary"} ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using an if/else expression: `if is_7_bit { "ascii" } else { "binary" }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/main.rs:100:9 [INFO] [stderr] | [INFO] [stderr] 100 | Err(_) => panic!("Unable to open file {}", filename) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/main.rs:193:5 [INFO] [stderr] | [INFO] [stderr] 193 | / (Queue<(String, BTreeSet)>, [INFO] [stderr] 194 | | Queue<(String, BTreeSet)>) = queue::new(); [INFO] [stderr] | |_______________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/main.rs:250:50 [INFO] [stderr] | [INFO] [stderr] 250 | for (k,v) in vec![("word", &s)] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[("word", &s)]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/main.rs:278:50 [INFO] [stderr] | [INFO] [stderr] 278 | for (k,v) in vec![("word", &word), ("filename", &filename)] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[("word", &word), ("filename", &filename)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/main.rs:337:5 [INFO] [stderr] | [INFO] [stderr] 337 | / loop { [INFO] [stderr] 338 | | match rx_collector.pop() { [INFO] [stderr] 339 | | Some((filename, set)) => { [INFO] [stderr] 340 | | let mut query = graph.query(); [INFO] [stderr] ... | [INFO] [stderr] 376 | | }; [INFO] [stderr] 377 | | } [INFO] [stderr] | |_____^ help: try: `while let Some((filename, set)) = rx_collector.pop() { .. }` [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: useless use of `vec!` [INFO] [stderr] --> src/main.rs:355:34 [INFO] [stderr] | [INFO] [stderr] 355 | for (k,v) in vec![("word", &word), ("filename", &filename)] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[("word", &word), ("filename", &filename)]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 32.09s [INFO] running `"docker" "inspect" "94b84e3b642549cc6aecb1328948601ee5063ca7277e112520b1a86bd9489f95"` [INFO] running `"docker" "rm" "-f" "94b84e3b642549cc6aecb1328948601ee5063ca7277e112520b1a86bd9489f95"` [INFO] [stdout] 94b84e3b642549cc6aecb1328948601ee5063ca7277e112520b1a86bd9489f95