[INFO] updating cached repository anp/fomo [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/anp/fomo [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/anp/fomo" "work/ex/clippy-test-run/sources/stable/gh/anp/fomo"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/anp/fomo'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/anp/fomo" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/anp/fomo"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/anp/fomo'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c99b89d491ab991351f5d5435406c74f457c0ad3 [INFO] sha for GitHub repo anp/fomo: c99b89d491ab991351f5d5435406c74f457c0ad3 [INFO] validating manifest of anp/fomo 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 anp/fomo 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 anp/fomo [INFO] finished frobbing anp/fomo [INFO] frobbed toml for anp/fomo written to work/ex/clippy-test-run/sources/stable/gh/anp/fomo/Cargo.toml [INFO] started frobbing anp/fomo [INFO] finished frobbing anp/fomo [INFO] frobbed toml for anp/fomo written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/anp/fomo/Cargo.toml [INFO] crate anp/fomo 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 anp/fomo against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/anp/fomo:/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] 891ae194e84027388ec050df59eebd7308dac0968572b7d6d462d6d14cab12d6 [INFO] running `"docker" "start" "-a" "891ae194e84027388ec050df59eebd7308dac0968572b7d6d462d6d14cab12d6"` [INFO] [stderr] Blocking waiting for file lock on the registry index [INFO] [stderr] Checking dtoa v0.4.0 [INFO] [stderr] Checking itoa v0.3.0 [INFO] [stderr] Compiling backtrace-sys v0.1.10 [INFO] [stderr] Checking num-integer v0.1.33 [INFO] [stderr] Checking inotify v0.3.0 [INFO] [stderr] Checking net2 v0.2.27 [INFO] [stderr] Checking aho-corasick v0.6.3 [INFO] [stderr] Checking clap v2.20.5 [INFO] [stderr] Checking thread_local v0.3.3 [INFO] [stderr] Checking num-iter v0.1.33 [INFO] [stderr] Checking serde_json v0.9.6 [INFO] [stderr] Checking num v0.1.36 [INFO] [stderr] Checking miow v0.1.5 [INFO] [stderr] Checking regex v0.2.1 [INFO] [stderr] Checking mio v0.5.1 [INFO] [stderr] Checking chrono v0.3.0 [INFO] [stderr] Checking env_logger v0.4.2 [INFO] [stderr] Checking backtrace v0.3.0 [INFO] [stderr] Checking error-chain v0.10.0 [INFO] [stderr] Checking fomo v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/fs_view.rs:338:7 [INFO] [stderr] | [INFO] [stderr] 338 | files: files, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `files` [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/fs_view.rs:488:7 [INFO] [stderr] | [INFO] [stderr] 488 | event: event, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `event` [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/fs_view.rs:505:7 [INFO] [stderr] | [INFO] [stderr] 505 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/fs_view.rs:560:7 [INFO] [stderr] | [INFO] [stderr] 560 | basename: basename, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `basename` [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/fs_view.rs:669:7 [INFO] [stderr] | [INFO] [stderr] 669 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [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/fs_view.rs:693:7 [INFO] [stderr] | [INFO] [stderr] 693 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [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/fs_view.rs:717:7 [INFO] [stderr] | [INFO] [stderr] 717 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [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/notify/inotify/mod.rs:140:21 [INFO] [stderr] | [INFO] [stderr] 140 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/notify/inotify/mod.rs:187:23 [INFO] [stderr] | [INFO] [stderr] 187 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/notify/inotify/mod.rs:375:36 [INFO] [stderr] | [INFO] [stderr] 375 | event_tx: EventTx::Raw { tx: tx, }, [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [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/fs_view.rs:338:7 [INFO] [stderr] | [INFO] [stderr] 338 | files: files, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `files` [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/notify/poll.rs:46:35 [INFO] [stderr] | [INFO] [stderr] 46 | let event_tx = EventTx::Raw { tx: tx, }; [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [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] warning: redundant field names in struct initialization [INFO] [stderr] --> src/fs_view.rs:488:7 [INFO] [stderr] --> src/notify/poll.rs:84:40 [INFO] [stderr] | [INFO] [stderr] 84 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [INFO] [stderr] | [INFO] [stderr] 488 | event: event, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `event` [INFO] [stderr] | [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] = 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/fs_view.rs:505:7 [INFO] [stderr] | [INFO] [stderr] 505 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/notify/poll.rs:121:46 [INFO] [stderr] | [INFO] [stderr] 121 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [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/fs_view.rs:560:7 [INFO] [stderr] | [INFO] [stderr] 560 | basename: basename, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `basename` [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/notify/poll.rs:212:28 [INFO] [stderr] | [INFO] [stderr] 212 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [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/notify/poll.rs:218:30 [INFO] [stderr] | [INFO] [stderr] 218 | 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/fs_view.rs:669:7 [INFO] [stderr] | [INFO] [stderr] 669 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [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/fs_view.rs:693:7 [INFO] [stderr] | [INFO] [stderr] 693 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [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/fs_view.rs:717:7 [INFO] [stderr] | [INFO] [stderr] 717 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [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/notify/inotify/mod.rs:140:21 [INFO] [stderr] | [INFO] [stderr] 140 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/notify/inotify/mod.rs:187:23 [INFO] [stderr] | [INFO] [stderr] 187 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/notify/inotify/mod.rs:375:36 [INFO] [stderr] | [INFO] [stderr] 375 | event_tx: EventTx::Raw { tx: tx, }, [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [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/notify/poll.rs:46:35 [INFO] [stderr] | [INFO] [stderr] 46 | let event_tx = EventTx::Raw { tx: tx, }; [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [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/notify/poll.rs:84:40 [INFO] [stderr] | [INFO] [stderr] 84 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [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/notify/poll.rs:121:46 [INFO] [stderr] | [INFO] [stderr] 121 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [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/notify/poll.rs:212:28 [INFO] [stderr] | [INFO] [stderr] 212 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] | [INFO] [stderr] --> src/notify/poll.rs:246:34 [INFO] [stderr] | [INFO] [stderr] 246 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/notify/poll.rs:218:30 [INFO] [stderr] | [INFO] [stderr] 218 | 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] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/notify/poll.rs:246:34 [INFO] [stderr] | [INFO] [stderr] 246 | mtime: mtime, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `mtime` [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/notify/poll.rs:255:30 [INFO] [stderr] | [INFO] [stderr] 255 | 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] = 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/notify/poll.rs:255:30 [INFO] [stderr] | [INFO] [stderr] 255 | 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/notify/debounce/timer.rs:54:7 [INFO] [stderr] | [INFO] [stderr] 54 | trigger: trigger, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `trigger` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/notify/debounce/timer.rs:54:7 [INFO] [stderr] | [INFO] [stderr] 54 | trigger: trigger, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `trigger` [INFO] [stderr] | [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/notify/debounce/timer.rs:55:7 [INFO] [stderr] | [INFO] [stderr] 55 | request_source: request_source, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_source` [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/notify/debounce/timer.rs:55:7 [INFO] [stderr] | [INFO] [stderr] 55 | request_source: request_source, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `request_source` [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/notify/debounce/timer.rs:58:7 [INFO] [stderr] | [INFO] [stderr] 58 | tx: tx, [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [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/notify/debounce/timer.rs:59:7 [INFO] [stderr] | [INFO] [stderr] 59 | operations_buffer: operations_buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `operations_buffer` [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] | [INFO] [stderr] --> src/notify/debounce/timer.rs:58:7 [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] 58 | tx: tx, [INFO] [stderr] [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [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/notify/debounce/timer.rs:59:7 [INFO] [stderr] | [INFO] [stderr] 59 | operations_buffer: operations_buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `operations_buffer` [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/notify/debounce/timer.rs:184:7 [INFO] [stderr] | [INFO] [stderr] 184 | schedule_tx: schedule_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `schedule_tx` [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/notify/debounce/timer.rs:185:7 [INFO] [stderr] | [INFO] [stderr] 185 | trigger: trigger, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `trigger` [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/notify/debounce/timer.rs:186:7 [INFO] [stderr] | [INFO] [stderr] 186 | delay: delay, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delay` [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] --> src/notify/debounce/timer.rs:184:7 [INFO] [stderr] | [INFO] [stderr] 184 | schedule_tx: schedule_tx, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `schedule_tx` [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/notify/debounce/timer.rs:197:9 [INFO] [stderr] | [INFO] [stderr] 197 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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] = 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/notify/debounce/timer.rs:185:7 [INFO] [stderr] | [INFO] [stderr] 185 | trigger: trigger, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `trigger` [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/notify/debounce/timer.rs:186:7 [INFO] [stderr] | [INFO] [stderr] 186 | delay: delay, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `delay` [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/notify/debounce/timer.rs:197:9 [INFO] [stderr] | [INFO] [stderr] 197 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/notify/debounce/mod.rs:85:7 [INFO] [stderr] | [INFO] [stderr] 85 | tx: tx, [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [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/notify/debounce/mod.rs:86:7 [INFO] [stderr] | [INFO] [stderr] 86 | operations_buffer: operations_buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `operations_buffer` [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/notify/debounce/mod.rs:89:7 [INFO] [stderr] | [INFO] [stderr] 89 | timer: timer, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `timer` [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/notify/debounce/mod.rs:85:7 [INFO] [stderr] | [INFO] [stderr] 85 | tx: tx, [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [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/notify/debounce/mod.rs:86:7 [INFO] [stderr] | [INFO] [stderr] 86 | operations_buffer: operations_buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `operations_buffer` [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/notify/debounce/mod.rs:89:7 [INFO] [stderr] | [INFO] [stderr] 89 | timer: timer, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `timer` [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/query.rs:79:7 [INFO] [stderr] | [INFO] [stderr] 79 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/query.rs:80:7 [INFO] [stderr] | [INFO] [stderr] 80 | is_dir: is_dir, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `is_dir` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query.rs:79:7 [INFO] [stderr] | [INFO] [stderr] 79 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query.rs:81:7 [INFO] [stderr] --> src/query.rs:80:7 [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] 81 | link_target: link_target, [INFO] [stderr] 80 | is_dir: is_dir, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `link_target` [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `is_dir` [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] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/query.rs:81:7 [INFO] [stderr] | [INFO] [stderr] 81 | link_target: link_target, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `link_target` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `DebouncedEvent` [INFO] [stderr] --> src/notify/inotify/mod.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | use super::{DebouncedEvent, Error, Op, RawEvent, RecursiveMode, Result, Watcher, op}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:9:31 [INFO] [stderr] | [INFO] [stderr] 9 | const IN_ACCESS = 0x00000001, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:15:31 [INFO] [stderr] | [INFO] [stderr] 15 | const IN_MODIFY = 0x00000002, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0002` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:35:31 [INFO] [stderr] | [INFO] [stderr] 35 | const IN_ATTRIB = 0x00000004, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0004` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:41:31 [INFO] [stderr] | [INFO] [stderr] 41 | const IN_CLOSE_WRITE = 0x00000008, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0008` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:47:31 [INFO] [stderr] | [INFO] [stderr] 47 | const IN_CLOSE_NOWRITE = 0x00000010, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:53:31 [INFO] [stderr] | [INFO] [stderr] 53 | const IN_OPEN = 0x00000020, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0020` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:59:31 [INFO] [stderr] | [INFO] [stderr] 59 | const IN_MOVED_FROM = 0x00000040, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0040` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:65:31 [INFO] [stderr] | [INFO] [stderr] 65 | const IN_MOVED_TO = 0x00000080, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0080` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:73:31 [INFO] [stderr] | [INFO] [stderr] 73 | const IN_CREATE = 0x00000100, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0100` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:81:31 [INFO] [stderr] | [INFO] [stderr] 81 | const IN_DELETE = 0x00000200, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0200` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:92:31 [INFO] [stderr] | [INFO] [stderr] 92 | const IN_DELETE_SELF = 0x00000400, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0400` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:95:31 [INFO] [stderr] | [INFO] [stderr] 95 | const IN_MOVE_SELF = 0x00000800, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0800` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:126:30 [INFO] [stderr] | [INFO] [stderr] 126 | const IN_ONLYDIR = 0x01000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0100_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:129:30 [INFO] [stderr] | [INFO] [stderr] 129 | const IN_DONT_FOLLOW = 0x02000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0200_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:144:30 [INFO] [stderr] | [INFO] [stderr] 144 | const IN_EXCL_UNLINK = 0x04000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0400_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:151:30 [INFO] [stderr] | [INFO] [stderr] 151 | const IN_MASK_ADD = 0x20000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x2000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:154:30 [INFO] [stderr] | [INFO] [stderr] 154 | const IN_ONESHOT = 0x80000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:157:30 [INFO] [stderr] | [INFO] [stderr] 157 | const IN_ISDIR = 0x40000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x4000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:162:30 [INFO] [stderr] | [INFO] [stderr] 162 | const IN_UNMOUNT = 0x00002000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_2000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:165:30 [INFO] [stderr] | [INFO] [stderr] 165 | const IN_Q_OVERFLOW = 0x00004000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_4000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:176:30 [INFO] [stderr] | [INFO] [stderr] 176 | const IN_IGNORED = 0x00008000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_8000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:344:27 [INFO] [stderr] | [INFO] [stderr] 344 | const CHMOD = 0b0000001, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b000_0001` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:346:27 [INFO] [stderr] | [INFO] [stderr] 346 | const CREATE = 0b0000010, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:348:27 [INFO] [stderr] | [INFO] [stderr] 348 | const REMOVE = 0b0000100, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b000_0100` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:350:27 [INFO] [stderr] | [INFO] [stderr] 350 | const RENAME = 0b0001000, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b000_1000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:352:27 [INFO] [stderr] | [INFO] [stderr] 352 | const WRITE = 0b0010000, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b001_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:354:27 [INFO] [stderr] | [INFO] [stderr] 354 | const CLOSE_WRITE = 0b0100000, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b010_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:356:27 [INFO] [stderr] | [INFO] [stderr] 356 | const RESCAN = 0b1000000, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b100_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/query.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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/fs_view.rs:843:22 [INFO] [stderr] | [INFO] [stderr] 843 | pub const FILE: &'static str = "/bin/bash"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/fs_view.rs:844:27 [INFO] [stderr] | [INFO] [stderr] 844 | pub const DIRECTORY: &'static str = "/usr"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [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: unused import: `DebouncedEvent` [INFO] [stderr] --> src/notify/inotify/mod.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | use super::{DebouncedEvent, Error, Op, RawEvent, RecursiveMode, Result, Watcher, op}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:9:31 [INFO] [stderr] | [INFO] [stderr] 9 | const IN_ACCESS = 0x00000001, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:15:31 [INFO] [stderr] | [INFO] [stderr] 15 | const IN_MODIFY = 0x00000002, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0002` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:35:31 [INFO] [stderr] | [INFO] [stderr] 35 | const IN_ATTRIB = 0x00000004, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0004` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:41:31 [INFO] [stderr] | [INFO] [stderr] 41 | const IN_CLOSE_WRITE = 0x00000008, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0008` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:47:31 [INFO] [stderr] | [INFO] [stderr] 47 | const IN_CLOSE_NOWRITE = 0x00000010, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:53:31 [INFO] [stderr] | [INFO] [stderr] 53 | const IN_OPEN = 0x00000020, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0020` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:59:31 [INFO] [stderr] | [INFO] [stderr] 59 | const IN_MOVED_FROM = 0x00000040, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0040` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:65:31 [INFO] [stderr] | [INFO] [stderr] 65 | const IN_MOVED_TO = 0x00000080, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0080` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:73:31 [INFO] [stderr] | [INFO] [stderr] 73 | const IN_CREATE = 0x00000100, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0100` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:81:31 [INFO] [stderr] | [INFO] [stderr] 81 | const IN_DELETE = 0x00000200, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0200` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:92:31 [INFO] [stderr] | [INFO] [stderr] 92 | const IN_DELETE_SELF = 0x00000400, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0400` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:95:31 [INFO] [stderr] | [INFO] [stderr] 95 | const IN_MOVE_SELF = 0x00000800, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0800` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:126:30 [INFO] [stderr] | [INFO] [stderr] 126 | const IN_ONLYDIR = 0x01000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0100_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:129:30 [INFO] [stderr] | [INFO] [stderr] 129 | const IN_DONT_FOLLOW = 0x02000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0200_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:144:30 [INFO] [stderr] | [INFO] [stderr] 144 | const IN_EXCL_UNLINK = 0x04000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0400_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:151:30 [INFO] [stderr] | [INFO] [stderr] 151 | const IN_MASK_ADD = 0x20000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x2000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:154:30 [INFO] [stderr] | [INFO] [stderr] 154 | const IN_ONESHOT = 0x80000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x8000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:157:30 [INFO] [stderr] | [INFO] [stderr] 157 | const IN_ISDIR = 0x40000000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x4000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:162:30 [INFO] [stderr] | [INFO] [stderr] 162 | const IN_UNMOUNT = 0x00002000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_2000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:165:30 [INFO] [stderr] | [INFO] [stderr] 165 | const IN_Q_OVERFLOW = 0x00004000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_4000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/inotify/flags.rs:176:30 [INFO] [stderr] | [INFO] [stderr] 176 | const IN_IGNORED = 0x00008000, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_8000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:344:27 [INFO] [stderr] | [INFO] [stderr] 344 | const CHMOD = 0b0000001, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b000_0001` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:346:27 [INFO] [stderr] | [INFO] [stderr] 346 | const CREATE = 0b0000010, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:348:27 [INFO] [stderr] | [INFO] [stderr] 348 | const REMOVE = 0b0000100, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b000_0100` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:350:27 [INFO] [stderr] | [INFO] [stderr] 350 | const RENAME = 0b0001000, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b000_1000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:352:27 [INFO] [stderr] | [INFO] [stderr] 352 | const WRITE = 0b0010000, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b001_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:354:27 [INFO] [stderr] | [INFO] [stderr] 354 | const CLOSE_WRITE = 0b0100000, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b010_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/notify/mod.rs:356:27 [INFO] [stderr] | [INFO] [stderr] 356 | const RESCAN = 0b1000000, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b100_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/query.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/query.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ascii::AsciiExt` [INFO] [stderr] --> src/query.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/fs_view.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | / match self.current { [INFO] [stderr] 87 | | Some(ref node) => { [INFO] [stderr] 88 | | // add children to the stack to visit next [INFO] [stderr] 89 | | match node.entry { [INFO] [stderr] ... | [INFO] [stderr] 98 | | None => (), [INFO] [stderr] 99 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 86 | if let Some(ref node) = self.current { [INFO] [stderr] 87 | // add children to the stack to visit next [INFO] [stderr] 88 | match node.entry { [INFO] [stderr] 89 | FsEntryType::RootRoot { ref children } | [INFO] [stderr] 90 | FsEntryType::Directory { ref children } => { [INFO] [stderr] 91 | self.to_visit.extend(children.values().rev()); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `fs_view::FsRootNode` [INFO] [stderr] --> src/fs_view.rs:111:3 [INFO] [stderr] | [INFO] [stderr] 111 | / pub fn new() -> Self { [INFO] [stderr] 112 | | FsRootNode { [INFO] [stderr] 113 | | base: FsNode { [INFO] [stderr] 114 | | path: PathBuf::from(""), [INFO] [stderr] ... | [INFO] [stderr] 120 | | } [INFO] [stderr] 121 | | } [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] 110 | impl Default for fs_view::FsRootNode { [INFO] [stderr] 111 | fn default() -> Self { [INFO] [stderr] 112 | Self::new() [INFO] [stderr] 113 | } [INFO] [stderr] 114 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/fs_view.rs:238:16 [INFO] [stderr] | [INFO] [stderr] 238 | if let Some(_) = self.matching_root_if_needs_notification(&new_node) { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 239 | | changes.push(FileEvent { [INFO] [stderr] 240 | | event: ChangeEvent::Create, [INFO] [stderr] 241 | | file: FileResult::make(&new_node), [INFO] [stderr] 242 | | }); [INFO] [stderr] 243 | | } [INFO] [stderr] | |_________- help: try this: `if self.matching_root_if_needs_notification(&new_node).is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/fs_view.rs:264:13 [INFO] [stderr] | [INFO] [stderr] 264 | for ref root in self.roots.keys() { [INFO] [stderr] | ^^^^^^^^ ----------------- help: try: `let root = &self.roots.keys();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/fs_view.rs:277:32 [INFO] [stderr] | [INFO] [stderr] 277 | for (ref root, _) in &self.roots { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 277 | for ref root in self.roots.keys() { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/fs_view.rs:279:59 [INFO] [stderr] | [INFO] [stderr] 279 | segments.entry(root.clone()).or_insert_with(|| Vec::new()).push(notif); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/fs_view.rs:279:30 [INFO] [stderr] | [INFO] [stderr] 279 | segments.entry(root.clone()).or_insert_with(|| Vec::new()).push(notif); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 279 | segments.entry(&(*root).clone()).or_insert_with(|| Vec::new()).push(notif); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 279 | segments.entry(&std::path::PathBuf::clone(root)).or_insert_with(|| Vec::new()).push(notif); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/fs_view.rs:422:23 [INFO] [stderr] | [INFO] [stderr] 422 | let in_both = old_files.intersection(&new_files).map(|s| *s).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `old_files.intersection(&new_files).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/fs_view.rs:492:5 [INFO] [stderr] | [INFO] [stderr] 492 | / match &self.entry { [INFO] [stderr] 493 | | &FsEntryType::RootRoot { ref children } | [INFO] [stderr] 494 | | &FsEntryType::Directory { ref children } => { [INFO] [stderr] 495 | | for node in children.values() { [INFO] [stderr] ... | [INFO] [stderr] 499 | | _ => (), [INFO] [stderr] 500 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 492 | match self.entry { [INFO] [stderr] 493 | FsEntryType::RootRoot { ref children } | [INFO] [stderr] 494 | FsEntryType::Directory { ref children } => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/fs_view.rs:573:5 [INFO] [stderr] | [INFO] [stderr] 573 | / match &self.entry { [INFO] [stderr] 574 | | &FsEntryType::RootRoot { ref children } | [INFO] [stderr] 575 | | &FsEntryType::Directory { ref children } => { [INFO] [stderr] 576 | | buf.push('\n'); [INFO] [stderr] ... | [INFO] [stderr] 588 | | } [INFO] [stderr] 589 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 573 | match self.entry { [INFO] [stderr] 574 | FsEntryType::RootRoot { ref children } | [INFO] [stderr] 575 | FsEntryType::Directory { ref children } => { [INFO] [stderr] 576 | buf.push('\n'); [INFO] [stderr] 577 | for (_, child) in children { [INFO] [stderr] 578 | child.format_into_buffer(buf, depth + 1); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/fs_view.rs:577:27 [INFO] [stderr] | [INFO] [stderr] 577 | for (_, child) in children { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 577 | for child in children.values() { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/glob_wrapper.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 52 | Pattern::from_str(s).map(|p| Globber(p)) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove closure as shown: `Globber` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: replacing an `Option` with `None` [INFO] [stderr] --> src/notify/inotify/mod.rs:53:15 [INFO] [stderr] | [INFO] [stderr] 53 | let event = mem::replace(rename_event, None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider `Option::take()` instead: `rename_event.take()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mem_replace_option_with_none)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_option_with_none [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/notify/poll.rs:47:33 [INFO] [stderr] | [INFO] [stderr] 47 | p.run(Duration::from_millis(delay as u64), event_tx); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(delay)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/notify/debounce/mod.rs:315:46 [INFO] [stderr] | [INFO] [stderr] 315 | let use_from_path = from_from_path.or(self.rename_path.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| self.rename_path.clone())` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/notify/debounce/mod.rs:459:52 [INFO] [stderr] | [INFO] [stderr] 459 | fn remove_repeated_events(mut op: op::Op, prev_op: &Option) -> op::Op { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/query.rs:68:56 [INFO] [stderr] | [INFO] [stderr] 68 | let (len, is_dir, link_target, link_target_type) = match &node.entry { [INFO] [stderr] | ________________________________________________________^ [INFO] [stderr] 69 | | &FsEntryType::File { len: l } => (l, false, None, None), [INFO] [stderr] 70 | | &FsEntryType::Symlink { ref target, ty } => (0, false, Some(target.clone()), Some(ty)), [INFO] [stderr] 71 | | &FsEntryType::Directory { ref children } | [INFO] [stderr] 72 | | &FsEntryType::RootRoot { ref children } => (children.len() as u64, true, None, None), [INFO] [stderr] 73 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 68 | let (len, is_dir, link_target, link_target_type) = match node.entry { [INFO] [stderr] 69 | FsEntryType::File { len: l } => (l, false, None, None), [INFO] [stderr] 70 | FsEntryType::Symlink { ref target, ty } => (0, false, Some(target.clone()), Some(ty)), [INFO] [stderr] 71 | FsEntryType::Directory { ref children } | [INFO] [stderr] 72 | FsEntryType::RootRoot { ref children } => (children.len() as u64, true, None, None), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/query.rs:78:14 [INFO] [stderr] | [INFO] [stderr] 78 | mtime: node.mtime.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.mtime` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/query.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | / match self { [INFO] [stderr] 184 | | &QueryExpression::AllOf(ref subexprs) => subexprs.iter().all(|subexpr| subexpr.matches(node)), [INFO] [stderr] 185 | | [INFO] [stderr] 186 | | &QueryExpression::AnyOf(ref subexprs) => subexprs.iter().any(|subexpr| subexpr.matches(node)), [INFO] [stderr] ... | [INFO] [stderr] 302 | | &QueryExpression::NoOp => true, [INFO] [stderr] 303 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 183 | match *self { [INFO] [stderr] 184 | QueryExpression::AllOf(ref subexprs) => subexprs.iter().all(|subexpr| subexpr.matches(node)), [INFO] [stderr] 185 | [INFO] [stderr] 186 | QueryExpression::AnyOf(ref subexprs) => subexprs.iter().any(|subexpr| subexpr.matches(node)), [INFO] [stderr] 187 | [INFO] [stderr] 188 | QueryExpression::Not(ref subexpr) => !subexpr.matches(node), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/query.rs:193:53 [INFO] [stderr] | [INFO] [stderr] 193 | FsEntryType::RootRoot { ref children } => children.len() == 0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/regex_wrapper.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | Regex::from_str(s).map(|p| RegexMatcher(p)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `RegexMatcher` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/lib.rs:106:17 [INFO] [stderr] | [INFO] [stderr] 106 | scope.spawn(move || { [INFO] [stderr] | _________________^ [INFO] [stderr] 107 | | let mut fs = fs_view::FsRootNode::new(); [INFO] [stderr] 108 | | let mut watcher = match notify::watcher(watcher_root_tx, Duration::from_millis(300)) { [INFO] [stderr] 109 | | Ok(w) => w, [INFO] [stderr] ... | [INFO] [stderr] 212 | | } [INFO] [stderr] 213 | | }); [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] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `fomo`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/fs_view.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | / match self.current { [INFO] [stderr] 87 | | Some(ref node) => { [INFO] [stderr] 88 | | // add children to the stack to visit next [INFO] [stderr] 89 | | match node.entry { [INFO] [stderr] ... | [INFO] [stderr] 98 | | None => (), [INFO] [stderr] 99 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 86 | if let Some(ref node) = self.current { [INFO] [stderr] 87 | // add children to the stack to visit next [INFO] [stderr] 88 | match node.entry { [INFO] [stderr] 89 | FsEntryType::RootRoot { ref children } | [INFO] [stderr] 90 | FsEntryType::Directory { ref children } => { [INFO] [stderr] 91 | self.to_visit.extend(children.values().rev()); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `fs_view::FsRootNode` [INFO] [stderr] --> src/fs_view.rs:111:3 [INFO] [stderr] | [INFO] [stderr] 111 | / pub fn new() -> Self { [INFO] [stderr] 112 | | FsRootNode { [INFO] [stderr] 113 | | base: FsNode { [INFO] [stderr] 114 | | path: PathBuf::from(""), [INFO] [stderr] ... | [INFO] [stderr] 120 | | } [INFO] [stderr] 121 | | } [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] 110 | impl Default for fs_view::FsRootNode { [INFO] [stderr] 111 | fn default() -> Self { [INFO] [stderr] 112 | Self::new() [INFO] [stderr] 113 | } [INFO] [stderr] 114 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/fs_view.rs:238:16 [INFO] [stderr] | [INFO] [stderr] 238 | if let Some(_) = self.matching_root_if_needs_notification(&new_node) { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 239 | | changes.push(FileEvent { [INFO] [stderr] 240 | | event: ChangeEvent::Create, [INFO] [stderr] 241 | | file: FileResult::make(&new_node), [INFO] [stderr] 242 | | }); [INFO] [stderr] 243 | | } [INFO] [stderr] | |_________- help: try this: `if self.matching_root_if_needs_notification(&new_node).is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/fs_view.rs:264:13 [INFO] [stderr] | [INFO] [stderr] 264 | for ref root in self.roots.keys() { [INFO] [stderr] | ^^^^^^^^ ----------------- help: try: `let root = &self.roots.keys();` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's keys [INFO] [stderr] --> src/fs_view.rs:277:32 [INFO] [stderr] | [INFO] [stderr] 277 | for (ref root, _) in &self.roots { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 277 | for ref root in self.roots.keys() { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/fs_view.rs:279:59 [INFO] [stderr] | [INFO] [stderr] 279 | segments.entry(root.clone()).or_insert_with(|| Vec::new()).push(notif); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove closure as shown: `Vec::new` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] error: using `clone` on a double-reference; this will copy the reference instead of cloning the inner type [INFO] [stderr] --> src/fs_view.rs:279:30 [INFO] [stderr] | [INFO] [stderr] 279 | segments.entry(root.clone()).or_insert_with(|| Vec::new()).push(notif); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::clone_double_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_double_ref [INFO] [stderr] help: try dereferencing it [INFO] [stderr] | [INFO] [stderr] 279 | segments.entry(&(*root).clone()).or_insert_with(|| Vec::new()).push(notif); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] help: or try being explicit about what type to clone [INFO] [stderr] | [INFO] [stderr] 279 | segments.entry(&std::path::PathBuf::clone(root)).or_insert_with(|| Vec::new()).push(notif); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/fs_view.rs:422:23 [INFO] [stderr] | [INFO] [stderr] 422 | let in_both = old_files.intersection(&new_files).map(|s| *s).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `old_files.intersection(&new_files).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/fs_view.rs:492:5 [INFO] [stderr] | [INFO] [stderr] 492 | / match &self.entry { [INFO] [stderr] 493 | | &FsEntryType::RootRoot { ref children } | [INFO] [stderr] 494 | | &FsEntryType::Directory { ref children } => { [INFO] [stderr] 495 | | for node in children.values() { [INFO] [stderr] ... | [INFO] [stderr] 499 | | _ => (), [INFO] [stderr] 500 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 492 | match self.entry { [INFO] [stderr] 493 | FsEntryType::RootRoot { ref children } | [INFO] [stderr] 494 | FsEntryType::Directory { ref children } => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/fs_view.rs:573:5 [INFO] [stderr] | [INFO] [stderr] 573 | / match &self.entry { [INFO] [stderr] 574 | | &FsEntryType::RootRoot { ref children } | [INFO] [stderr] 575 | | &FsEntryType::Directory { ref children } => { [INFO] [stderr] 576 | | buf.push('\n'); [INFO] [stderr] ... | [INFO] [stderr] 588 | | } [INFO] [stderr] 589 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 573 | match self.entry { [INFO] [stderr] 574 | FsEntryType::RootRoot { ref children } | [INFO] [stderr] 575 | FsEntryType::Directory { ref children } => { [INFO] [stderr] 576 | buf.push('\n'); [INFO] [stderr] 577 | for (_, child) in children { [INFO] [stderr] 578 | child.format_into_buffer(buf, depth + 1); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/fs_view.rs:577:27 [INFO] [stderr] | [INFO] [stderr] 577 | for (_, child) in children { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 577 | for child in children.values() { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/fs_view.rs:609:6 [INFO] [stderr] | [INFO] [stderr] 609 | Ok(symlink(src, dst).chain_err(|| "unable to create symlink")?) [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] 609 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/fs_view.rs:756:29 [INFO] [stderr] | [INFO] [stderr] 756 | for (_, child) in children { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 756 | for child in children.values() { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/glob_wrapper.rs:52:30 [INFO] [stderr] | [INFO] [stderr] 52 | Pattern::from_str(s).map(|p| Globber(p)) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove closure as shown: `Globber` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: replacing an `Option` with `None` [INFO] [stderr] --> src/notify/inotify/mod.rs:53:15 [INFO] [stderr] | [INFO] [stderr] 53 | let event = mem::replace(rename_event, None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider `Option::take()` instead: `rename_event.take()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::mem_replace_option_with_none)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_option_with_none [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/notify/poll.rs:47:33 [INFO] [stderr] | [INFO] [stderr] 47 | p.run(Duration::from_millis(delay as u64), event_tx); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u64::from(delay)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/notify/debounce/mod.rs:315:46 [INFO] [stderr] | [INFO] [stderr] 315 | let use_from_path = from_from_path.or(self.rename_path.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| self.rename_path.clone())` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/notify/debounce/mod.rs:459:52 [INFO] [stderr] | [INFO] [stderr] 459 | fn remove_repeated_events(mut op: op::Op, prev_op: &Option) -> op::Op { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider passing by value instead: `Option` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/query.rs:68:56 [INFO] [stderr] | [INFO] [stderr] 68 | let (len, is_dir, link_target, link_target_type) = match &node.entry { [INFO] [stderr] | ________________________________________________________^ [INFO] [stderr] 69 | | &FsEntryType::File { len: l } => (l, false, None, None), [INFO] [stderr] 70 | | &FsEntryType::Symlink { ref target, ty } => (0, false, Some(target.clone()), Some(ty)), [INFO] [stderr] 71 | | &FsEntryType::Directory { ref children } | [INFO] [stderr] 72 | | &FsEntryType::RootRoot { ref children } => (children.len() as u64, true, None, None), [INFO] [stderr] 73 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 68 | let (len, is_dir, link_target, link_target_type) = match node.entry { [INFO] [stderr] 69 | FsEntryType::File { len: l } => (l, false, None, None), [INFO] [stderr] 70 | FsEntryType::Symlink { ref target, ty } => (0, false, Some(target.clone()), Some(ty)), [INFO] [stderr] 71 | FsEntryType::Directory { ref children } | [INFO] [stderr] 72 | FsEntryType::RootRoot { ref children } => (children.len() as u64, true, None, None), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/query.rs:78:14 [INFO] [stderr] | [INFO] [stderr] 78 | mtime: node.mtime.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.mtime` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/query.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | / match self { [INFO] [stderr] 184 | | &QueryExpression::AllOf(ref subexprs) => subexprs.iter().all(|subexpr| subexpr.matches(node)), [INFO] [stderr] 185 | | [INFO] [stderr] 186 | | &QueryExpression::AnyOf(ref subexprs) => subexprs.iter().any(|subexpr| subexpr.matches(node)), [INFO] [stderr] ... | [INFO] [stderr] 302 | | &QueryExpression::NoOp => true, [INFO] [stderr] 303 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 183 | match *self { [INFO] [stderr] 184 | QueryExpression::AllOf(ref subexprs) => subexprs.iter().all(|subexpr| subexpr.matches(node)), [INFO] [stderr] 185 | [INFO] [stderr] 186 | QueryExpression::AnyOf(ref subexprs) => subexprs.iter().any(|subexpr| subexpr.matches(node)), [INFO] [stderr] 187 | [INFO] [stderr] 188 | QueryExpression::Not(ref subexpr) => !subexpr.matches(node), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/query.rs:193:53 [INFO] [stderr] | [INFO] [stderr] 193 | FsEntryType::RootRoot { ref children } => children.len() == 0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/regex_wrapper.rs:52:28 [INFO] [stderr] | [INFO] [stderr] 52 | Regex::from_str(s).map(|p| RegexMatcher(p)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `RegexMatcher` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/lib.rs:106:17 [INFO] [stderr] | [INFO] [stderr] 106 | scope.spawn(move || { [INFO] [stderr] | _________________^ [INFO] [stderr] 107 | | let mut fs = fs_view::FsRootNode::new(); [INFO] [stderr] 108 | | let mut watcher = match notify::watcher(watcher_root_tx, Duration::from_millis(300)) { [INFO] [stderr] 109 | | Ok(w) => w, [INFO] [stderr] ... | [INFO] [stderr] 212 | | } [INFO] [stderr] 213 | | }); [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] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `fomo`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "891ae194e84027388ec050df59eebd7308dac0968572b7d6d462d6d14cab12d6"` [INFO] running `"docker" "rm" "-f" "891ae194e84027388ec050df59eebd7308dac0968572b7d6d462d6d14cab12d6"` [INFO] [stdout] 891ae194e84027388ec050df59eebd7308dac0968572b7d6d462d6d14cab12d6