[INFO] crate textsearch 0.2.0 is already in cache [INFO] extracting crate textsearch 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/textsearch/0.2.0 [INFO] extracting crate textsearch 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/textsearch/0.2.0 [INFO] validating manifest of textsearch-0.2.0 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 textsearch-0.2.0 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 textsearch-0.2.0 [INFO] finished frobbing textsearch-0.2.0 [INFO] frobbed toml for textsearch-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/textsearch/0.2.0/Cargo.toml [INFO] started frobbing textsearch-0.2.0 [INFO] finished frobbing textsearch-0.2.0 [INFO] frobbed toml for textsearch-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/textsearch/0.2.0/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 textsearch-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/textsearch/0.2.0:/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] ae39f04e979a314521318e8edcae4a3fccd83fff294d1a345d26b39229d65ee5 [INFO] running `"docker" "start" "-a" "ae39f04e979a314521318e8edcae4a3fccd83fff294d1a345d26b39229d65ee5"` [INFO] [stderr] warning: `panic` setting is ignored for `test` profile [INFO] [stderr] warning: profile `doc` is deprecated and has no effect [INFO] [stderr] warning: `panic` setting is ignored for `bench` profile [INFO] [stderr] Compiling libc v0.2.48 [INFO] [stderr] Checking futures v0.1.25 [INFO] [stderr] Checking serde v0.7.15 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking num_cpus v1.9.0 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking uuid v0.2.3 [INFO] [stderr] Checking textsearch v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/stem.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/stem.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | k: k, [INFO] [stderr] | ^^^^ help: replace it with: `k` [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/stem.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/stem.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | k: k, [INFO] [stderr] | ^^^^ help: replace it with: `k` [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/stem.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | b: b, [INFO] [stderr] | ^^^^ help: replace it with: `b` [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/stem.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | k: k, [INFO] [stderr] | ^^^^ help: replace it with: `k` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/stem.rs:144:16 [INFO] [stderr] | [INFO] [stderr] 144 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 145 | | if &self.b[self.k - len..self.k] == s { [INFO] [stderr] 146 | | self.j = self.k - len; [INFO] [stderr] 147 | | true [INFO] [stderr] ... | [INFO] [stderr] 150 | | } [INFO] [stderr] 151 | | } [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] 144 | } else if &self.b[self.k - len..self.k] == s { [INFO] [stderr] 145 | self.j = self.k - len; [INFO] [stderr] 146 | true [INFO] [stderr] 147 | } else { [INFO] [stderr] 148 | false [INFO] [stderr] 149 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/stem.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/stem.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/stem.rs:144:16 [INFO] [stderr] | [INFO] [stderr] 144 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 145 | | if &self.b[self.k - len..self.k] == s { [INFO] [stderr] 146 | | self.j = self.k - len; [INFO] [stderr] 147 | | true [INFO] [stderr] ... | [INFO] [stderr] 150 | | } [INFO] [stderr] 151 | | } [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] 144 | } else if &self.b[self.k - len..self.k] == s { [INFO] [stderr] 145 | self.j = self.k - len; [INFO] [stderr] 146 | true [INFO] [stderr] 147 | } else { [INFO] [stderr] 148 | false [INFO] [stderr] 149 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/stem.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tokenize.rs:5:32 [INFO] [stderr] | [INFO] [stderr] 5 | .filter(|s| s.len() > 0) [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.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] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:108:46 [INFO] [stderr] | [INFO] [stderr] 108 | } else if self.b[i] != self.b[i - 1] { [INFO] [stderr] | ______________________________________________^ [INFO] [stderr] 109 | | false [INFO] [stderr] 110 | | } else { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:106:18 [INFO] [stderr] | [INFO] [stderr] 106 | if i < 1 { [INFO] [stderr] | __________________^ [INFO] [stderr] 107 | | false [INFO] [stderr] 108 | | } else if self.b[i] != self.b[i - 1] { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `s` [INFO] [stderr] --> src/stem.rs:159:18 [INFO] [stderr] | [INFO] [stderr] 159 | for i in 0..(len) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 159 | for (i, ) in s.iter().enumerate().take((len)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:308:43 [INFO] [stderr] | [INFO] [stderr] 308 | else if self.ends("ence") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:307:38 [INFO] [stderr] | [INFO] [stderr] 307 | if self.ends("ance") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:321:43 [INFO] [stderr] | [INFO] [stderr] 321 | else if self.ends("ible") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:320:38 [INFO] [stderr] | [INFO] [stderr] 320 | if self.ends("able") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:326:44 [INFO] [stderr] | [INFO] [stderr] 326 | else if self.ends("ement") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:325:37 [INFO] [stderr] | [INFO] [stderr] 325 | if self.ends("ant") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:334:41 [INFO] [stderr] | [INFO] [stderr] 334 | else if self.ends("ou") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:333:80 [INFO] [stderr] | [INFO] [stderr] 333 | (self.b[self.j - 1] == b's' || self.b[self.j - 1] == b't') {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:344:42 [INFO] [stderr] | [INFO] [stderr] 344 | else if self.ends("iti") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:343:37 [INFO] [stderr] | [INFO] [stderr] 343 | if self.ends("ate") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/stem.rs:144:16 [INFO] [stderr] | [INFO] [stderr] 144 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 145 | | if &self.b[self.k - len..self.k] == s { [INFO] [stderr] 146 | | self.j = self.k - len; [INFO] [stderr] 147 | | true [INFO] [stderr] ... | [INFO] [stderr] 150 | | } [INFO] [stderr] 151 | | } [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] 144 | } else if &self.b[self.k - len..self.k] == s { [INFO] [stderr] 145 | self.j = self.k - len; [INFO] [stderr] 146 | true [INFO] [stderr] 147 | } else { [INFO] [stderr] 148 | false [INFO] [stderr] 149 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the HashMap [INFO] [stderr] --> src/global.rs:59:36 [INFO] [stderr] | [INFO] [stderr] 59 | for (token, count) in token_ref.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/global.rs:61:20 [INFO] [stderr] | [INFO] [stderr] 61 | Some(val) => val.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*val` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/global.rs:68:19 [INFO] [stderr] | [INFO] [stderr] 68 | Some(val) => val.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*val` [INFO] [stderr] | [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: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/stem.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `search::Search` [INFO] [stderr] --> src/search.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new() -> Search { [INFO] [stderr] | _____^ [INFO] [stderr] 24 | | Search { [INFO] [stderr] 25 | | indices: Arc::new( [INFO] [stderr] 26 | | RwLock::new( [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [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] 22 | impl Default for search::Search { [INFO] [stderr] 23 | fn default() -> Self { [INFO] [stderr] 24 | Self::new() [INFO] [stderr] 25 | } [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `textsearch`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/stem.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/stem.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tokenize.rs:5:32 [INFO] [stderr] | [INFO] [stderr] 5 | .filter(|s| s.len() > 0) [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.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] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:108:46 [INFO] [stderr] | [INFO] [stderr] 108 | } else if self.b[i] != self.b[i - 1] { [INFO] [stderr] | ______________________________________________^ [INFO] [stderr] 109 | | false [INFO] [stderr] 110 | | } else { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:106:18 [INFO] [stderr] | [INFO] [stderr] 106 | if i < 1 { [INFO] [stderr] | __________________^ [INFO] [stderr] 107 | | false [INFO] [stderr] 108 | | } else if self.b[i] != self.b[i - 1] { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `s` [INFO] [stderr] --> src/stem.rs:159:18 [INFO] [stderr] | [INFO] [stderr] 159 | for i in 0..(len) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 159 | for (i, ) in s.iter().enumerate().take((len)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:308:43 [INFO] [stderr] | [INFO] [stderr] 308 | else if self.ends("ence") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:307:38 [INFO] [stderr] | [INFO] [stderr] 307 | if self.ends("ance") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:321:43 [INFO] [stderr] | [INFO] [stderr] 321 | else if self.ends("ible") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:320:38 [INFO] [stderr] | [INFO] [stderr] 320 | if self.ends("able") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:326:44 [INFO] [stderr] | [INFO] [stderr] 326 | else if self.ends("ement") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:325:37 [INFO] [stderr] | [INFO] [stderr] 325 | if self.ends("ant") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:334:41 [INFO] [stderr] | [INFO] [stderr] 334 | else if self.ends("ou") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:333:80 [INFO] [stderr] | [INFO] [stderr] 333 | (self.b[self.j - 1] == b's' || self.b[self.j - 1] == b't') {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:344:42 [INFO] [stderr] | [INFO] [stderr] 344 | else if self.ends("iti") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:343:37 [INFO] [stderr] | [INFO] [stderr] 343 | if self.ends("ate") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the HashMap [INFO] [stderr] --> src/global.rs:59:36 [INFO] [stderr] | [INFO] [stderr] 59 | for (token, count) in token_ref.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/global.rs:61:20 [INFO] [stderr] | [INFO] [stderr] 61 | Some(val) => val.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*val` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/global.rs:68:19 [INFO] [stderr] | [INFO] [stderr] 68 | Some(val) => val.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*val` [INFO] [stderr] | [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 should consider adding a `Default` implementation for `search::Search` [INFO] [stderr] --> src/search.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new() -> Search { [INFO] [stderr] | _____^ [INFO] [stderr] 24 | | Search { [INFO] [stderr] 25 | | indices: Arc::new( [INFO] [stderr] 26 | | RwLock::new( [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [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] 22 | impl Default for search::Search { [INFO] [stderr] 23 | fn default() -> Self { [INFO] [stderr] 24 | Self::new() [INFO] [stderr] 25 | } [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/tokenize.rs:5:32 [INFO] [stderr] | [INFO] [stderr] 5 | .filter(|s| s.len() > 0) [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!s.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] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:108:46 [INFO] [stderr] | [INFO] [stderr] 108 | } else if self.b[i] != self.b[i - 1] { [INFO] [stderr] | ______________________________________________^ [INFO] [stderr] 109 | | false [INFO] [stderr] 110 | | } else { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:106:18 [INFO] [stderr] | [INFO] [stderr] 106 | if i < 1 { [INFO] [stderr] | __________________^ [INFO] [stderr] 107 | | false [INFO] [stderr] 108 | | } else if self.b[i] != self.b[i - 1] { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `s` [INFO] [stderr] --> src/stem.rs:159:18 [INFO] [stderr] | [INFO] [stderr] 159 | for i in 0..(len) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 159 | for (i, ) in s.iter().enumerate().take((len)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:308:43 [INFO] [stderr] | [INFO] [stderr] 308 | else if self.ends("ence") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:307:38 [INFO] [stderr] | [INFO] [stderr] 307 | if self.ends("ance") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:321:43 [INFO] [stderr] | [INFO] [stderr] 321 | else if self.ends("ible") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:320:38 [INFO] [stderr] | [INFO] [stderr] 320 | if self.ends("able") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:326:44 [INFO] [stderr] | [INFO] [stderr] 326 | else if self.ends("ement") {} [INFO] [stderr] | ^^ [INFO] [stderr] error: Could not compile `textsearch`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:325:37 [INFO] [stderr] | [INFO] [stderr] 325 | if self.ends("ant") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:334:41 [INFO] [stderr] | [INFO] [stderr] 334 | else if self.ends("ou") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:333:80 [INFO] [stderr] | [INFO] [stderr] 333 | (self.b[self.j - 1] == b's' || self.b[self.j - 1] == b't') {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/stem.rs:344:42 [INFO] [stderr] | [INFO] [stderr] 344 | else if self.ends("iti") {} [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] note: same as this [INFO] [stderr] --> src/stem.rs:343:37 [INFO] [stderr] | [INFO] [stderr] 343 | if self.ends("ate") {} [INFO] [stderr] | ^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the HashMap [INFO] [stderr] --> src/global.rs:59:36 [INFO] [stderr] | [INFO] [stderr] 59 | for (token, count) in token_ref.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/global.rs:61:20 [INFO] [stderr] | [INFO] [stderr] 61 | Some(val) => val.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*val` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/global.rs:68:19 [INFO] [stderr] | [INFO] [stderr] 68 | Some(val) => val.clone(), [INFO] [stderr] | ^^^^^^^^^^^ help: try dereferencing it: `*val` [INFO] [stderr] | [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 should consider adding a `Default` implementation for `search::Search` [INFO] [stderr] --> src/search.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn new() -> Search { [INFO] [stderr] | _____^ [INFO] [stderr] 24 | | Search { [INFO] [stderr] 25 | | indices: Arc::new( [INFO] [stderr] 26 | | RwLock::new( [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [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] 22 | impl Default for search::Search { [INFO] [stderr] 23 | fn default() -> Self { [INFO] [stderr] 24 | Self::new() [INFO] [stderr] 25 | } [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `textsearch`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "ae39f04e979a314521318e8edcae4a3fccd83fff294d1a345d26b39229d65ee5"` [INFO] running `"docker" "rm" "-f" "ae39f04e979a314521318e8edcae4a3fccd83fff294d1a345d26b39229d65ee5"` [INFO] [stdout] ae39f04e979a314521318e8edcae4a3fccd83fff294d1a345d26b39229d65ee5