[INFO] updating cached repository watchexec/watchexec [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/watchexec/watchexec [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/watchexec/watchexec" "work/ex/clippy-test-run/sources/stable/gh/watchexec/watchexec"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/watchexec/watchexec'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/watchexec/watchexec" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/watchexec/watchexec"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/watchexec/watchexec'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e0f649d79a6757e5284f6e5c6e46388e98e6c9c9 [INFO] sha for GitHub repo watchexec/watchexec: e0f649d79a6757e5284f6e5c6e46388e98e6c9c9 [INFO] validating manifest of watchexec/watchexec 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 watchexec/watchexec 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 watchexec/watchexec [INFO] finished frobbing watchexec/watchexec [INFO] frobbed toml for watchexec/watchexec written to work/ex/clippy-test-run/sources/stable/gh/watchexec/watchexec/Cargo.toml [INFO] started frobbing watchexec/watchexec [INFO] finished frobbing watchexec/watchexec [INFO] frobbed toml for watchexec/watchexec written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/watchexec/watchexec/Cargo.toml [INFO] crate watchexec/watchexec 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 watchexec/watchexec 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/watchexec/watchexec:/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] 9594bf6ee9d320ace846c7f3b6004e5962473dd94cc30f5cea1831590737834f [INFO] running `"docker" "start" "-a" "9594bf6ee9d320ace846c7f3b6004e5962473dd94cc30f5cea1831590737834f"` [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking libc v0.2.43 [INFO] [stderr] Checking rand_core v0.2.1 [INFO] [stderr] Checking stable_deref_trait v1.1.1 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Checking byteorder v1.2.6 [INFO] [stderr] Checking cfg-if v0.1.5 [INFO] [stderr] Checking lazycell v1.0.0 [INFO] [stderr] Checking slab v0.4.1 [INFO] [stderr] Checking futures v0.1.24 [INFO] [stderr] Checking ucd-util v0.1.1 [INFO] [stderr] Checking crossbeam-utils v0.5.0 [INFO] [stderr] Checking bitflags v1.0.4 [INFO] [stderr] Checking utf8-ranges v1.0.1 [INFO] [stderr] Checking unicode-width v0.1.5 [INFO] [stderr] Checking quick-error v1.2.2 [INFO] [stderr] Checking same-file v1.0.3 [INFO] [stderr] Checking termcolor v1.0.3 [INFO] [stderr] Checking fnv v1.0.6 [INFO] [stderr] Checking glob v0.2.11 [INFO] [stderr] Checking memchr v2.0.2 [INFO] [stderr] Checking inotify-sys v0.1.3 [INFO] [stderr] Checking log v0.4.5 [INFO] [stderr] Checking filetime v0.2.1 [INFO] [stderr] Checking owning_ref v0.3.3 [INFO] [stderr] Checking unreachable v1.0.0 [INFO] [stderr] Checking regex-syntax v0.6.2 [INFO] [stderr] Checking humantime v1.1.1 [INFO] [stderr] Checking walkdir v2.2.5 [INFO] [stderr] Checking aho-corasick v0.6.8 [INFO] [stderr] Checking mio v0.6.16 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking rand v0.5.5 [INFO] [stderr] Checking iovec v0.1.2 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking num_cpus v1.8.0 [INFO] [stderr] Checking term_size v0.3.1 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking nix v0.11.0 [INFO] [stderr] Checking smallvec v0.6.5 [INFO] [stderr] Checking parking_lot_core v0.3.0 [INFO] [stderr] Checking tokio-io v0.1.8 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking uuid v0.1.18 [INFO] [stderr] Checking lazy_static v1.1.0 [INFO] [stderr] Checking lock_api v0.1.3 [INFO] [stderr] Checking bytes v0.4.10 [INFO] [stderr] Checking textwrap v0.10.0 [INFO] [stderr] Checking mio-extras v2.0.5 [INFO] [stderr] Checking tokio-executor v0.1.4 [INFO] [stderr] Checking parking_lot v0.6.4 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking mktemp v0.3.1 [INFO] [stderr] Checking tokio-reactor v0.1.5 [INFO] [stderr] Checking regex v1.0.5 [INFO] [stderr] Checking inotify v0.6.1 [INFO] [stderr] Checking notify v4.0.6 [INFO] [stderr] Checking globset v0.4.2 [INFO] [stderr] Checking watchexec v1.9.2 (/opt/crater/workdir) [INFO] [stderr] warning: lint name `or_fun_call` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cli.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | #[allow(or_fun_call)] [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::or_fun_call` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cli.rs:189:9 [INFO] [stderr] | [INFO] [stderr] 189 | cmd: cmd, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmd` [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/cli.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | paths: paths, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `paths` [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/cli.rs:191:9 [INFO] [stderr] | [INFO] [stderr] 191 | filters: filters, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `filters` [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/cli.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | ignores: ignores, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ignores` [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/cli.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | signal: signal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `signal` [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/cli.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | debounce: debounce, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `debounce` [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/cli.rs:203:9 [INFO] [stderr] | [INFO] [stderr] 203 | poll_interval: poll_interval, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `poll_interval` [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/gitignore.rs:87:21 [INFO] [stderr] | [INFO] [stderr] 87 | Gitignore { files: files } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `files` [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/gitignore.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | patterns: patterns, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `patterns` [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/gitignore.rs:220:13 [INFO] [stderr] | [INFO] [stderr] 220 | pattern_type: pattern_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pattern_type` [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/gitignore.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | anchored: anchored, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `anchored` [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/notification_filter.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | ignore_files: ignore_files, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ignore_files` [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/pathop.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | op: op, [INFO] [stderr] | ^^^^^^ help: replace it with: `op` [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/pathop.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | cookie: cookie, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `cookie` [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: lint name `mutex_atomic` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/process.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | #[allow(mutex_atomic)] [INFO] [stderr] | ^^^^^^^^^^^^ help: change it to: `clippy::mutex_atomic` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/process.rs:294:21 [INFO] [stderr] | [INFO] [stderr] 294 | job: job, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `job` [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/process.rs:295:21 [INFO] [stderr] | [INFO] [stderr] 295 | completion_port: completion_port, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `completion_port` [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: lint name `or_fun_call` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cli.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | #[allow(or_fun_call)] [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::or_fun_call` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cli.rs:189:9 [INFO] [stderr] | [INFO] [stderr] 189 | cmd: cmd, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmd` [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/cli.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | paths: paths, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `paths` [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/cli.rs:191:9 [INFO] [stderr] | [INFO] [stderr] 191 | filters: filters, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `filters` [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/cli.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | ignores: ignores, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ignores` [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/cli.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | signal: signal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `signal` [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/cli.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | debounce: debounce, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `debounce` [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/cli.rs:203:9 [INFO] [stderr] | [INFO] [stderr] 203 | poll_interval: poll_interval, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `poll_interval` [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/gitignore.rs:87:21 [INFO] [stderr] | [INFO] [stderr] 87 | Gitignore { files: files } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `files` [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/gitignore.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | patterns: patterns, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `patterns` [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/gitignore.rs:220:13 [INFO] [stderr] | [INFO] [stderr] 220 | pattern_type: pattern_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pattern_type` [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/gitignore.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | anchored: anchored, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `anchored` [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/notification_filter.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | ignore_files: ignore_files, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ignore_files` [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/pathop.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | op: op, [INFO] [stderr] | ^^^^^^ help: replace it with: `op` [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/pathop.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | cookie: cookie, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `cookie` [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: lint name `mutex_atomic` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/process.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | #[allow(mutex_atomic)] [INFO] [stderr] | ^^^^^^^^^^^^ help: change it to: `clippy::mutex_atomic` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/process.rs:294:21 [INFO] [stderr] | [INFO] [stderr] 294 | job: job, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `job` [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/process.rs:295:21 [INFO] [stderr] | [INFO] [stderr] 295 | completion_port: completion_port, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `completion_port` [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: lint name `or_fun_call` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cli.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | #[allow(or_fun_call)] [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::or_fun_call` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cli.rs:189:9 [INFO] [stderr] | [INFO] [stderr] 189 | cmd: cmd, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cmd` [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/cli.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | paths: paths, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `paths` [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/cli.rs:191:9 [INFO] [stderr] | [INFO] [stderr] 191 | filters: filters, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `filters` [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/cli.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | ignores: ignores, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `ignores` [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/cli.rs:193:9 [INFO] [stderr] | [INFO] [stderr] 193 | signal: signal, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `signal` [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/cli.rs:196:9 [INFO] [stderr] | [INFO] [stderr] 196 | debounce: debounce, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `debounce` [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/cli.rs:203:9 [INFO] [stderr] | [INFO] [stderr] 203 | poll_interval: poll_interval, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `poll_interval` [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/gitignore.rs:87:21 [INFO] [stderr] | [INFO] [stderr] 87 | Gitignore { files: files } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `files` [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/gitignore.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | patterns: patterns, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `patterns` [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/gitignore.rs:220:13 [INFO] [stderr] | [INFO] [stderr] 220 | pattern_type: pattern_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pattern_type` [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/gitignore.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | anchored: anchored, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `anchored` [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/notification_filter.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | ignore_files: ignore_files, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ignore_files` [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/pathop.rs:16:13 [INFO] [stderr] | [INFO] [stderr] 16 | op: op, [INFO] [stderr] | ^^^^^^ help: replace it with: `op` [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/pathop.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | cookie: cookie, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `cookie` [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: lint name `mutex_atomic` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/process.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | #[allow(mutex_atomic)] [INFO] [stderr] | ^^^^^^^^^^^^ help: change it to: `clippy::mutex_atomic` [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/process.rs:294:21 [INFO] [stderr] | [INFO] [stderr] 294 | job: job, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `job` [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/process.rs:295:21 [INFO] [stderr] | [INFO] [stderr] 295 | completion_port: completion_port, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `completion_port` [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: lint name `or_fun_call` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cli.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | #[allow(or_fun_call)] [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::or_fun_call` [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/process.rs:383:21 [INFO] [stderr] | [INFO] [stderr] 383 | const ENV_SEP: &'static str = ":"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: lint name `or_fun_call` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cli.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | #[allow(or_fun_call)] [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::or_fun_call` [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/process.rs:383:21 [INFO] [stderr] | [INFO] [stderr] 383 | const ENV_SEP: &'static str = ":"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/cli.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn get_args() -> Args { [INFO] [stderr] 38 | | let args = App::new("watchexec") [INFO] [stderr] 39 | | .version(crate_version!()) [INFO] [stderr] 40 | | .about("Execute commands when watched files change") [INFO] [stderr] ... | [INFO] [stderr] 204 | | } [INFO] [stderr] 205 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/gitignore.rs:132:27 [INFO] [stderr] | [INFO] [stderr] 132 | let mut pat = String::from(p.pattern.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `p.pattern.clone()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/gitignore.rs:138:17 [INFO] [stderr] | [INFO] [stderr] 138 | pat = pat + "/**"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `pat += "/**"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/gitignore.rs:161:12 [INFO] [stderr] | [INFO] [stderr] 161 | if !stripped.is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `stripped.is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/gitignore.rs:167:9 [INFO] [stderr] | [INFO] [stderr] 167 | / for &i in matches.iter().rev() { [INFO] [stderr] 168 | | let pattern = &self.patterns[i]; [INFO] [stderr] 169 | | return match pattern.pattern_type { [INFO] [stderr] 170 | | PatternType::Whitelist => MatchResult::Whitelist, [INFO] [stderr] 171 | | PatternType::Ignore => MatchResult::Ignore, [INFO] [stderr] 172 | | }; [INFO] [stderr] 173 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/notification_filter.rs:30:60 [INFO] [stderr] | [INFO] [stderr] 30 | if ignore_path.is_relative() && !i.starts_with("*") { [INFO] [stderr] | ^^^ help: try using a char instead: `'*'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/process.rs:5:19 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn spawn(cmd: &Vec, updated_paths: Vec, no_shell: bool) -> Process { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/process.rs:85:18 [INFO] [stderr] | [INFO] [stderr] 85 | cmd: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/process.rs:136:36 [INFO] [stderr] | [INFO] [stderr] 136 | finished = finished && true [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `finished` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/run.rs:65:16 [INFO] [stderr] | [INFO] [stderr] 65 | let poll = args.poll.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `args.poll` [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/run.rs:67:25 [INFO] [stderr] | [INFO] [stderr] 67 | let poll_interval = args.poll_interval.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `args.poll_interval` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/signal.rs:4:25 [INFO] [stderr] | [INFO] [stderr] 4 | static ref CLEANUP: Mutex>> = Mutex::new(None); [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/signal.rs:4:25 [INFO] [stderr] | [INFO] [stderr] 4 | static ref CLEANUP: Mutex>> = Mutex::new(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `watchexec`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: lint name `or_fun_call` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/cli.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | #[allow(or_fun_call)] [INFO] [stderr] | ^^^^^^^^^^^ help: change it to: `clippy::or_fun_call` [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/process.rs:383:21 [INFO] [stderr] | [INFO] [stderr] 383 | const ENV_SEP: &'static str = ":"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/cli.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn get_args() -> Args { [INFO] [stderr] 38 | | let args = App::new("watchexec") [INFO] [stderr] 39 | | .version(crate_version!()) [INFO] [stderr] 40 | | .about("Execute commands when watched files change") [INFO] [stderr] ... | [INFO] [stderr] 204 | | } [INFO] [stderr] 205 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/gitignore.rs:132:27 [INFO] [stderr] | [INFO] [stderr] 132 | let mut pat = String::from(p.pattern.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `p.pattern.clone()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/gitignore.rs:138:17 [INFO] [stderr] | [INFO] [stderr] 138 | pat = pat + "/**"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `pat += "/**"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/gitignore.rs:161:12 [INFO] [stderr] | [INFO] [stderr] 161 | if !stripped.is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `stripped.is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/gitignore.rs:167:9 [INFO] [stderr] | [INFO] [stderr] 167 | / for &i in matches.iter().rev() { [INFO] [stderr] 168 | | let pattern = &self.patterns[i]; [INFO] [stderr] 169 | | return match pattern.pattern_type { [INFO] [stderr] 170 | | PatternType::Whitelist => MatchResult::Whitelist, [INFO] [stderr] 171 | | PatternType::Ignore => MatchResult::Ignore, [INFO] [stderr] 172 | | }; [INFO] [stderr] 173 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/notification_filter.rs:30:60 [INFO] [stderr] | [INFO] [stderr] 30 | if ignore_path.is_relative() && !i.starts_with("*") { [INFO] [stderr] | ^^^ help: try using a char instead: `'*'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/notification_filter.rs:77:78 [INFO] [stderr] | [INFO] [stderr] 77 | let filter = NotificationFilter::new(vec![], vec![], gitignore::load(&vec![])).unwrap(); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [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/notification_filter.rs:87:29 [INFO] [stderr] | [INFO] [stderr] 87 | gitignore::load(&vec![]), [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [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: useless use of `vec!` [INFO] [stderr] --> src/notification_filter.rs:97:79 [INFO] [stderr] | [INFO] [stderr] 97 | let filter = NotificationFilter::new(filters, vec![], gitignore::load(&vec![])).unwrap(); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [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: useless use of `vec!` [INFO] [stderr] --> src/notification_filter.rs:107:79 [INFO] [stderr] | [INFO] [stderr] 107 | let filter = NotificationFilter::new(vec![], ignores, gitignore::load(&vec![])).unwrap(); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [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: useless use of `vec!` [INFO] [stderr] --> src/notification_filter.rs:118:79 [INFO] [stderr] | [INFO] [stderr] 118 | NotificationFilter::new(ignores.clone(), ignores, gitignore::load(&vec![])).unwrap(); [INFO] [stderr] | ^^^^^^^ help: you can use a slice directly: `&[]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/process.rs:5:19 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn spawn(cmd: &Vec, updated_paths: Vec, no_shell: bool) -> Process { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/process.rs:85:18 [INFO] [stderr] | [INFO] [stderr] 85 | cmd: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/process.rs:136:36 [INFO] [stderr] | [INFO] [stderr] 136 | finished = finished && true [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `finished` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/run.rs:65:16 [INFO] [stderr] | [INFO] [stderr] 65 | let poll = args.poll.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `args.poll` [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/run.rs:67:25 [INFO] [stderr] | [INFO] [stderr] 67 | let poll_interval = args.poll_interval.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `args.poll_interval` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/signal.rs:4:25 [INFO] [stderr] | [INFO] [stderr] 4 | static ref CLEANUP: Mutex>> = Mutex::new(None); [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/signal.rs:4:25 [INFO] [stderr] | [INFO] [stderr] 4 | static ref CLEANUP: Mutex>> = Mutex::new(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `watchexec`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/cli.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn get_args() -> Args { [INFO] [stderr] 38 | | let args = App::new("watchexec") [INFO] [stderr] 39 | | .version(crate_version!()) [INFO] [stderr] 40 | | .about("Execute commands when watched files change") [INFO] [stderr] ... | [INFO] [stderr] 204 | | } [INFO] [stderr] 205 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/gitignore.rs:132:27 [INFO] [stderr] | [INFO] [stderr] 132 | let mut pat = String::from(p.pattern.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `p.pattern.clone()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/gitignore.rs:138:17 [INFO] [stderr] | [INFO] [stderr] 138 | pat = pat + "/**"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `pat += "/**"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/gitignore.rs:161:12 [INFO] [stderr] | [INFO] [stderr] 161 | if !stripped.is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `stripped.is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/gitignore.rs:167:9 [INFO] [stderr] | [INFO] [stderr] 167 | / for &i in matches.iter().rev() { [INFO] [stderr] 168 | | let pattern = &self.patterns[i]; [INFO] [stderr] 169 | | return match pattern.pattern_type { [INFO] [stderr] 170 | | PatternType::Whitelist => MatchResult::Whitelist, [INFO] [stderr] 171 | | PatternType::Ignore => MatchResult::Ignore, [INFO] [stderr] 172 | | }; [INFO] [stderr] 173 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/notification_filter.rs:30:60 [INFO] [stderr] | [INFO] [stderr] 30 | if ignore_path.is_relative() && !i.starts_with("*") { [INFO] [stderr] | ^^^ help: try using a char instead: `'*'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/process.rs:5:19 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn spawn(cmd: &Vec, updated_paths: Vec, no_shell: bool) -> Process { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/process.rs:85:18 [INFO] [stderr] | [INFO] [stderr] 85 | cmd: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/process.rs:136:36 [INFO] [stderr] | [INFO] [stderr] 136 | finished = finished && true [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `finished` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/run.rs:65:16 [INFO] [stderr] | [INFO] [stderr] 65 | let poll = args.poll.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `args.poll` [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/run.rs:67:25 [INFO] [stderr] | [INFO] [stderr] 67 | let poll_interval = args.poll_interval.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `args.poll_interval` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/signal.rs:4:25 [INFO] [stderr] | [INFO] [stderr] 4 | static ref CLEANUP: Mutex>> = Mutex::new(None); [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/signal.rs:4:25 [INFO] [stderr] | [INFO] [stderr] 4 | static ref CLEANUP: Mutex>> = Mutex::new(None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `watchexec`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "9594bf6ee9d320ace846c7f3b6004e5962473dd94cc30f5cea1831590737834f"` [INFO] running `"docker" "rm" "-f" "9594bf6ee9d320ace846c7f3b6004e5962473dd94cc30f5cea1831590737834f"` [INFO] [stdout] 9594bf6ee9d320ace846c7f3b6004e5962473dd94cc30f5cea1831590737834f