[INFO] crate globset 0.4.2 is already in cache [INFO] extracting crate globset 0.4.2 into work/ex/clippy-test-run/sources/stable/reg/globset/0.4.2 [INFO] extracting crate globset 0.4.2 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/globset/0.4.2 [INFO] validating manifest of globset-0.4.2 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 globset-0.4.2 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 globset-0.4.2 [INFO] finished frobbing globset-0.4.2 [INFO] frobbed toml for globset-0.4.2 written to work/ex/clippy-test-run/sources/stable/reg/globset/0.4.2/Cargo.toml [INFO] started frobbing globset-0.4.2 [INFO] finished frobbing globset-0.4.2 [INFO] frobbed toml for globset-0.4.2 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/globset/0.4.2/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 globset-0.4.2 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/globset/0.4.2:/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] 3c695d80217d8dded80bbb9935e019bd172d78c6d824d30b1c8a070376c5c1cf [INFO] running `"docker" "start" "-a" "3c695d80217d8dded80bbb9935e019bd172d78c6d824d30b1c8a070376c5c1cf"` [INFO] [stderr] Checking globset v0.4.2 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/glob.rs:66:37 [INFO] [stderr] | [INFO] [stderr] 66 | MatchStrategy::Suffix { suffix: suffix, component: component } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `suffix` [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/glob.rs:66:53 [INFO] [stderr] | [INFO] [stderr] 66 | MatchStrategy::Suffix { suffix: suffix, component: component } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `component` [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/glob.rs:251:13 [INFO] [stderr] | [INFO] [stderr] 251 | re: re, [INFO] [stderr] | ^^^^^^ help: replace it with: `re` [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/glob.rs:266:13 [INFO] [stderr] | [INFO] [stderr] 266 | strategy: strategy, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `strategy` [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/glob.rs:268:13 [INFO] [stderr] | [INFO] [stderr] 268 | re: re, [INFO] [stderr] | ^^^^^^ help: replace it with: `re` [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/glob.rs:565:13 [INFO] [stderr] | [INFO] [stderr] 565 | glob: glob, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `glob` [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/glob.rs:597:17 [INFO] [stderr] | [INFO] [stderr] 597 | tokens: tokens, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `tokens` [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/glob.rs:758:52 [INFO] [stderr] | [INFO] [stderr] 758 | Error { glob: Some(self.glob.to_string()), kind: kind } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [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/glob.rs:952:13 [INFO] [stderr] | [INFO] [stderr] 952 | negated: negated, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `negated` [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/glob.rs:953:13 [INFO] [stderr] | [INFO] [stderr] 953 | ranges: ranges, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `ranges` [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/glob.rs:66:37 [INFO] [stderr] | [INFO] [stderr] 66 | MatchStrategy::Suffix { suffix: suffix, component: component } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `suffix` [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/glob.rs:66:53 [INFO] [stderr] | [INFO] [stderr] 66 | MatchStrategy::Suffix { suffix: suffix, component: component } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `component` [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/glob.rs:251:13 [INFO] [stderr] | [INFO] [stderr] 251 | re: re, [INFO] [stderr] | ^^^^^^ help: replace it with: `re` [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/glob.rs:266:13 [INFO] [stderr] | [INFO] [stderr] 266 | strategy: strategy, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `strategy` [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/glob.rs:268:13 [INFO] [stderr] | [INFO] [stderr] 268 | re: re, [INFO] [stderr] | ^^^^^^ help: replace it with: `re` [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/glob.rs:565:13 [INFO] [stderr] | [INFO] [stderr] 565 | glob: glob, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `glob` [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/glob.rs:597:17 [INFO] [stderr] | [INFO] [stderr] 597 | tokens: tokens, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `tokens` [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/glob.rs:758:52 [INFO] [stderr] | [INFO] [stderr] 758 | Error { glob: Some(self.glob.to_string()), kind: kind } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [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/glob.rs:952:13 [INFO] [stderr] | [INFO] [stderr] 952 | negated: negated, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `negated` [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/glob.rs:953:13 [INFO] [stderr] | [INFO] [stderr] 953 | ranges: ranges, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `ranges` [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 if statement can be collapsed [INFO] [stderr] --> src/glob.rs:854:9 [INFO] [stderr] | [INFO] [stderr] 854 | / if !prev.map(is_separator).unwrap_or(false) { [INFO] [stderr] 855 | | if self.stack.len() <= 1 [INFO] [stderr] 856 | | || (prev != Some(',') && prev != Some('{')) { [INFO] [stderr] 857 | | return Err(self.error(ErrorKind::InvalidRecursive)); [INFO] [stderr] 858 | | } [INFO] [stderr] 859 | | } [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] 854 | if !prev.map(is_separator).unwrap_or(false) && (self.stack.len() <= 1 [INFO] [stderr] 855 | || (prev != Some(',') && prev != Some('{'))) { [INFO] [stderr] 856 | return Err(self.error(ErrorKind::InvalidRecursive)); [INFO] [stderr] 857 | } [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/glob.rs:634:38 [INFO] [stderr] | [INFO] [stderr] 634 | fn to_regex_with(&self, options: &GlobOptions) -> String { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `GlobOptions` [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/glob.rs:655:18 [INFO] [stderr] | [INFO] [stderr] 655 | options: &GlobOptions, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `GlobOptions` [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: passing a unit value to a function [INFO] [stderr] --> src/glob.rs:781:12 [INFO] [stderr] | [INFO] [stderr] 781 | Ok(self.stack.push(Tokens::default())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 781 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/glob.rs:794:23 [INFO] [stderr] | [INFO] [stderr] 794 | return Ok(pat.push(tok)); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 794 | return Ok(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/glob.rs:820:16 [INFO] [stderr] | [INFO] [stderr] 820 | Ok(self.stack.push(Tokens::default())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 820 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/pathutil.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | / pub fn file_name<'a, P: AsRef + ?Sized>( [INFO] [stderr] 11 | | path: &'a P, [INFO] [stderr] 12 | | ) -> Option<&'a OsStr> { [INFO] [stderr] 13 | | use std::os::unix::ffi::OsStrExt; [INFO] [stderr] ... | [INFO] [stderr] 27 | | Some(OsStr::from_bytes(&path[last_slash..])) [INFO] [stderr] 28 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/pathutil.rs:19:50 [INFO] [stderr] | [INFO] [stderr] 19 | } else if path.len() == 1 && path[0] == b'.' { [INFO] [stderr] | __________________________________________________^ [INFO] [stderr] 20 | | return None; [INFO] [stderr] 21 | | } else if path.last() == Some(&b'.') { [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/pathutil.rs:17:24 [INFO] [stderr] | [INFO] [stderr] 17 | if path.is_empty() { [INFO] [stderr] | ________________________^ [INFO] [stderr] 18 | | return None; [INFO] [stderr] 19 | | } else if path.len() == 1 && path[0] == b'.' { [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: needlessly taken reference of both operands [INFO] [stderr] --> src/pathutil.rs:23:34 [INFO] [stderr] | [INFO] [stderr] 23 | } else if path.len() >= 2 && &path[path.len() - 2..] == &b".."[..] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 23 | } else if path.len() >= 2 && path[path.len() - 2..] == b".."[..] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `GlobSetBuilder` [INFO] [stderr] --> src/lib.rs:461:5 [INFO] [stderr] | [INFO] [stderr] 461 | / pub fn new() -> GlobSetBuilder { [INFO] [stderr] 462 | | GlobSetBuilder { pats: vec![] } [INFO] [stderr] 463 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 453 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/lib.rs:496:40 [INFO] [stderr] | [INFO] [stderr] 496 | let basename = file_name(path).unwrap_or(OsStr::new("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| OsStr::new(""))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:569:40 [INFO] [stderr] | [INFO] [stderr] 569 | self.0.entry(lit.into_bytes()).or_insert(vec![]).push(global_index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:593:40 [INFO] [stderr] | [INFO] [stderr] 593 | self.0.entry(lit.into_bytes()).or_insert(vec![]).push(global_index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:623:40 [INFO] [stderr] | [INFO] [stderr] 623 | self.0.entry(ext.into_bytes()).or_insert(vec![]).push(global_index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:817:14 [INFO] [stderr] | [INFO] [stderr] 817 | .or_insert(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `globset`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/glob.rs:854:9 [INFO] [stderr] | [INFO] [stderr] 854 | / if !prev.map(is_separator).unwrap_or(false) { [INFO] [stderr] 855 | | if self.stack.len() <= 1 [INFO] [stderr] 856 | | || (prev != Some(',') && prev != Some('{')) { [INFO] [stderr] 857 | | return Err(self.error(ErrorKind::InvalidRecursive)); [INFO] [stderr] 858 | | } [INFO] [stderr] 859 | | } [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] 854 | if !prev.map(is_separator).unwrap_or(false) && (self.stack.len() <= 1 [INFO] [stderr] 855 | || (prev != Some(',') && prev != Some('{'))) { [INFO] [stderr] 856 | return Err(self.error(ErrorKind::InvalidRecursive)); [INFO] [stderr] 857 | } [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/glob.rs:634:38 [INFO] [stderr] | [INFO] [stderr] 634 | fn to_regex_with(&self, options: &GlobOptions) -> String { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `GlobOptions` [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/glob.rs:655:18 [INFO] [stderr] | [INFO] [stderr] 655 | options: &GlobOptions, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider passing by value instead: `GlobOptions` [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: passing a unit value to a function [INFO] [stderr] --> src/glob.rs:781:12 [INFO] [stderr] | [INFO] [stderr] 781 | Ok(self.stack.push(Tokens::default())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 781 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/glob.rs:794:23 [INFO] [stderr] | [INFO] [stderr] 794 | return Ok(pat.push(tok)); [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 794 | return Ok(()); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/glob.rs:820:16 [INFO] [stderr] | [INFO] [stderr] 820 | Ok(self.stack.push(Tokens::default())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 820 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/pathutil.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | / pub fn file_name<'a, P: AsRef + ?Sized>( [INFO] [stderr] 11 | | path: &'a P, [INFO] [stderr] 12 | | ) -> Option<&'a OsStr> { [INFO] [stderr] 13 | | use std::os::unix::ffi::OsStrExt; [INFO] [stderr] ... | [INFO] [stderr] 27 | | Some(OsStr::from_bytes(&path[last_slash..])) [INFO] [stderr] 28 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/pathutil.rs:19:50 [INFO] [stderr] | [INFO] [stderr] 19 | } else if path.len() == 1 && path[0] == b'.' { [INFO] [stderr] | __________________________________________________^ [INFO] [stderr] 20 | | return None; [INFO] [stderr] 21 | | } else if path.last() == Some(&b'.') { [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/pathutil.rs:17:24 [INFO] [stderr] | [INFO] [stderr] 17 | if path.is_empty() { [INFO] [stderr] | ________________________^ [INFO] [stderr] 18 | | return None; [INFO] [stderr] 19 | | } else if path.len() == 1 && path[0] == b'.' { [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: needlessly taken reference of both operands [INFO] [stderr] --> src/pathutil.rs:23:34 [INFO] [stderr] | [INFO] [stderr] 23 | } else if path.len() >= 2 && &path[path.len() - 2..] == &b".."[..] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 23 | } else if path.len() >= 2 && path[path.len() - 2..] == b".."[..] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `GlobSetBuilder` [INFO] [stderr] --> src/lib.rs:461:5 [INFO] [stderr] | [INFO] [stderr] 461 | / pub fn new() -> GlobSetBuilder { [INFO] [stderr] 462 | | GlobSetBuilder { pats: vec![] } [INFO] [stderr] 463 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 453 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/lib.rs:496:40 [INFO] [stderr] | [INFO] [stderr] 496 | let basename = file_name(path).unwrap_or(OsStr::new("")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| OsStr::new(""))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:569:40 [INFO] [stderr] | [INFO] [stderr] 569 | self.0.entry(lit.into_bytes()).or_insert(vec![]).push(global_index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:593:40 [INFO] [stderr] | [INFO] [stderr] 593 | self.0.entry(lit.into_bytes()).or_insert(vec![]).push(global_index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:623:40 [INFO] [stderr] | [INFO] [stderr] 623 | self.0.entry(ext.into_bytes()).or_insert(vec![]).push(global_index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:817:14 [INFO] [stderr] | [INFO] [stderr] 817 | .or_insert(vec![]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| vec![])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `globset`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "3c695d80217d8dded80bbb9935e019bd172d78c6d824d30b1c8a070376c5c1cf"` [INFO] running `"docker" "rm" "-f" "3c695d80217d8dded80bbb9935e019bd172d78c6d824d30b1c8a070376c5c1cf"` [INFO] [stdout] 3c695d80217d8dded80bbb9935e019bd172d78c6d824d30b1c8a070376c5c1cf