[INFO] crate ensync 0.2.5 is already in cache [INFO] extracting crate ensync 0.2.5 into work/ex/clippy-test-run/sources/stable/reg/ensync/0.2.5 [INFO] extracting crate ensync 0.2.5 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ensync/0.2.5 [INFO] validating manifest of ensync-0.2.5 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 ensync-0.2.5 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 ensync-0.2.5 [INFO] finished frobbing ensync-0.2.5 [INFO] frobbed toml for ensync-0.2.5 written to work/ex/clippy-test-run/sources/stable/reg/ensync/0.2.5/Cargo.toml [INFO] started frobbing ensync-0.2.5 [INFO] finished frobbing ensync-0.2.5 [INFO] frobbed toml for ensync-0.2.5 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ensync/0.2.5/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting ensync-0.2.5 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/ensync/0.2.5:/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] f96e057321d0e8e883188c8b2caa65404d02e2b92f3d6aa3bf80bcda0d3e648d [INFO] running `"docker" "start" "-a" "f96e057321d0e8e883188c8b2caa65404d02e2b92f3d6aa3bf80bcda0d3e648d"` [INFO] [stderr] Checking fourleaf v0.1.1 [INFO] [stderr] Checking os_pipe v0.6.2 [INFO] [stderr] Checking proptest v0.3.4 [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking sqlite v0.23.9 [INFO] [stderr] Checking inotify v0.6.1 [INFO] [stderr] Checking notify v4.0.7 [INFO] [stderr] Checking ensync v0.2.5 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rules/engine.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | section: section, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `section` [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/rules/engine.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | ix: ix, [INFO] [stderr] | ^^^^^^ help: replace it with: `ix` [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/rules/engine.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | field: field, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `field` [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/rules/engine.rs:668:13 [INFO] [stderr] | [INFO] [stderr] 668 | rules: rules, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `rules` [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/rules/engine.rs:718:13 [INFO] [stderr] | [INFO] [stderr] 718 | rules: rules, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `rules` [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/rules/engine.rs:719:13 [INFO] [stderr] | [INFO] [stderr] 719 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/reconcile/compute.rs:561:33 [INFO] [stderr] | [INFO] [stderr] 561 | AssertReconcilliation { cli: cli, anc: anc, srv: srv, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cli` [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/reconcile/compute.rs:561:43 [INFO] [stderr] | [INFO] [stderr] 561 | AssertReconcilliation { cli: cli, anc: anc, srv: srv, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `anc` [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/reconcile/compute.rs:561:53 [INFO] [stderr] | [INFO] [stderr] 561 | AssertReconcilliation { cli: cli, anc: anc, srv: srv, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `srv` [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/reconcile/compute.rs:562:33 [INFO] [stderr] | [INFO] [stderr] 562 | expected_conflict: expected_conflict } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expected_conflict` [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/block_xfer.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | blocks: blocks, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [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/block_xfer.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/ancestor/dao.rs:458:13 [INFO] [stderr] | [INFO] [stderr] 458 | parent: parent, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `parent` [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/ancestor/dao.rs:461:13 [INFO] [stderr] | [INFO] [stderr] 461 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/ancestor/dao.rs:462:13 [INFO] [stderr] | [INFO] [stderr] 462 | 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/ancestor/replica.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/posix/dir.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | 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/posix/dir.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | dev: dev, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dev` [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/posix/dir.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | dev: dev, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dev` [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/posix/replica.rs:140:17 [INFO] [stderr] | [INFO] [stderr] 140 | ino: ino, mtime: mtime, size: size, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ino` [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/posix/replica.rs:140:27 [INFO] [stderr] | [INFO] [stderr] 140 | ino: ino, mtime: mtime, size: size, [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/posix/replica.rs:140:41 [INFO] [stderr] | [INFO] [stderr] 140 | ino: ino, mtime: mtime, size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/posix/replica.rs:493:21 [INFO] [stderr] | [INFO] [stderr] 493 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/posix/replica.rs:494:21 [INFO] [stderr] | [INFO] [stderr] 494 | expected_hash: expected_hash, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expected_hash` [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/posix/replica.rs:613:17 [INFO] [stderr] | [INFO] [stderr] 613 | private_dir_dev: private_dir_dev, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `private_dir_dev` [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/posix/replica.rs:614:17 [INFO] [stderr] | [INFO] [stderr] 614 | block_size: block_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [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/posix/replica.rs:615:17 [INFO] [stderr] | [INFO] [stderr] 615 | cache_generation: cache_generation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cache_generation` [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/posix/replica.rs:981:28 [INFO] [stderr] | [INFO] [stderr] 981 | &InodeStatus { mtime: mtime, ino: ino, size: size }, [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/posix/replica.rs:981:42 [INFO] [stderr] | [INFO] [stderr] 981 | &InodeStatus { mtime: mtime, ino: ino, size: size }, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ino` [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/posix/replica.rs:981:52 [INFO] [stderr] | [INFO] [stderr] 981 | &InodeStatus { mtime: mtime, ino: ino, size: size }, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/posix/replica.rs:1247:17 [INFO] [stderr] | [INFO] [stderr] 1247 | blocks: blocks, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [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/server/local_storage.rs:188:13 [INFO] [stderr] | [INFO] [stderr] 188 | tmpdir: tmpdir, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `tmpdir` [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/server/local_storage.rs:189:13 [INFO] [stderr] | [INFO] [stderr] 189 | objdir: objdir, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `objdir` [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/server/local_storage.rs:190:13 [INFO] [stderr] | [INFO] [stderr] 190 | dirdir: dirdir, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `dirdir` [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/server/local_storage.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | permissions: permissions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permissions` [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/server/local_storage.rs:662:13 [INFO] [stderr] | [INFO] [stderr] 662 | old_len: old_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_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/server/local_storage.rs:672:13 [INFO] [stderr] | [INFO] [stderr] 672 | old_len: old_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_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/server/rpc.rs:723:13 [INFO] [stderr] | [INFO] [stderr] 723 | watch_fun: watch_fun, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `watch_fun` [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/server/rpc.rs:872:13 [INFO] [stderr] | [INFO] [stderr] 872 | tx: tx, id: *id, ver: *v, sver: *sv, data: data.to_owned() [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/server/rpc.rs:879:13 [INFO] [stderr] | [INFO] [stderr] 879 | tx: tx, id: *id, sver: *sv, old_len: old_len, [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/server/rpc.rs:879:41 [INFO] [stderr] | [INFO] [stderr] 879 | tx: tx, id: *id, sver: *sv, old_len: old_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_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/server/rpc.rs:887:13 [INFO] [stderr] | [INFO] [stderr] 887 | tx: tx, id: *id, sver: *sv, old_len: old_len [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/server/rpc.rs:887:41 [INFO] [stderr] | [INFO] [stderr] 887 | tx: tx, id: *id, sver: *sv, old_len: old_len [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_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/server/rpc.rs:904:13 [INFO] [stderr] | [INFO] [stderr] 904 | tx: tx, id: *id, linkid: *linkid, [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/server/rpc.rs:912:13 [INFO] [stderr] | [INFO] [stderr] 912 | tx: tx, id: *id, linkid: *linkid, [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/server/rpc.rs:937:34 [INFO] [stderr] | [INFO] [stderr] 937 | id: *dir, ver: *ver, 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/server/crypt.rs:345:13 [INFO] [stderr] | [INFO] [stderr] 345 | keys: keys, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `keys` [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/server/crypt.rs:483:9 [INFO] [stderr] | [INFO] [stderr] 483 | created: created, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `created` [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/server/crypt.rs:484:9 [INFO] [stderr] | [INFO] [stderr] 484 | updated: updated, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `updated` [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/server/crypt.rs:486:9 [INFO] [stderr] | [INFO] [stderr] 486 | salt: salt, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `salt` [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/server/crypt.rs:522:17 [INFO] [stderr] | [INFO] [stderr] 522 | keys: keys, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `keys` [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/server/dir.rs:295:13 [INFO] [stderr] | [INFO] [stderr] 295 | db: db, [INFO] [stderr] | ^^^^^^ help: replace it with: `db` [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/server/dir.rs:296:13 [INFO] [stderr] | [INFO] [stderr] 296 | key: key, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [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/server/dir.rs:297:13 [INFO] [stderr] | [INFO] [stderr] 297 | storage: storage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `storage` [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/server/dir.rs:299:13 [INFO] [stderr] | [INFO] [stderr] 299 | block_size: block_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [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/server/dir.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | compression: compression, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `compression` [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/server/dir.rs:325:13 [INFO] [stderr] | [INFO] [stderr] 325 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/server/dir.rs:558:44 [INFO] [stderr] | [INFO] [stderr] 558 | v0::Entry::Directory { mode: mode, id: id, unknown: [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/server/dir.rs:558:56 [INFO] [stderr] | [INFO] [stderr] 558 | v0::Entry::Directory { mode: mode, id: id, unknown: [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/server/dir.rs:586:25 [INFO] [stderr] | [INFO] [stderr] 586 | mode: mode, size: size, time: time, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/server/dir.rs:586:37 [INFO] [stderr] | [INFO] [stderr] 586 | mode: mode, size: size, time: time, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/server/dir.rs:586:49 [INFO] [stderr] | [INFO] [stderr] 586 | mode: mode, size: size, time: time, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `time` [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/server/dir.rs:589:25 [INFO] [stderr] | [INFO] [stderr] 589 | blocks: blocks, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [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/server/dir.rs:782:13 [INFO] [stderr] | [INFO] [stderr] 782 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/server/dir.rs:783:13 [INFO] [stderr] | [INFO] [stderr] 783 | cipher_version: cipher_version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cipher_version` [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/server/dir.rs:789:13 [INFO] [stderr] | [INFO] [stderr] 789 | session_key: session_key, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_key` [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/server/dir.rs:1091:38 [INFO] [stderr] | [INFO] [stderr] 1091 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/server/replica.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | db: db, [INFO] [stderr] | ^^^^^^ help: replace it with: `db` [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/server/replica.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | pseudo_root: pseudo_root, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pseudo_root` [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/server/transfer.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | storage: storage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `storage` [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/config.rs:244:13 [INFO] [stderr] | [INFO] [stderr] 244 | hash: hash, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hash` [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: using `println!("")` [INFO] [stderr] --> src/cli/cmd_keymgmt.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/cli/cmd_keymgmt.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cli/cmd_sync.rs:732:9 [INFO] [stderr] | [INFO] [stderr] 732 | / include_ops_under_opped_directory: [INFO] [stderr] 733 | | include_ops_under_opped_directory, [INFO] [stderr] | |_____________________________________________^ help: replace it with: `include_ops_under_opped_directory` [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/cmd_sync.rs:741:9 [INFO] [stderr] | [INFO] [stderr] 741 | include_ancestors: include_ancestors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `include_ancestors` [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/cmd_sync.rs:742:9 [INFO] [stderr] | [INFO] [stderr] 742 | colour: colour, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `colour` [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/cmd_sync.rs:769:13 [INFO] [stderr] | [INFO] [stderr] 769 | log: log, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `log` [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/cmd_sync.rs:793:13 [INFO] [stderr] | [INFO] [stderr] 793 | log: log, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `log` [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: using `println!("")` [INFO] [stderr] --> src/cli/cmd_manual.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rules/engine.rs:192:13 [INFO] [stderr] | [INFO] [stderr] 192 | section: section, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `section` [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/rules/engine.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | ix: ix, [INFO] [stderr] | ^^^^^^ help: replace it with: `ix` [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/rules/engine.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | field: field, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `field` [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/rules/engine.rs:668:13 [INFO] [stderr] | [INFO] [stderr] 668 | rules: rules, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `rules` [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/rules/engine.rs:718:13 [INFO] [stderr] | [INFO] [stderr] 718 | rules: rules, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `rules` [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/rules/engine.rs:719:13 [INFO] [stderr] | [INFO] [stderr] 719 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `state` [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/memory_replica.rs:147:21 [INFO] [stderr] | [INFO] [stderr] 147 | mode: mode, size: size, modified: modified, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/memory_replica.rs:147:33 [INFO] [stderr] | [INFO] [stderr] 147 | mode: mode, size: size, modified: modified, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/memory_replica.rs:147:45 [INFO] [stderr] | [INFO] [stderr] 147 | mode: mode, size: size, modified: modified, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `modified` [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/memory_replica.rs:148:21 [INFO] [stderr] | [INFO] [stderr] 148 | hash: hash, content: hash, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hash` [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/memory_replica.rs:592:13 [INFO] [stderr] | [INFO] [stderr] 592 | 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/reconcile/compute.rs:561:33 [INFO] [stderr] | [INFO] [stderr] 561 | AssertReconcilliation { cli: cli, anc: anc, srv: srv, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `cli` [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/reconcile/compute.rs:561:43 [INFO] [stderr] | [INFO] [stderr] 561 | AssertReconcilliation { cli: cli, anc: anc, srv: srv, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `anc` [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/reconcile/compute.rs:561:53 [INFO] [stderr] | [INFO] [stderr] 561 | AssertReconcilliation { cli: cli, anc: anc, srv: srv, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `srv` [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/reconcile/compute.rs:562:33 [INFO] [stderr] | [INFO] [stderr] 562 | expected_conflict: expected_conflict } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expected_conflict` [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/block_xfer.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | blocks: blocks, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [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/block_xfer.rs:162:9 [INFO] [stderr] | [INFO] [stderr] 162 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/ancestor/dao.rs:458:13 [INFO] [stderr] | [INFO] [stderr] 458 | parent: parent, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `parent` [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/ancestor/dao.rs:461:13 [INFO] [stderr] | [INFO] [stderr] 461 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/ancestor/dao.rs:462:13 [INFO] [stderr] | [INFO] [stderr] 462 | 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/ancestor/replica.rs:129:13 [INFO] [stderr] | [INFO] [stderr] 129 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/posix/dir.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | 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/posix/dir.rs:100:13 [INFO] [stderr] | [INFO] [stderr] 100 | dev: dev, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dev` [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/posix/dir.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | dev: dev, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dev` [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/posix/replica.rs:140:17 [INFO] [stderr] | [INFO] [stderr] 140 | ino: ino, mtime: mtime, size: size, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ino` [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/posix/replica.rs:140:27 [INFO] [stderr] | [INFO] [stderr] 140 | ino: ino, mtime: mtime, size: size, [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/posix/replica.rs:140:41 [INFO] [stderr] | [INFO] [stderr] 140 | ino: ino, mtime: mtime, size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/posix/replica.rs:493:21 [INFO] [stderr] | [INFO] [stderr] 493 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/posix/replica.rs:494:21 [INFO] [stderr] | [INFO] [stderr] 494 | expected_hash: expected_hash, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expected_hash` [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/posix/replica.rs:613:17 [INFO] [stderr] | [INFO] [stderr] 613 | private_dir_dev: private_dir_dev, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `private_dir_dev` [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/posix/replica.rs:614:17 [INFO] [stderr] | [INFO] [stderr] 614 | block_size: block_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [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/posix/replica.rs:615:17 [INFO] [stderr] | [INFO] [stderr] 615 | cache_generation: cache_generation, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cache_generation` [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/posix/replica.rs:981:28 [INFO] [stderr] | [INFO] [stderr] 981 | &InodeStatus { mtime: mtime, ino: ino, size: size }, [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/posix/replica.rs:981:42 [INFO] [stderr] | [INFO] [stderr] 981 | &InodeStatus { mtime: mtime, ino: ino, size: size }, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ino` [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/posix/replica.rs:981:52 [INFO] [stderr] | [INFO] [stderr] 981 | &InodeStatus { mtime: mtime, ino: ino, size: size }, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/posix/replica.rs:1247:17 [INFO] [stderr] | [INFO] [stderr] 1247 | blocks: blocks, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [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/server/local_storage.rs:188:13 [INFO] [stderr] | [INFO] [stderr] 188 | tmpdir: tmpdir, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `tmpdir` [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/server/local_storage.rs:189:13 [INFO] [stderr] | [INFO] [stderr] 189 | objdir: objdir, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `objdir` [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/server/local_storage.rs:190:13 [INFO] [stderr] | [INFO] [stderr] 190 | dirdir: dirdir, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `dirdir` [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/server/local_storage.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | permissions: permissions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permissions` [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/server/local_storage.rs:662:13 [INFO] [stderr] | [INFO] [stderr] 662 | old_len: old_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_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/server/local_storage.rs:672:13 [INFO] [stderr] | [INFO] [stderr] 672 | old_len: old_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_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/server/rpc.rs:723:13 [INFO] [stderr] | [INFO] [stderr] 723 | watch_fun: watch_fun, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `watch_fun` [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/server/rpc.rs:872:13 [INFO] [stderr] | [INFO] [stderr] 872 | tx: tx, id: *id, ver: *v, sver: *sv, data: data.to_owned() [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/server/rpc.rs:879:13 [INFO] [stderr] | [INFO] [stderr] 879 | tx: tx, id: *id, sver: *sv, old_len: old_len, [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/server/rpc.rs:879:41 [INFO] [stderr] | [INFO] [stderr] 879 | tx: tx, id: *id, sver: *sv, old_len: old_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_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/server/rpc.rs:887:13 [INFO] [stderr] | [INFO] [stderr] 887 | tx: tx, id: *id, sver: *sv, old_len: old_len [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/server/rpc.rs:887:41 [INFO] [stderr] | [INFO] [stderr] 887 | tx: tx, id: *id, sver: *sv, old_len: old_len [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_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/server/rpc.rs:904:13 [INFO] [stderr] | [INFO] [stderr] 904 | tx: tx, id: *id, linkid: *linkid, [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/server/rpc.rs:912:13 [INFO] [stderr] | [INFO] [stderr] 912 | tx: tx, id: *id, linkid: *linkid, [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/server/rpc.rs:937:34 [INFO] [stderr] | [INFO] [stderr] 937 | id: *dir, ver: *ver, 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/server/crypt.rs:345:13 [INFO] [stderr] | [INFO] [stderr] 345 | keys: keys, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `keys` [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/server/crypt.rs:483:9 [INFO] [stderr] | [INFO] [stderr] 483 | created: created, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `created` [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/server/crypt.rs:484:9 [INFO] [stderr] | [INFO] [stderr] 484 | updated: updated, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `updated` [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/server/crypt.rs:486:9 [INFO] [stderr] | [INFO] [stderr] 486 | salt: salt, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `salt` [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/server/crypt.rs:522:17 [INFO] [stderr] | [INFO] [stderr] 522 | keys: keys, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `keys` [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/server/dir.rs:295:13 [INFO] [stderr] | [INFO] [stderr] 295 | db: db, [INFO] [stderr] | ^^^^^^ help: replace it with: `db` [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/server/dir.rs:296:13 [INFO] [stderr] | [INFO] [stderr] 296 | key: key, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `key` [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/server/dir.rs:297:13 [INFO] [stderr] | [INFO] [stderr] 297 | storage: storage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `storage` [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/server/dir.rs:299:13 [INFO] [stderr] | [INFO] [stderr] 299 | block_size: block_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [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/server/dir.rs:300:13 [INFO] [stderr] | [INFO] [stderr] 300 | compression: compression, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `compression` [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/server/dir.rs:325:13 [INFO] [stderr] | [INFO] [stderr] 325 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/server/dir.rs:558:44 [INFO] [stderr] | [INFO] [stderr] 558 | v0::Entry::Directory { mode: mode, id: id, unknown: [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/server/dir.rs:558:56 [INFO] [stderr] | [INFO] [stderr] 558 | v0::Entry::Directory { mode: mode, id: id, unknown: [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/server/dir.rs:586:25 [INFO] [stderr] | [INFO] [stderr] 586 | mode: mode, size: size, time: time, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/server/dir.rs:586:37 [INFO] [stderr] | [INFO] [stderr] 586 | mode: mode, size: size, time: time, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/server/dir.rs:586:49 [INFO] [stderr] | [INFO] [stderr] 586 | mode: mode, size: size, time: time, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `time` [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/server/dir.rs:589:25 [INFO] [stderr] | [INFO] [stderr] 589 | blocks: blocks, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [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/server/dir.rs:782:13 [INFO] [stderr] | [INFO] [stderr] 782 | version: version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [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/server/dir.rs:783:13 [INFO] [stderr] | [INFO] [stderr] 783 | cipher_version: cipher_version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cipher_version` [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/server/dir.rs:789:13 [INFO] [stderr] | [INFO] [stderr] 789 | session_key: session_key, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_key` [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/server/dir.rs:1091:38 [INFO] [stderr] | [INFO] [stderr] 1091 | mode: mode, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `mode` [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/server/replica.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | db: db, [INFO] [stderr] | ^^^^^^ help: replace it with: `db` [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/server/replica.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | pseudo_root: pseudo_root, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pseudo_root` [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/server/transfer.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | storage: storage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `storage` [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/config.rs:244:13 [INFO] [stderr] | [INFO] [stderr] 244 | hash: hash, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hash` [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: using `println!("")` [INFO] [stderr] --> src/cli/cmd_keymgmt.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/cli/cmd_keymgmt.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cli/cmd_sync.rs:732:9 [INFO] [stderr] | [INFO] [stderr] 732 | / include_ops_under_opped_directory: [INFO] [stderr] 733 | | include_ops_under_opped_directory, [INFO] [stderr] | |_____________________________________________^ help: replace it with: `include_ops_under_opped_directory` [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/cmd_sync.rs:741:9 [INFO] [stderr] | [INFO] [stderr] 741 | include_ancestors: include_ancestors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `include_ancestors` [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/cmd_sync.rs:742:9 [INFO] [stderr] | [INFO] [stderr] 742 | colour: colour, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `colour` [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/cmd_sync.rs:769:13 [INFO] [stderr] | [INFO] [stderr] 769 | log: log, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `log` [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/cmd_sync.rs:793:13 [INFO] [stderr] | [INFO] [stderr] 793 | log: log, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `log` [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: using `println!("")` [INFO] [stderr] --> src/cli/cmd_manual.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | #[macro_use] extern crate clap; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/defs.rs:35:30 [INFO] [stderr] | [INFO] [stderr] 35 | pub const PRIVATE_DIR_NAME: &'static str = "internal.ensync"; [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/defs.rs:38:33 [INFO] [stderr] | [INFO] [stderr] 38 | pub const INVASIVE_TMP_PREFIX: &'static str = "ensync_tmp_"; [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: unneeded unit return type [INFO] [stderr] --> src/dry_run_replica.rs:172:36 [INFO] [stderr] | [INFO] [stderr] 172 | fn null_transfer(_: &FileData) -> () { () } [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/dry_run_replica.rs:172:44 [INFO] [stderr] | [INFO] [stderr] 172 | fn null_transfer(_: &FileData) -> () { () } [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/reconcile/compute.rs:291:20 [INFO] [stderr] | [INFO] [stderr] 291 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 292 | | if mode.outbound.update.on() { [INFO] [stderr] 293 | | use_client [INFO] [stderr] 294 | | } else if mode.inbound.update.force() { [INFO] [stderr] ... | [INFO] [stderr] 298 | | } [INFO] [stderr] 299 | | }, NoConflict) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 291 | } else if mode.outbound.update.on() { [INFO] [stderr] 292 | use_client [INFO] [stderr] 293 | } else if mode.inbound.update.force() { [INFO] [stderr] 294 | use_server [INFO] [stderr] 295 | } else { [INFO] [stderr] 296 | InSync [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reconcile/mutate.rs:320:23 [INFO] [stderr] | [INFO] [stderr] 320 | Err(_) => return Err(ApplyResult::Fail), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ApplyResult::Fail)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/reconcile/tree_walk.rs:352:17 [INFO] [stderr] | [INFO] [stderr] 352 | / if subdirstate.success.load(SeqCst) { [INFO] [stderr] 353 | | if !on_success(this, dir, &subdirstate) { [INFO] [stderr] 354 | | subdirstate.fail( [INFO] [stderr] 355 | | "recurse_and_then on_success failed"); [INFO] [stderr] 356 | | } [INFO] [stderr] 357 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 352 | if subdirstate.success.load(SeqCst) && !on_success(this, dir, &subdirstate) { [INFO] [stderr] 353 | subdirstate.fail( [INFO] [stderr] 354 | "recurse_and_then on_success failed"); [INFO] [stderr] 355 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/block_xfer.rs:230:5 [INFO] [stderr] | [INFO] [stderr] 230 | return Ok(()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/posix/replica.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | / return !self.dao.lock().unwrap().is_dir_clean( [INFO] [stderr] 209 | | &dir.full_path_with_trailing_slash()) [INFO] [stderr] 210 | | .unwrap_or(true) [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 208 | !self.dao.lock().unwrap().is_dir_clean( [INFO] [stderr] 209 | &dir.full_path_with_trailing_slash()) [INFO] [stderr] 210 | .unwrap_or(true) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/posix/replica.rs:355:9 [INFO] [stderr] | [INFO] [stderr] 355 | return Ok(ret); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ret)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/server/crypt.rs:236:29 [INFO] [stderr] | [INFO] [stderr] 236 | const SCRYPT_18_14_12_8_1: &'static str = "scrypt-18/14/12-8-1"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/server/crypt.rs:238:28 [INFO] [stderr] | [INFO] [stderr] 238 | pub const GROUP_EVERYONE: &'static str = "everyone"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/server/crypt.rs:239:24 [INFO] [stderr] | [INFO] [stderr] 239 | pub const GROUP_ROOT: &'static str = "root"; [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: unneeded return statement [INFO] [stderr] --> src/server/crypt.rs:432:5 [INFO] [stderr] | [INFO] [stderr] 432 | return derived; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `derived` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/server/dir.rs:739:13 [INFO] [stderr] | [INFO] [stderr] 739 | v [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/server/dir.rs:735:21 [INFO] [stderr] | [INFO] [stderr] 735 | let v = db.prepare("SELECT `ver`, `len` FROM `latest_dir_ver` \ [INFO] [stderr] | _____________________^ [INFO] [stderr] 736 | | WHERE `id` = ?1") [INFO] [stderr] 737 | | .binding(1, &self.id[..]) [INFO] [stderr] 738 | | .first(|s| Ok((s.read::(0)?, s.read::(1)?)))?; [INFO] [stderr] | |_______________________________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cli/config.rs:37:26 [INFO] [stderr] | [INFO] [stderr] 37 | const CONFIG_FILE_NAME: &'static str = "config.toml"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cli/format_date.rs:24:19 [INFO] [stderr] | [INFO] [stderr] 24 | pub const ZERO: &'static str = "1970-01-01 00:00Z"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cli/format_date.rs:25:19 [INFO] [stderr] | [INFO] [stderr] 25 | pub const EMPTY: &'static str = " "; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cli/cmd_server.rs:28:28 [INFO] [stderr] | [INFO] [stderr] 28 | pub const SHELL_IDENTITY: &'static str = "I am ensync shell"; [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/cli/cmd_sync.rs:922:12 [INFO] [stderr] | [INFO] [stderr] 922 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 923 | | if level >= ERROR && show_messages { [INFO] [stderr] 924 | | perrln!("Syncing completed, but not clean"); [INFO] [stderr] 925 | | } [INFO] [stderr] 926 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 922 | } else if level >= ERROR && show_messages { [INFO] [stderr] 923 | perrln!("Syncing completed, but not clean"); [INFO] [stderr] 924 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cli/cmd_setup.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | return self.iter().next().is_none() || self.exists(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.iter().next().is_none() || self.exists()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cli/cmd_setup.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | return self.iter().next().is_none() || self.is_dir(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.iter().next().is_none() || self.is_dir()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/cli/cmd_setup.rs:242:13 [INFO] [stderr] | [INFO] [stderr] 242 | / if !existing_roots.contains(&selected) { [INFO] [stderr] 243 | | if !ask(&format!("Root '{}' does not exist. Create it? ", [INFO] [stderr] 244 | | selected))? [INFO] [stderr] 245 | | { continue; } [INFO] [stderr] 246 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 242 | if !existing_roots.contains(&selected) && !ask(&format!("Root '{}' does not exist. Create it? ", [INFO] [stderr] 243 | selected))? { continue; } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | #[macro_use] extern crate clap; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/defs.rs:35:30 [INFO] [stderr] | [INFO] [stderr] 35 | pub const PRIVATE_DIR_NAME: &'static str = "internal.ensync"; [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/defs.rs:38:33 [INFO] [stderr] | [INFO] [stderr] 38 | pub const INVASIVE_TMP_PREFIX: &'static str = "ensync_tmp_"; [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/memory_replica.rs:302:16 [INFO] [stderr] | [INFO] [stderr] 302 | } else { [INFO] [stderr] | ________________^ [INFO] [stderr] 303 | | if !dir.synthetics.is_empty() { [INFO] [stderr] 304 | | Ok(true) [INFO] [stderr] 305 | | } else { [INFO] [stderr] 306 | | simple_error() [INFO] [stderr] 307 | | } [INFO] [stderr] 308 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 302 | } else if !dir.synthetics.is_empty() { [INFO] [stderr] 303 | Ok(true) [INFO] [stderr] 304 | } else { [INFO] [stderr] 305 | simple_error() [INFO] [stderr] 306 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/dry_run_replica.rs:172:36 [INFO] [stderr] | [INFO] [stderr] 172 | fn null_transfer(_: &FileData) -> () { () } [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: unneeded unit expression [INFO] [stderr] --> src/dry_run_replica.rs:172:44 [INFO] [stderr] | [INFO] [stderr] 172 | fn null_transfer(_: &FileData) -> () { () } [INFO] [stderr] | ^^ help: remove the final `()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/reconcile/compute.rs:291:20 [INFO] [stderr] | [INFO] [stderr] 291 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 292 | | if mode.outbound.update.on() { [INFO] [stderr] 293 | | use_client [INFO] [stderr] 294 | | } else if mode.inbound.update.force() { [INFO] [stderr] ... | [INFO] [stderr] 298 | | } [INFO] [stderr] 299 | | }, NoConflict) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 291 | } else if mode.outbound.update.on() { [INFO] [stderr] 292 | use_client [INFO] [stderr] 293 | } else if mode.inbound.update.force() { [INFO] [stderr] 294 | use_server [INFO] [stderr] 295 | } else { [INFO] [stderr] 296 | InSync [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reconcile/mutate.rs:320:23 [INFO] [stderr] | [INFO] [stderr] 320 | Err(_) => return Err(ApplyResult::Fail), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(ApplyResult::Fail)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/reconcile/tree_walk.rs:352:17 [INFO] [stderr] | [INFO] [stderr] 352 | / if subdirstate.success.load(SeqCst) { [INFO] [stderr] 353 | | if !on_success(this, dir, &subdirstate) { [INFO] [stderr] 354 | | subdirstate.fail( [INFO] [stderr] 355 | | "recurse_and_then on_success failed"); [INFO] [stderr] 356 | | } [INFO] [stderr] 357 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 352 | if subdirstate.success.load(SeqCst) && !on_success(this, dir, &subdirstate) { [INFO] [stderr] 353 | subdirstate.fail( [INFO] [stderr] 354 | "recurse_and_then on_success failed"); [INFO] [stderr] 355 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/reconcile/tree_walk.rs:1033:9 [INFO] [stderr] | [INFO] [stderr] 1033 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/block_xfer.rs:230:5 [INFO] [stderr] | [INFO] [stderr] 230 | return Ok(()) [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/posix/replica.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | / return !self.dao.lock().unwrap().is_dir_clean( [INFO] [stderr] 209 | | &dir.full_path_with_trailing_slash()) [INFO] [stderr] 210 | | .unwrap_or(true) [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 208 | !self.dao.lock().unwrap().is_dir_clean( [INFO] [stderr] 209 | &dir.full_path_with_trailing_slash()) [INFO] [stderr] 210 | .unwrap_or(true) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/posix/replica.rs:355:9 [INFO] [stderr] | [INFO] [stderr] 355 | return Ok(ret); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(ret)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/server/crypt.rs:236:29 [INFO] [stderr] | [INFO] [stderr] 236 | const SCRYPT_18_14_12_8_1: &'static str = "scrypt-18/14/12-8-1"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/server/crypt.rs:238:28 [INFO] [stderr] | [INFO] [stderr] 238 | pub const GROUP_EVERYONE: &'static str = "everyone"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/server/crypt.rs:239:24 [INFO] [stderr] | [INFO] [stderr] 239 | pub const GROUP_ROOT: &'static str = "root"; [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: unneeded return statement [INFO] [stderr] --> src/server/crypt.rs:432:5 [INFO] [stderr] | [INFO] [stderr] 432 | return derived; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `derived` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/server/dir.rs:739:13 [INFO] [stderr] | [INFO] [stderr] 739 | v [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/server/dir.rs:735:21 [INFO] [stderr] | [INFO] [stderr] 735 | let v = db.prepare("SELECT `ver`, `len` FROM `latest_dir_ver` \ [INFO] [stderr] | _____________________^ [INFO] [stderr] 736 | | WHERE `id` = ?1") [INFO] [stderr] 737 | | .binding(1, &self.id[..]) [INFO] [stderr] 738 | | .first(|s| Ok((s.read::(0)?, s.read::(1)?)))?; [INFO] [stderr] | |_______________________________________________________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cli/config.rs:37:26 [INFO] [stderr] | [INFO] [stderr] 37 | const CONFIG_FILE_NAME: &'static str = "config.toml"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cli/format_date.rs:24:19 [INFO] [stderr] | [INFO] [stderr] 24 | pub const ZERO: &'static str = "1970-01-01 00:00Z"; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cli/format_date.rs:25:19 [INFO] [stderr] | [INFO] [stderr] 25 | pub const EMPTY: &'static str = " "; [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/cli/cmd_server.rs:28:28 [INFO] [stderr] | [INFO] [stderr] 28 | pub const SHELL_IDENTITY: &'static str = "I am ensync shell"; [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/cli/cmd_sync.rs:922:12 [INFO] [stderr] | [INFO] [stderr] 922 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 923 | | if level >= ERROR && show_messages { [INFO] [stderr] 924 | | perrln!("Syncing completed, but not clean"); [INFO] [stderr] 925 | | } [INFO] [stderr] 926 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 922 | } else if level >= ERROR && show_messages { [INFO] [stderr] 923 | perrln!("Syncing completed, but not clean"); [INFO] [stderr] 924 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cli/cmd_setup.rs:51:9 [INFO] [stderr] | [INFO] [stderr] 51 | return self.iter().next().is_none() || self.exists(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.iter().next().is_none() || self.exists()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/cli/cmd_setup.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | return self.iter().next().is_none() || self.is_dir(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.iter().next().is_none() || self.is_dir()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/cli/cmd_setup.rs:242:13 [INFO] [stderr] | [INFO] [stderr] 242 | / if !existing_roots.contains(&selected) { [INFO] [stderr] 243 | | if !ask(&format!("Root '{}' does not exist. Create it? ", [INFO] [stderr] 244 | | selected))? [INFO] [stderr] 245 | | { continue; } [INFO] [stderr] 246 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 242 | if !existing_roots.contains(&selected) && !ask(&format!("Root '{}' does not exist. Create it? ", [INFO] [stderr] 243 | selected))? { continue; } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/sql.rs:60:17 [INFO] [stderr] | [INFO] [stderr] 60 | Err(e.into()) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rules/engine.rs:515:5 [INFO] [stderr] | [INFO] [stderr] 515 | / match val { [INFO] [stderr] 516 | | &toml::Value::String(_) => [INFO] [stderr] 517 | | Ok(vec![try!(parse_state_ref(val, &loc, state_indices))]), [INFO] [stderr] 518 | | &toml::Value::Array(ref elts) => { [INFO] [stderr] ... | [INFO] [stderr] 525 | | _ => Err(Error::WrongType(loc, "string-or-array")), [INFO] [stderr] 526 | | } [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: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 515 | match *val { [INFO] [stderr] 516 | toml::Value::String(_) => [INFO] [stderr] 517 | Ok(vec![try!(parse_state_ref(val, &loc, state_indices))]), [INFO] [stderr] 518 | toml::Value::Array(ref elts) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/reconcile/context.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | lock.next_id = lock.next_id + Wrapping(1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock.next_id += Wrapping(1)` [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: manual implementation of an assign operation [INFO] [stderr] --> src/reconcile/context.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | lock.next_id = lock.next_id + Wrapping(1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock.next_id += Wrapping(1)` [INFO] [stderr] | [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/reconcile/context.rs:91:15 [INFO] [stderr] | [INFO] [stderr] 91 | pub work: WorkStack>>, [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/reconcile/context.rs:92:16 [INFO] [stderr] | [INFO] [stderr] 92 | pub tasks: UnqueuedTasks>>, [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] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/reconcile/mutate.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | / files.insert(name.to_owned(), newfd.clone()) [INFO] [stderr] 82 | | .map(|_| panic!("Inserted ancestor already in table?")); [INFO] [stderr] | |_______________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 81 | if let Some(_) = files.insert(name.to_owned(), newfd.clone()) { $ crate :: rt :: begin_panic ( [INFO] [stderr] 82 | $ msg , & ( file ! ( ) , line ! ( ) , __rust_unstable_column ! ( ) ) ) } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/reconcile/mutate.rs:116:1 [INFO] [stderr] | [INFO] [stderr] 116 | / fn try_replace_ancestor( [INFO] [stderr] 117 | | replica: &A, in_dir: &mut A::Directory, [INFO] [stderr] 118 | | files: &mut BTreeMap, [INFO] [stderr] 119 | | dir_name: &OsStr, name: &OsStr, [INFO] [stderr] ... | [INFO] [stderr] 127 | | ErrorOperation::Update(name), &error))) [INFO] [stderr] 128 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/reconcile/mutate.rs:145:1 [INFO] [stderr] | [INFO] [stderr] 145 | / fn replace_replica, [INFO] [stderr] 147 | | LOG : Logger>( [INFO] [stderr] 148 | | dst: &DST, dst_dir: &mut DST::Directory, [INFO] [stderr] ... | [INFO] [stderr] 220 | | } [INFO] [stderr] 221 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/reconcile/mutate.rs:208:21 [INFO] [stderr] | [INFO] [stderr] 208 | / dst_files.insert(name.to_owned(), r.clone()) [INFO] [stderr] 209 | | .map(|_| panic!("Inserted file already in table?")); [INFO] [stderr] | |___________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 208 | if let Some(_) = dst_files.insert(name.to_owned(), r.clone()) { $ crate :: rt :: begin_panic ( [INFO] [stderr] 209 | $ msg , & ( file ! ( ) , line ! ( ) , __rust_unstable_column ! ( ) ) ) } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/reconcile/mutate.rs:231:1 [INFO] [stderr] | [INFO] [stderr] 231 | / fn try_rename_replica( [INFO] [stderr] 232 | | replica: &A, dir: &mut A::Directory, [INFO] [stderr] 233 | | files: &mut BTreeMap, [INFO] [stderr] 234 | | dir_name: &OsStr, old_name: &OsStr, new_name: &OsStr, [INFO] [stderr] ... | [INFO] [stderr] 251 | | } [INFO] [stderr] 252 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> src/reconcile/mutate.rs:284:23 [INFO] [stderr] | [INFO] [stderr] 284 | -> result::Result>, ApplyResult> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_option)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (14/7) [INFO] [stderr] --> src/reconcile/mutate.rs:272:1 [INFO] [stderr] | [INFO] [stderr] 272 | / fn apply_use, [INFO] [stderr] 275 | | LOG : Logger> [INFO] [stderr] ... | [INFO] [stderr] 322 | | } [INFO] [stderr] 323 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/reconcile/tree_walk.rs:101:23 [INFO] [stderr] | [INFO] [stderr] 101 | anc.as_ref()).or(srv.as_ref()).expect( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try this: `or_else(|| srv.as_ref())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/reconcile/tree_walk.rs:100:56 [INFO] [stderr] | [INFO] [stderr] 100 | let rules = dir.rules.file(File(name, cli.as_ref().or( [INFO] [stderr] | ________________________________________________________^ [INFO] [stderr] 101 | | anc.as_ref()).or(srv.as_ref()).expect( [INFO] [stderr] | |_____________________^ help: try this: `or_else(|| anc.as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/reconcile/tree_walk.rs:106:47 [INFO] [stderr] | [INFO] [stderr] 106 | if let Some(other) = srv.as_ref().or(anc.as_ref()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try this: `or_else(|| anc.as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/reconcile/tree_walk.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | rb.as_mut().map(|r| r.contains(File(&name, &value))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(r) = rb.as_mut() { r.contains(File(&name, &value)) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/reconcile/tree_walk.rs:414:1 [INFO] [stderr] | [INFO] [stderr] 414 | / fn recursive_delete( [INFO] [stderr] 415 | | &self, dir: &mut dir_ctx!(), [INFO] [stderr] 416 | | parent_name: &OsStr, name: &OsStr, [INFO] [stderr] 417 | | file_rules: ::FileRules, [INFO] [stderr] ... | [INFO] [stderr] 456 | | } [INFO] [stderr] 457 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/reconcile/tree_walk.rs:421:5 [INFO] [stderr] | [INFO] [stderr] 421 | / fn chdir_or_synth( [INFO] [stderr] 422 | | r: &R, dir: &mut R::Directory, [INFO] [stderr] 423 | | this_side: ReconciliationSide, phys_side: ReconciliationSide, [INFO] [stderr] 424 | | log: &LOG, [INFO] [stderr] ... | [INFO] [stderr] 432 | | } [INFO] [stderr] 433 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/ancestor/replica.rs:175:23 [INFO] [stderr] | [INFO] [stderr] 175 | mode: mode as i64, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(mode)` [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: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/ancestor/replica.rs:184:23 [INFO] [stderr] | [INFO] [stderr] 184 | mode: mode as i64, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(mode)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/ancestor/replica.rs:401:12 [INFO] [stderr] | [INFO] [stderr] 401 | Ok(try!(self.dao.lock().unwrap().condemn(h, name.as_nbytes()))) [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] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/ancestor/replica.rs:406:12 [INFO] [stderr] | [INFO] [stderr] 406 | Ok(try!(self.dao.lock().unwrap().uncondemn(h, name.as_nbytes()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/posix/dao.rs:143:30 [INFO] [stderr] | [INFO] [stderr] 143 | path = &path[0..slash+1]; [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=slash` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/posix/dao.rs:172:30 [INFO] [stderr] | [INFO] [stderr] 172 | path = &path[0..slash+1]; [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=slash` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/dao.rs:183:12 [INFO] [stderr] | [INFO] [stderr] 183 | Ok(self.0.prepare("DELETE FROM `clean_dirs`").run()?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 183 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/dao.rs:353:12 [INFO] [stderr] | [INFO] [stderr] 353 | Ok(self.0.prepare("UPDATE `hash_cache` SET `mtime` = ?2 \ [INFO] [stderr] | ____________^ [INFO] [stderr] 354 | | WHERE `path` = ?1") [INFO] [stderr] 355 | | .binding(1, path.as_nbytes()).binding(2, mtime as i64) [INFO] [stderr] 356 | | .run()?) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 353 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/dao.rs:362:12 [INFO] [stderr] | [INFO] [stderr] 362 | Ok(try!(self.0.prepare("UPDATE `hash_cache` SET `path` = ?2 \ [INFO] [stderr] | ____________^ [INFO] [stderr] 363 | | WHERE `path` = ?1") [INFO] [stderr] 364 | | .binding(1, old.as_nbytes()).binding(2, new.as_nbytes()) [INFO] [stderr] 365 | | .run())) [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/dao.rs:370:12 [INFO] [stderr] | [INFO] [stderr] 370 | Ok(try!(self.0.prepare("DELETE FROM `hash_cache` WHERE `path` = ?1") [INFO] [stderr] | ____________^ [INFO] [stderr] 371 | | .binding(1, path.as_nbytes()).run())) [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/dao.rs:376:12 [INFO] [stderr] | [INFO] [stderr] 376 | Ok(self.0.prepare("DELETE FROM `hash_cache`").run()?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 376 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/posix/dir.rs:160:12 [INFO] [stderr] | [INFO] [stderr] 160 | if OsStr::new("/") != &s { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^-- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `s` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `hash` [INFO] [stderr] --> src/posix/dir.rs:203:18 [INFO] [stderr] | [INFO] [stderr] 203 | for i in 0..32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 203 | for (i, ) in hash.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/posix/replica.rs:261:16 [INFO] [stderr] | [INFO] [stderr] 261 | if OsStr::new(".") == &name || [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^----- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/posix/replica.rs:262:17 [INFO] [stderr] | [INFO] [stderr] 262 | OsStr::new("..") == &name [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^----- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/posix/replica.rs:545:24 [INFO] [stderr] | [INFO] [stderr] 545 | if OsStr::new(".") == &name || [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^----- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/posix/replica.rs:546:25 [INFO] [stderr] | [INFO] [stderr] 546 | OsStr::new("..") == &name [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^----- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/posix/replica.rs:657:37 [INFO] [stderr] | [INFO] [stderr] 657 | let mut path: PathBuf = self.config.private_dir.clone().into(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `self.config.private_dir.clone()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/posix/replica.rs:703:31 [INFO] [stderr] | [INFO] [stderr] 703 | return Ok(new_path.into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider removing `.into()`: `new_path` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/replica.rs:904:38 [INFO] [stderr] | [INFO] [stderr] 904 | |_, data| Ok(dst.write_all(data)?))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 904 | |_, data| Ok(()))) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server/local_storage.rs:101:17 [INFO] [stderr] | [INFO] [stderr] 101 | watch_list: Option>>>, [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] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:275:20 [INFO] [stderr] | [INFO] [stderr] 275 | if (u32::MAX as u64) - (old_len as u64) < [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:275:40 [INFO] [stderr] | [INFO] [stderr] 275 | if (u32::MAX as u64) - (old_len as u64) < [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(old_len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:295:52 [INFO] [stderr] | [INFO] [stderr] 295 | try!(file.seek(io::SeekFrom::Start(old_len as u64))); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from(old_len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:409:25 [INFO] [stderr] | [INFO] [stderr] 409 | .binding(3, old_len as i64) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from(old_len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:482:21 [INFO] [stderr] | [INFO] [stderr] 482 | .binding(3, len as u64 as i64) [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:502:58 [INFO] [stderr] | [INFO] [stderr] 502 | if vh.len() != v.len() || iv < 0 || iv > u32::MAX as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(u32::MAX)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server/rpc.rs:643:16 [INFO] [stderr] | [INFO] [stderr] 643 | watch_fun: Arc) + Send>>>>, [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] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server/rpc.rs:689:24 [INFO] [stderr] | [INFO] [stderr] 689 | let watch_fun: Arc) + Send>>>> = [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] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/server/rpc.rs:695:23 [INFO] [stderr] | [INFO] [stderr] 695 | |r| r.ok_or(ErrorKind::ServerConnectionClosed.into())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| ErrorKind::ServerConnectionClosed.into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/rpc.rs:805:29 [INFO] [stderr] | [INFO] [stderr] 805 | Ok(Some((v, data.into()))), [INFO] [stderr] | ^^^^^^^^^^^ help: consider removing `.into()`: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/rpc.rs:814:48 [INFO] [stderr] | [INFO] [stderr] 814 | Response::ObjData(data) => Ok(Some(data.into())), [INFO] [stderr] | ^^^^^^^^^^^ help: consider removing `.into()`: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/server/crypt.rs:291:8 [INFO] [stderr] | [INFO] [stderr] 291 | .ok_or(fourleaf::de::Error::InvalidValueMsg( [INFO] [stderr] | ________^ [INFO] [stderr] 292 | | context.to_string(), "invalid timestamp")) [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 291 | .ok_or_else(|| fourleaf::de::Error::InvalidValueMsg( [INFO] [stderr] 292 | context.to_string(), "invalid timestamp")) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: The function/method `::new` doesn't need a mutable reference [INFO] [stderr] --> src/server/crypt.rs:605:50 [INFO] [stderr] | [INFO] [stderr] 605 | let mut srcrbuf = RefReadBuffer::new(&mut src_buf[..nread]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: the loop variable `ix` is only used to index `cleartext`. [INFO] [stderr] --> src/server/crypt.rs:772:15 [INFO] [stderr] | [INFO] [stderr] 772 | for ix in 0..8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 772 | for in cleartext.iter_mut().take(8) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `ix` is used to index `cleartext` [INFO] [stderr] --> src/server/crypt.rs:816:15 [INFO] [stderr] | [INFO] [stderr] 816 | for ix in 0..8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 816 | for (ix, ) in cleartext.iter().enumerate().take(8) { [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/crypt.rs:817:16 [INFO] [stderr] | [INFO] [stderr] 817 | ver |= (cleartext[ix] as u64) << (ix * 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(cleartext[ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/server/dir.rs:416:51 [INFO] [stderr] | [INFO] [stderr] 416 | for (name, entry) in &content.files { match entry { [INFO] [stderr] | ___________________________________________________^ [INFO] [stderr] 417 | | &v0::Entry::Directory { mode, id, .. } [INFO] [stderr] 418 | | if test(&name, mode, &id)? => { [INFO] [stderr] 419 | | child_name = Some(name.to_owned()); [INFO] [stderr] ... | [INFO] [stderr] 423 | | _ => { }, [INFO] [stderr] 424 | | } } [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] 416 | for (name, entry) in &content.files { match *entry { [INFO] [stderr] 417 | v0::Entry::Directory { mode, id, .. } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/dir.rs:563:33 [INFO] [stderr] | [INFO] [stderr] 563 | target: target.clone().into_vec().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `target.clone().into_vec()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/server/dir.rs:759:14 [INFO] [stderr] | [INFO] [stderr] 759 | .ok_or(ErrorKind::ServerDirectoryCorrupt( [INFO] [stderr] | ______________^ [INFO] [stderr] 760 | | self.path.clone(), [INFO] [stderr] 761 | | "No header at start of directory".to_owned()))?; [INFO] [stderr] | |______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 759 | .ok_or_else(|| ErrorKind::ServerDirectoryCorrupt( [INFO] [stderr] 760 | self.path.clone(), [INFO] [stderr] 761 | "No header at start of directory".to_owned()))?; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/dir.rs:817:25 [INFO] [stderr] | [INFO] [stderr] 817 | .binding(3, content.length as u64 as i64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(content.length)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(data[0] as usize)` [INFO] [stderr] --> src/server/dir.rs:848:13 [INFO] [stderr] | [INFO] [stderr] 848 | ((data[0] as usize) << 0) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/dir.rs:937:34 [INFO] [stderr] | [INFO] [stderr] 937 | content.apply_entry((name.into_vec().into(), entry)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `name.into_vec()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/dir.rs:941:34 [INFO] [stderr] | [INFO] [stderr] 941 | content.apply_entry((name.into_vec().into(), entry)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `name.into_vec()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/dir.rs:1107:39 [INFO] [stderr] | [INFO] [stderr] 1107 | let name = OsString::from_vec(entry.0.into()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider removing `.into()`: `entry.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/server/replica.rs:160:25 [INFO] [stderr] | [INFO] [stderr] 160 | .binding(4, len as i64) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/server/replica.rs:289:40 [INFO] [stderr] | [INFO] [stderr] 289 | ilen < 0 || ilen > u32::MAX as i64 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(u32::MAX)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/server/keymgmt.rs:321:27 [INFO] [stderr] | [INFO] [stderr] 321 | for (_, e) in &kdflist.keys { [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] 321 | for e in kdflist.keys.values() { [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/server/keymgmt.rs:329:23 [INFO] [stderr] | [INFO] [stderr] 329 | for (_, e) in &mut kdflist.keys { [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] 329 | for e in kdflist.keys.values_mut() { [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: The function/method `reassoc_keys` doesn't need a mutable reference [INFO] [stderr] --> src/server/keymgmt.rs:339:33 [INFO] [stderr] | [INFO] [stderr] 339 | reassoc_keys(e, &mut key_chain); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/server/keymgmt.rs:361:23 [INFO] [stderr] | [INFO] [stderr] 361 | for (_, e) in &mut kdflist.keys { [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] 361 | for e in kdflist.keys.values_mut() { [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: The function/method `reassoc_keys` doesn't need a mutable reference [INFO] [stderr] --> src/server/keymgmt.rs:376:33 [INFO] [stderr] | [INFO] [stderr] 376 | reassoc_keys(e, &mut key_chain); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 134 [INFO] [stderr] --> src/cli/cmd_sync.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | / fn write_human_readable(&self, level: LogLevel, what: &Log) { [INFO] [stderr] 132 | | let stderr_handle = stderr(); [INFO] [stderr] 133 | | let mut stderr_lock = stderr_handle.lock(); [INFO] [stderr] 134 | | [INFO] [stderr] ... | [INFO] [stderr] 447 | | } [INFO] [stderr] 448 | | } [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: unused label `'outer` [INFO] [stderr] --> src/cli/cmd_sync.rs:809:20 [INFO] [stderr] | [INFO] [stderr] 809 | if watch { 'outer: while !interrupt::is_interrupted() { [INFO] [stderr] | ____________________^ [INFO] [stderr] 810 | | watch_handle.wait(); [INFO] [stderr] 811 | | // Sleep for a few seconds in case there are multiple notifications [INFO] [stderr] 812 | | // coming in, but bail immediately if we're responding to ^C. [INFO] [stderr] ... | [INFO] [stderr] 824 | | }, config, false)?; [INFO] [stderr] 825 | | } } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_label)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_label [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (15/7) [INFO] [stderr] --> src/cli/cmd_sync.rs:647:1 [INFO] [stderr] | [INFO] [stderr] 647 | / pub fn run(config: &Config, storage: Arc, [INFO] [stderr] 648 | | verbosity: i32, quietness: i32, [INFO] [stderr] 649 | | itemise: bool, itemise_unchanged: bool, [INFO] [stderr] 650 | | colour: &str, spin: &str, [INFO] [stderr] ... | [INFO] [stderr] 828 | | } [INFO] [stderr] 829 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cli/cmd_sync.rs:715:33 [INFO] [stderr] | [INFO] [stderr] 715 | let mut nominal_log_level = (EDIT as i32) + verbosity - quietness; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(EDIT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cli/cmd_sync.rs:720:28 [INFO] [stderr] | [INFO] [stderr] 720 | if nominal_log_level > (EDIT as i32) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(EDIT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cli/cmd_sync.rs:727:21 [INFO] [stderr] | [INFO] [stderr] 727 | let level = max(FATAL as i32, min(255, nominal_log_level)) as LogLevel; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(FATAL)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/cli/cmd_sync.rs:904:9 [INFO] [stderr] | [INFO] [stderr] 904 | let _ = thread.join().expect("Child thread panicked"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cli/cmd_manual.rs:152:36 [INFO] [stderr] | [INFO] [stderr] 152 | replica, path.parent().unwrap_or("".as_ref()), false)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cli/cmd_manual.rs:181:36 [INFO] [stderr] | [INFO] [stderr] 181 | let parent = path.parent().unwrap_or("".as_ref()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cli/cmd_manual.rs:220:31 [INFO] [stderr] | [INFO] [stderr] 220 | let parent = src.parent().unwrap_or("".as_ref()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cli/cmd_manual.rs:254:47 [INFO] [stderr] | [INFO] [stderr] 254 | (dst.to_owned(), dst.parent().unwrap_or(".".as_ref())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| ".".as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/cli/cmd_manual.rs:266:39 [INFO] [stderr] | [INFO] [stderr] 266 | .chain_err(|| format!("Failed to create \ [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 267 | | temporary file"))?; [INFO] [stderr] | |_______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] help: consider using .to_string() [INFO] [stderr] | [INFO] [stderr] 266 | .chain_err(|| "Failed to create \ [INFO] [stderr] 267 | temporary file".to_string())?; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/cli/cmd_setup.rs:464:8 [INFO] [stderr] | [INFO] [stderr] 464 | if SHELL_IDENTITY == &is_ensync_shell { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^---------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `is_ensync_shell` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 40 [INFO] [stderr] --> src/main.rs:85:1 [INFO] [stderr] | [INFO] [stderr] 85 | / fn main_impl() -> Result<()> { [INFO] [stderr] 86 | | use std::env; [INFO] [stderr] 87 | | use std::fs; [INFO] [stderr] 88 | | [INFO] [stderr] ... | [INFO] [stderr] 1061 | | } [INFO] [stderr] 1062 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:97:62 [INFO] [stderr] | [INFO] [stderr] 97 | if args.next().map_or(false, |arg0| arg0.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:1050:57 [INFO] [stderr] | [INFO] [stderr] 1050 | matches.value_of_os("dst").unwrap_or( [INFO] [stderr] | _________________________________________________________^ [INFO] [stderr] 1051 | | ::std::ffi::OsStr::new("")), [INFO] [stderr] | |____________________________________________________________^ help: try this: `unwrap_or_else(|| ::std::ffi::OsStr::new(""))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 33 [INFO] [stderr] --> src/defs.rs:204:5 [INFO] [stderr] | [INFO] [stderr] 204 | / fn file_matches() { [INFO] [stderr] 205 | | let f1 = FileData::Regular(0o777, 0, 42, [1;32]); [INFO] [stderr] 206 | | let f2 = FileData::Regular(0o666, 0, 56, [1;32]); [INFO] [stderr] 207 | | let f3 = FileData::Regular(0o777, 0, 42, [2;32]); [INFO] [stderr] ... | [INFO] [stderr] 254 | | assert!(!special.matches_content(&f1)); [INFO] [stderr] 255 | | } [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/sql.rs:60:17 [INFO] [stderr] | [INFO] [stderr] 60 | Err(e.into()) [INFO] [stderr] | ^^^^^^^^ help: consider removing `.into()`: `e` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/rules/engine.rs:515:5 [INFO] [stderr] | [INFO] [stderr] 515 | / match val { [INFO] [stderr] 516 | | &toml::Value::String(_) => [INFO] [stderr] 517 | | Ok(vec![try!(parse_state_ref(val, &loc, state_indices))]), [INFO] [stderr] 518 | | &toml::Value::Array(ref elts) => { [INFO] [stderr] ... | [INFO] [stderr] 525 | | _ => Err(Error::WrongType(loc, "string-or-array")), [INFO] [stderr] 526 | | } [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: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 515 | match *val { [INFO] [stderr] 516 | toml::Value::String(_) => [INFO] [stderr] 517 | Ok(vec![try!(parse_state_ref(val, &loc, state_indices))]), [INFO] [stderr] 518 | toml::Value::Array(ref elts) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/memory_replica.rs:117:9 [INFO] [stderr] | [INFO] [stderr] 117 | / match entry { [INFO] [stderr] 118 | | &Entry::Directory(mode) => FileData::Directory(mode), [INFO] [stderr] 119 | | &Entry::Regular(reg) => FileData::Regular( [INFO] [stderr] 120 | | reg.mode, reg.size, reg.modified, reg.hash), [INFO] [stderr] ... | [INFO] [stderr] 123 | | &Entry::Special => FileData::Special, [INFO] [stderr] 124 | | } [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] 117 | match *entry { [INFO] [stderr] 118 | Entry::Directory(mode) => FileData::Directory(mode), [INFO] [stderr] 119 | Entry::Regular(reg) => FileData::Regular( [INFO] [stderr] 120 | reg.mode, reg.size, reg.modified, reg.hash), [INFO] [stderr] 121 | Entry::Symlink(ref target) => [INFO] [stderr] 122 | FileData::Symlink(target.clone()), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/memory_replica.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | / match fd { [INFO] [stderr] 143 | | &FileData::Directory(mode) => Ok(Entry::Directory(mode)), [INFO] [stderr] 144 | | &FileData::Regular(mode, size, modified, _) => { [INFO] [stderr] 145 | | let hash = xfer.ok_or(ErrorKind::MissingXfer)?; [INFO] [stderr] ... | [INFO] [stderr] 153 | | &FileData::Special => Ok(Entry::Special), [INFO] [stderr] 154 | | } [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] 142 | match *fd { [INFO] [stderr] 143 | FileData::Directory(mode) => Ok(Entry::Directory(mode)), [INFO] [stderr] 144 | FileData::Regular(mode, size, modified, _) => { [INFO] [stderr] 145 | let hash = xfer.ok_or(ErrorKind::MissingXfer)?; [INFO] [stderr] 146 | Ok(Entry::Regular(Regular { [INFO] [stderr] 147 | mode: mode, size: size, modified: modified, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/memory_replica.rs:262:25 [INFO] [stderr] | [INFO] [stderr] 262 | for (_, val) in &mut contents.contents { [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] 262 | for val in contents.contents.values_mut() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/memory_replica.rs:263:13 [INFO] [stderr] | [INFO] [stderr] 263 | / if let &mut Entry::Regular(Regular { ref mut hash, .. }) = val { [INFO] [stderr] 264 | | *hash = UNKNOWN_HASH; [INFO] [stderr] 265 | | } [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] 263 | if let Entry::Regular(Regular { ref mut hash, .. }) = *val { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/memory_replica.rs:271:25 [INFO] [stderr] | [INFO] [stderr] 271 | for (_, dir) in &mut d.dirs { [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] 271 | for dir in d.dirs.values_mut() { [INFO] [stderr] | ^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/memory_replica.rs:357:36 [INFO] [stderr] | [INFO] [stderr] 357 | "/"[..] == big[prefix.len()..prefix.len()+1]) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `prefix.len()..=prefix.len()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: usage of `contains_key` followed by `insert` on a `HashMap` [INFO] [stderr] --> src/memory_replica.rs:464:13 [INFO] [stderr] | [INFO] [stderr] 464 | / if !d.dirs.contains_key(&full) { [INFO] [stderr] 465 | | // Doesn't exist, try to create [INFO] [stderr] 466 | | try!(d.test_op(&Op::CreateSynthetic(synth_name.clone()))); [INFO] [stderr] 467 | | // Make sure the parent exists and there's nothing else there [INFO] [stderr] ... | [INFO] [stderr] 482 | | d.dirs.insert(full, Default::default()); [INFO] [stderr] 483 | | } [INFO] [stderr] | |_____________^ help: consider using: `d.dirs.entry(full)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_entry)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/memory_replica.rs:542:9 [INFO] [stderr] | [INFO] [stderr] 542 | / if let &FileData::Directory(mode) = old { [INFO] [stderr] 543 | | try!(self.remove(dir, File(name, [INFO] [stderr] 544 | | &FileData::Directory(mode)))); [INFO] [stderr] 545 | | return self.create(dir, File(name, new), xfer); [INFO] [stderr] 546 | | } [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] 542 | if let FileData::Directory(mode) = *old { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/memory_replica.rs:630:9 [INFO] [stderr] | [INFO] [stderr] 630 | / match file { [INFO] [stderr] 631 | | &FileData::Regular(_,_,_,h) => Some(h), [INFO] [stderr] 632 | | _ => None, [INFO] [stderr] 633 | | } [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] 630 | match *file { [INFO] [stderr] 631 | FileData::Regular(_,_,_,h) => Some(h), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: The function/method `is_condemned` doesn't need a mutable reference [INFO] [stderr] --> src/memory_replica.rs:1227:38 [INFO] [stderr] | [INFO] [stderr] 1227 | assert!(replica.is_condemned(&mut root, &oss("foo")).unwrap()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `is_condemned` doesn't need a mutable reference [INFO] [stderr] --> src/memory_replica.rs:1234:39 [INFO] [stderr] | [INFO] [stderr] 1234 | assert!(!replica.is_condemned(&mut root, &oss("foo")).unwrap()); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/reconcile/context.rs:66:13 [INFO] [stderr] | [INFO] [stderr] 66 | lock.next_id = lock.next_id + Wrapping(1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock.next_id += Wrapping(1)` [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: manual implementation of an assign operation [INFO] [stderr] --> src/reconcile/context.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | lock.next_id = lock.next_id + Wrapping(1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock.next_id += Wrapping(1)` [INFO] [stderr] | [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/reconcile/context.rs:91:15 [INFO] [stderr] | [INFO] [stderr] 91 | pub work: WorkStack>>, [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/reconcile/context.rs:92:16 [INFO] [stderr] | [INFO] [stderr] 92 | pub tasks: UnqueuedTasks>>, [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] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/reconcile/mutate.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | / files.insert(name.to_owned(), newfd.clone()) [INFO] [stderr] 82 | | .map(|_| panic!("Inserted ancestor already in table?")); [INFO] [stderr] | |_______________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 81 | if let Some(_) = files.insert(name.to_owned(), newfd.clone()) { $ crate :: rt :: begin_panic ( [INFO] [stderr] 82 | $ msg , & ( file ! ( ) , line ! ( ) , __rust_unstable_column ! ( ) ) ) } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/reconcile/mutate.rs:116:1 [INFO] [stderr] | [INFO] [stderr] 116 | / fn try_replace_ancestor( [INFO] [stderr] 117 | | replica: &A, in_dir: &mut A::Directory, [INFO] [stderr] 118 | | files: &mut BTreeMap, [INFO] [stderr] 119 | | dir_name: &OsStr, name: &OsStr, [INFO] [stderr] ... | [INFO] [stderr] 127 | | ErrorOperation::Update(name), &error))) [INFO] [stderr] 128 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (11/7) [INFO] [stderr] --> src/reconcile/mutate.rs:145:1 [INFO] [stderr] | [INFO] [stderr] 145 | / fn replace_replica, [INFO] [stderr] 147 | | LOG : Logger>( [INFO] [stderr] 148 | | dst: &DST, dst_dir: &mut DST::Directory, [INFO] [stderr] ... | [INFO] [stderr] 220 | | } [INFO] [stderr] 221 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/reconcile/mutate.rs:208:21 [INFO] [stderr] | [INFO] [stderr] 208 | / dst_files.insert(name.to_owned(), r.clone()) [INFO] [stderr] 209 | | .map(|_| panic!("Inserted file already in table?")); [INFO] [stderr] | |___________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 208 | if let Some(_) = dst_files.insert(name.to_owned(), r.clone()) { $ crate :: rt :: begin_panic ( [INFO] [stderr] 209 | $ msg , & ( file ! ( ) , line ! ( ) , __rust_unstable_column ! ( ) ) ) } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/reconcile/mutate.rs:231:1 [INFO] [stderr] | [INFO] [stderr] 231 | / fn try_rename_replica( [INFO] [stderr] 232 | | replica: &A, dir: &mut A::Directory, [INFO] [stderr] 233 | | files: &mut BTreeMap, [INFO] [stderr] 234 | | dir_name: &OsStr, old_name: &OsStr, new_name: &OsStr, [INFO] [stderr] ... | [INFO] [stderr] 251 | | } [INFO] [stderr] 252 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: consider using `Option` instead of `Option>` or a custom enum if you need to distinguish all 3 cases [INFO] [stderr] --> src/reconcile/mutate.rs:284:23 [INFO] [stderr] | [INFO] [stderr] 284 | -> result::Result>, ApplyResult> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_option)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_option [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (14/7) [INFO] [stderr] --> src/reconcile/mutate.rs:272:1 [INFO] [stderr] | [INFO] [stderr] 272 | / fn apply_use, [INFO] [stderr] 275 | | LOG : Logger> [INFO] [stderr] ... | [INFO] [stderr] 322 | | } [INFO] [stderr] 323 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/reconcile/mutate.rs:590:22 [INFO] [stderr] | [INFO] [stderr] 590 | log: self.logger.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.logger` [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: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:729:13 [INFO] [stderr] | [INFO] [stderr] 729 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::blacklisted_name)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/reconcile/mutate.rs:730:13 [INFO] [stderr] | [INFO] [stderr] 730 | let bar = oss("bar"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:749:13 [INFO] [stderr] | [INFO] [stderr] 749 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/reconcile/mutate.rs:750:13 [INFO] [stderr] | [INFO] [stderr] 750 | let bar = oss("bar"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:770:13 [INFO] [stderr] | [INFO] [stderr] 770 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/reconcile/mutate.rs:771:13 [INFO] [stderr] | [INFO] [stderr] 771 | let bar = oss("bar"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:792:13 [INFO] [stderr] | [INFO] [stderr] 792 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:808:13 [INFO] [stderr] | [INFO] [stderr] 808 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: The function/method `replace_replica` doesn't need a mutable reference [INFO] [stderr] --> src/reconcile/mutate.rs:818:52 [INFO] [stderr] | [INFO] [stderr] 818 | &dst, &mut dst_root, &mut files, &src, &mut src_root, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:828:13 [INFO] [stderr] | [INFO] [stderr] 828 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:850:13 [INFO] [stderr] | [INFO] [stderr] 850 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:875:13 [INFO] [stderr] | [INFO] [stderr] 875 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:892:13 [INFO] [stderr] | [INFO] [stderr] 892 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/reconcile/mutate.rs:893:13 [INFO] [stderr] | [INFO] [stderr] 893 | let bar = oss("bar"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:909:13 [INFO] [stderr] | [INFO] [stderr] 909 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/reconcile/mutate.rs:910:13 [INFO] [stderr] | [INFO] [stderr] 910 | let bar = oss("bar"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:930:13 [INFO] [stderr] | [INFO] [stderr] 930 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:951:13 [INFO] [stderr] | [INFO] [stderr] 951 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:972:13 [INFO] [stderr] | [INFO] [stderr] 972 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:997:13 [INFO] [stderr] | [INFO] [stderr] 997 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1016:13 [INFO] [stderr] | [INFO] [stderr] 1016 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1040:13 [INFO] [stderr] | [INFO] [stderr] 1040 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1064:13 [INFO] [stderr] | [INFO] [stderr] 1064 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1090:13 [INFO] [stderr] | [INFO] [stderr] 1090 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1116:13 [INFO] [stderr] | [INFO] [stderr] 1116 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1138:13 [INFO] [stderr] | [INFO] [stderr] 1138 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1163:13 [INFO] [stderr] | [INFO] [stderr] 1163 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1183:13 [INFO] [stderr] | [INFO] [stderr] 1183 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1214:13 [INFO] [stderr] | [INFO] [stderr] 1214 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1245:13 [INFO] [stderr] | [INFO] [stderr] 1245 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1279:13 [INFO] [stderr] | [INFO] [stderr] 1279 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1311:13 [INFO] [stderr] | [INFO] [stderr] 1311 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1345:13 [INFO] [stderr] | [INFO] [stderr] 1345 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> src/reconcile/mutate.rs:1382:13 [INFO] [stderr] | [INFO] [stderr] 1382 | let foo = oss("foo"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/reconcile/tree_walk.rs:101:23 [INFO] [stderr] | [INFO] [stderr] 101 | anc.as_ref()).or(srv.as_ref()).expect( [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try this: `or_else(|| srv.as_ref())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/reconcile/tree_walk.rs:100:56 [INFO] [stderr] | [INFO] [stderr] 100 | let rules = dir.rules.file(File(name, cli.as_ref().or( [INFO] [stderr] | ________________________________________________________^ [INFO] [stderr] 101 | | anc.as_ref()).or(srv.as_ref()).expect( [INFO] [stderr] | |_____________________^ help: try this: `or_else(|| anc.as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or` followed by a function call [INFO] [stderr] --> src/reconcile/tree_walk.rs:106:47 [INFO] [stderr] | [INFO] [stderr] 106 | if let Some(other) = srv.as_ref().or(anc.as_ref()) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try this: `or_else(|| anc.as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/reconcile/tree_walk.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | rb.as_mut().map(|r| r.contains(File(&name, &value))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(r) = rb.as_mut() { r.contains(File(&name, &value)) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/reconcile/tree_walk.rs:414:1 [INFO] [stderr] | [INFO] [stderr] 414 | / fn recursive_delete( [INFO] [stderr] 415 | | &self, dir: &mut dir_ctx!(), [INFO] [stderr] 416 | | parent_name: &OsStr, name: &OsStr, [INFO] [stderr] 417 | | file_rules: ::FileRules, [INFO] [stderr] ... | [INFO] [stderr] 456 | | } [INFO] [stderr] 457 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/reconcile/tree_walk.rs:421:5 [INFO] [stderr] | [INFO] [stderr] 421 | / fn chdir_or_synth( [INFO] [stderr] 422 | | r: &R, dir: &mut R::Directory, [INFO] [stderr] 423 | | this_side: ReconciliationSide, phys_side: ReconciliationSide, [INFO] [stderr] 424 | | log: &LOG, [INFO] [stderr] ... | [INFO] [stderr] 432 | | } [INFO] [stderr] 433 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [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/reconcile/tree_walk.rs:558:49 [INFO] [stderr] | [INFO] [stderr] 558 | fs: &Vec, slot: F) { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[En]` [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/reconcile/tree_walk.rs:561:52 [INFO] [stderr] | [INFO] [stderr] 561 | ls: &Vec, [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[En]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/reconcile/tree_walk.rs:620:17 [INFO] [stderr] | [INFO] [stderr] 620 | fn init(fs: &Vec) -> Fixture { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[En]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/reconcile/tree_walk.rs:630:51 [INFO] [stderr] | [INFO] [stderr] 630 | fs: &Vec, slot: F) { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[En]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/reconcile/tree_walk.rs:634:51 [INFO] [stderr] | [INFO] [stderr] 634 | fs: &Vec, slot: &F) { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[En]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/reconcile/tree_walk.rs:679:33 [INFO] [stderr] | [INFO] [stderr] 679 | fn verify(fx: &Fixture, fs: &Vec) { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[En]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/reconcile/tree_walk.rs:762:42 [INFO] [stderr] | [INFO] [stderr] 762 | fn test_single(input: &Vec, rules: R, output: &Vec) { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[En]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/reconcile/tree_walk.rs:762:70 [INFO] [stderr] | [INFO] [stderr] 762 | fn test_single(input: &Vec, rules: R, output: &Vec) { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[En]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/reconcile/tree_walk.rs:1023:25 [INFO] [stderr] | [INFO] [stderr] 1023 | fn names_unique(fs: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[En]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/reconcile/tree_walk.rs:1112:44 [INFO] [stderr] | [INFO] [stderr] 1112 | dst: &mut HashSet, fs: &Vec, [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[En]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/reconcile/tree_walk.rs:1126:32 [INFO] [stderr] | [INFO] [stderr] 1126 | fn files_in_fs(fs: &Vec) -> (HashSet, HashSet) { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[En]` [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: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/ancestor/replica.rs:175:23 [INFO] [stderr] | [INFO] [stderr] 175 | mode: mode as i64, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(mode)` [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: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/ancestor/replica.rs:184:23 [INFO] [stderr] | [INFO] [stderr] 184 | mode: mode as i64, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(mode)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/ancestor/replica.rs:401:12 [INFO] [stderr] | [INFO] [stderr] 401 | Ok(try!(self.dao.lock().unwrap().condemn(h, name.as_nbytes()))) [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] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/ancestor/replica.rs:406:12 [INFO] [stderr] | [INFO] [stderr] 406 | Ok(try!(self.dao.lock().unwrap().uncondemn(h, name.as_nbytes()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/posix/dao.rs:143:30 [INFO] [stderr] | [INFO] [stderr] 143 | path = &path[0..slash+1]; [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=slash` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/posix/dao.rs:172:30 [INFO] [stderr] | [INFO] [stderr] 172 | path = &path[0..slash+1]; [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=slash` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/dao.rs:183:12 [INFO] [stderr] | [INFO] [stderr] 183 | Ok(self.0.prepare("DELETE FROM `clean_dirs`").run()?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 183 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/dao.rs:353:12 [INFO] [stderr] | [INFO] [stderr] 353 | Ok(self.0.prepare("UPDATE `hash_cache` SET `mtime` = ?2 \ [INFO] [stderr] | ____________^ [INFO] [stderr] 354 | | WHERE `path` = ?1") [INFO] [stderr] 355 | | .binding(1, path.as_nbytes()).binding(2, mtime as i64) [INFO] [stderr] 356 | | .run()?) [INFO] [stderr] | |__________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 353 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/dao.rs:362:12 [INFO] [stderr] | [INFO] [stderr] 362 | Ok(try!(self.0.prepare("UPDATE `hash_cache` SET `path` = ?2 \ [INFO] [stderr] | ____________^ [INFO] [stderr] 363 | | WHERE `path` = ?1") [INFO] [stderr] 364 | | .binding(1, old.as_nbytes()).binding(2, new.as_nbytes()) [INFO] [stderr] 365 | | .run())) [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/dao.rs:370:12 [INFO] [stderr] | [INFO] [stderr] 370 | Ok(try!(self.0.prepare("DELETE FROM `hash_cache` WHERE `path` = ?1") [INFO] [stderr] | ____________^ [INFO] [stderr] 371 | | .binding(1, path.as_nbytes()).run())) [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/dao.rs:376:12 [INFO] [stderr] | [INFO] [stderr] 376 | Ok(self.0.prepare("DELETE FROM `hash_cache`").run()?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 376 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/posix/dir.rs:160:12 [INFO] [stderr] | [INFO] [stderr] 160 | if OsStr::new("/") != &s { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^-- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `s` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `hash` [INFO] [stderr] --> src/posix/dir.rs:203:18 [INFO] [stderr] | [INFO] [stderr] 203 | for i in 0..32 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 203 | for (i, ) in hash.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/posix/replica.rs:261:16 [INFO] [stderr] | [INFO] [stderr] 261 | if OsStr::new(".") == &name || [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^----- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/posix/replica.rs:262:17 [INFO] [stderr] | [INFO] [stderr] 262 | OsStr::new("..") == &name [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^----- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/posix/replica.rs:545:24 [INFO] [stderr] | [INFO] [stderr] 545 | if OsStr::new(".") == &name || [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^----- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/posix/replica.rs:546:25 [INFO] [stderr] | [INFO] [stderr] 546 | OsStr::new("..") == &name [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^----- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/posix/replica.rs:657:37 [INFO] [stderr] | [INFO] [stderr] 657 | let mut path: PathBuf = self.config.private_dir.clone().into(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `self.config.private_dir.clone()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/posix/replica.rs:703:31 [INFO] [stderr] | [INFO] [stderr] 703 | return Ok(new_path.into()); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider removing `.into()`: `new_path` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/posix/replica.rs:904:38 [INFO] [stderr] | [INFO] [stderr] 904 | |_, data| Ok(dst.write_all(data)?))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 904 | |_, data| Ok(()))) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/posix/replica.rs:1281:24 [INFO] [stderr] | [INFO] [stderr] 1281 | assert_eq!("hello world".as_bytes().len() as FileSize, size); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello world"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/posix/replica.rs:1283:17 [INFO] [stderr] | [INFO] [stderr] 1283 | "hello world".as_bytes(), BLOCK_SZ, SECRET.as_bytes(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello world"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/posix/replica.rs:1290:24 [INFO] [stderr] | [INFO] [stderr] 1290 | assert_eq!("hello world".as_bytes(), &data[..]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello world"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] error: you are getting the inner pointer of a temporary `CString` [INFO] [stderr] --> src/posix/replica.rs:1304:17 [INFO] [stderr] | [INFO] [stderr] 1304 | / CString::new(root.path().join("fifo").to_str().unwrap()) [INFO] [stderr] 1305 | | .unwrap().as_ptr(), 0o000)); [INFO] [stderr] | |______________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::temporary_cstring_as_ptr)] on by default [INFO] [stderr] = note: that pointer will be invalid outside this expression [INFO] [stderr] help: assign the `CString` to a variable to extend its lifetime [INFO] [stderr] --> src/posix/replica.rs:1304:17 [INFO] [stderr] | [INFO] [stderr] 1304 | / CString::new(root.path().join("fifo").to_str().unwrap()) [INFO] [stderr] 1305 | | .unwrap().as_ptr(), 0o000)); [INFO] [stderr] | |_____________________________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#temporary_cstring_as_ptr [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/posix/replica.rs:1957:16 [INFO] [stderr] | [INFO] [stderr] 1957 | if &oss("bar") == &name { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 1957 | if oss("bar") == name { [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: needlessly taken reference of both operands [INFO] [stderr] --> src/posix/replica.rs:1959:23 [INFO] [stderr] | [INFO] [stderr] 1959 | } else if &oss("baz") == &name { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] help: use the values directly [INFO] [stderr] | [INFO] [stderr] 1959 | } else if oss("baz") == name { [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server/local_storage.rs:101:17 [INFO] [stderr] | [INFO] [stderr] 101 | watch_list: Option>>>, [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] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:275:20 [INFO] [stderr] | [INFO] [stderr] 275 | if (u32::MAX as u64) - (old_len as u64) < [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u64::from(u32::MAX)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:275:40 [INFO] [stderr] | [INFO] [stderr] 275 | if (u32::MAX as u64) - (old_len as u64) < [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `u64::from(old_len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:295:52 [INFO] [stderr] | [INFO] [stderr] 295 | try!(file.seek(io::SeekFrom::Start(old_len as u64))); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from(old_len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:409:25 [INFO] [stderr] | [INFO] [stderr] 409 | .binding(3, old_len as i64) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i64::from(old_len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:482:21 [INFO] [stderr] | [INFO] [stderr] 482 | .binding(3, len as u64 as i64) [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/server/local_storage.rs:502:58 [INFO] [stderr] | [INFO] [stderr] 502 | if vh.len() != v.len() || iv < 0 || iv > u32::MAX as i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(u32::MAX)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server/rpc.rs:643:16 [INFO] [stderr] | [INFO] [stderr] 643 | watch_fun: Arc) + Send>>>>, [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] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/server/rpc.rs:689:24 [INFO] [stderr] | [INFO] [stderr] 689 | let watch_fun: Arc) + Send>>>> = [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] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/server/rpc.rs:695:23 [INFO] [stderr] | [INFO] [stderr] 695 | |r| r.ok_or(ErrorKind::ServerConnectionClosed.into())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| ErrorKind::ServerConnectionClosed.into())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/rpc.rs:805:29 [INFO] [stderr] | [INFO] [stderr] 805 | Ok(Some((v, data.into()))), [INFO] [stderr] | ^^^^^^^^^^^ help: consider removing `.into()`: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/rpc.rs:814:48 [INFO] [stderr] | [INFO] [stderr] 814 | Response::ObjData(data) => Ok(Some(data.into())), [INFO] [stderr] | ^^^^^^^^^^^ help: consider removing `.into()`: `data` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/server/crypt.rs:291:8 [INFO] [stderr] | [INFO] [stderr] 291 | .ok_or(fourleaf::de::Error::InvalidValueMsg( [INFO] [stderr] | ________^ [INFO] [stderr] 292 | | context.to_string(), "invalid timestamp")) [INFO] [stderr] | |____________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 291 | .ok_or_else(|| fourleaf::de::Error::InvalidValueMsg( [INFO] [stderr] 292 | context.to_string(), "invalid timestamp")) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: The function/method `::new` doesn't need a mutable reference [INFO] [stderr] --> src/server/crypt.rs:605:50 [INFO] [stderr] | [INFO] [stderr] 605 | let mut srcrbuf = RefReadBuffer::new(&mut src_buf[..nread]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: the loop variable `ix` is only used to index `cleartext`. [INFO] [stderr] --> src/server/crypt.rs:772:15 [INFO] [stderr] | [INFO] [stderr] 772 | for ix in 0..8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 772 | for in cleartext.iter_mut().take(8) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `ix` is used to index `cleartext` [INFO] [stderr] --> src/server/crypt.rs:816:15 [INFO] [stderr] | [INFO] [stderr] 816 | for ix in 0..8 { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 816 | for (ix, ) in cleartext.iter().enumerate().take(8) { [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/crypt.rs:817:16 [INFO] [stderr] | [INFO] [stderr] 817 | ver |= (cleartext[ix] as u64) << (ix * 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(cleartext[ix])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/server/dir.rs:416:51 [INFO] [stderr] | [INFO] [stderr] 416 | for (name, entry) in &content.files { match entry { [INFO] [stderr] | ___________________________________________________^ [INFO] [stderr] 417 | | &v0::Entry::Directory { mode, id, .. } [INFO] [stderr] 418 | | if test(&name, mode, &id)? => { [INFO] [stderr] 419 | | child_name = Some(name.to_owned()); [INFO] [stderr] ... | [INFO] [stderr] 423 | | _ => { }, [INFO] [stderr] 424 | | } } [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] 416 | for (name, entry) in &content.files { match *entry { [INFO] [stderr] 417 | v0::Entry::Directory { mode, id, .. } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/dir.rs:563:33 [INFO] [stderr] | [INFO] [stderr] 563 | target: target.clone().into_vec().into(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `target.clone().into_vec()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/server/dir.rs:759:14 [INFO] [stderr] | [INFO] [stderr] 759 | .ok_or(ErrorKind::ServerDirectoryCorrupt( [INFO] [stderr] | ______________^ [INFO] [stderr] 760 | | self.path.clone(), [INFO] [stderr] 761 | | "No header at start of directory".to_owned()))?; [INFO] [stderr] | |______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 759 | .ok_or_else(|| ErrorKind::ServerDirectoryCorrupt( [INFO] [stderr] 760 | self.path.clone(), [INFO] [stderr] 761 | "No header at start of directory".to_owned()))?; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/server/dir.rs:817:25 [INFO] [stderr] | [INFO] [stderr] 817 | .binding(3, content.length as u64 as i64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(content.length)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `(data[0] as usize)` [INFO] [stderr] --> src/server/dir.rs:848:13 [INFO] [stderr] | [INFO] [stderr] 848 | ((data[0] as usize) << 0) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/dir.rs:937:34 [INFO] [stderr] | [INFO] [stderr] 937 | content.apply_entry((name.into_vec().into(), entry)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `name.into_vec()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/dir.rs:941:34 [INFO] [stderr] | [INFO] [stderr] 941 | content.apply_entry((name.into_vec().into(), entry)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `name.into_vec()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/server/dir.rs:1107:39 [INFO] [stderr] | [INFO] [stderr] 1107 | let name = OsString::from_vec(entry.0.into()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider removing `.into()`: `entry.0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/server/replica.rs:160:25 [INFO] [stderr] | [INFO] [stderr] 160 | .binding(4, len as i64) [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/server/replica.rs:289:40 [INFO] [stderr] | [INFO] [stderr] 289 | ilen < 0 || ilen > u32::MAX as i64 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(u32::MAX)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/server/keymgmt.rs:321:27 [INFO] [stderr] | [INFO] [stderr] 321 | for (_, e) in &kdflist.keys { [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] 321 | for e in kdflist.keys.values() { [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/server/keymgmt.rs:329:23 [INFO] [stderr] | [INFO] [stderr] 329 | for (_, e) in &mut kdflist.keys { [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] 329 | for e in kdflist.keys.values_mut() { [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: The function/method `reassoc_keys` doesn't need a mutable reference [INFO] [stderr] --> src/server/keymgmt.rs:339:33 [INFO] [stderr] | [INFO] [stderr] 339 | reassoc_keys(e, &mut key_chain); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: you seem to want to iterate on a map's values [INFO] [stderr] --> src/server/keymgmt.rs:361:23 [INFO] [stderr] | [INFO] [stderr] 361 | for (_, e) in &mut kdflist.keys { [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] 361 | for e in kdflist.keys.values_mut() { [INFO] [stderr] | ^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: The function/method `reassoc_keys` doesn't need a mutable reference [INFO] [stderr] --> src/server/keymgmt.rs:376:33 [INFO] [stderr] | [INFO] [stderr] 376 | reassoc_keys(e, &mut key_chain); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 134 [INFO] [stderr] --> src/cli/cmd_sync.rs:131:5 [INFO] [stderr] | [INFO] [stderr] 131 | / fn write_human_readable(&self, level: LogLevel, what: &Log) { [INFO] [stderr] 132 | | let stderr_handle = stderr(); [INFO] [stderr] 133 | | let mut stderr_lock = stderr_handle.lock(); [INFO] [stderr] 134 | | [INFO] [stderr] ... | [INFO] [stderr] 447 | | } [INFO] [stderr] 448 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: unused label `'outer` [INFO] [stderr] --> src/cli/cmd_sync.rs:809:20 [INFO] [stderr] | [INFO] [stderr] 809 | if watch { 'outer: while !interrupt::is_interrupted() { [INFO] [stderr] | ____________________^ [INFO] [stderr] 810 | | watch_handle.wait(); [INFO] [stderr] 811 | | // Sleep for a few seconds in case there are multiple notifications [INFO] [stderr] 812 | | // coming in, but bail immediately if we're responding to ^C. [INFO] [stderr] ... | [INFO] [stderr] 824 | | }, config, false)?; [INFO] [stderr] 825 | | } } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_label)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_label [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (15/7) [INFO] [stderr] --> src/cli/cmd_sync.rs:647:1 [INFO] [stderr] | [INFO] [stderr] 647 | / pub fn run(config: &Config, storage: Arc, [INFO] [stderr] 648 | | verbosity: i32, quietness: i32, [INFO] [stderr] 649 | | itemise: bool, itemise_unchanged: bool, [INFO] [stderr] 650 | | colour: &str, spin: &str, [INFO] [stderr] ... | [INFO] [stderr] 828 | | } [INFO] [stderr] 829 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cli/cmd_sync.rs:715:33 [INFO] [stderr] | [INFO] [stderr] 715 | let mut nominal_log_level = (EDIT as i32) + verbosity - quietness; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(EDIT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cli/cmd_sync.rs:720:28 [INFO] [stderr] | [INFO] [stderr] 720 | if nominal_log_level > (EDIT as i32) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(EDIT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/cli/cmd_sync.rs:727:21 [INFO] [stderr] | [INFO] [stderr] 727 | let level = max(FATAL as i32, min(255, nominal_log_level)) as LogLevel; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(FATAL)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/cli/cmd_sync.rs:904:9 [INFO] [stderr] | [INFO] [stderr] 904 | let _ = thread.join().expect("Child thread panicked"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cli/cmd_manual.rs:152:36 [INFO] [stderr] | [INFO] [stderr] 152 | replica, path.parent().unwrap_or("".as_ref()), false)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cli/cmd_manual.rs:181:36 [INFO] [stderr] | [INFO] [stderr] 181 | let parent = path.parent().unwrap_or("".as_ref()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cli/cmd_manual.rs:220:31 [INFO] [stderr] | [INFO] [stderr] 220 | let parent = src.parent().unwrap_or("".as_ref()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| "".as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cli/cmd_manual.rs:254:47 [INFO] [stderr] | [INFO] [stderr] 254 | (dst.to_owned(), dst.parent().unwrap_or(".".as_ref())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| ".".as_ref())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/cli/cmd_manual.rs:266:39 [INFO] [stderr] | [INFO] [stderr] 266 | .chain_err(|| format!("Failed to create \ [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 267 | | temporary file"))?; [INFO] [stderr] | |_______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] help: consider using .to_string() [INFO] [stderr] | [INFO] [stderr] 266 | .chain_err(|| "Failed to create \ [INFO] [stderr] 267 | temporary file".to_string())?; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/cli/cmd_setup.rs:464:8 [INFO] [stderr] | [INFO] [stderr] 464 | if SHELL_IDENTITY == &is_ensync_shell { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^---------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `is_ensync_shell` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 40 [INFO] [stderr] --> src/main.rs:85:1 [INFO] [stderr] | [INFO] [stderr] 85 | / fn main_impl() -> Result<()> { [INFO] [stderr] 86 | | use std::env; [INFO] [stderr] 87 | | use std::fs; [INFO] [stderr] 88 | | [INFO] [stderr] ... | [INFO] [stderr] 1061 | | } [INFO] [stderr] 1062 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/main.rs:97:62 [INFO] [stderr] | [INFO] [stderr] 97 | if args.next().map_or(false, |arg0| arg0.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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/main.rs:1050:57 [INFO] [stderr] | [INFO] [stderr] 1050 | matches.value_of_os("dst").unwrap_or( [INFO] [stderr] | _________________________________________________________^ [INFO] [stderr] 1051 | | ::std::ffi::OsStr::new("")), [INFO] [stderr] | |____________________________________________________________^ help: try this: `unwrap_or_else(|| ::std::ffi::OsStr::new(""))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `ensync`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "f96e057321d0e8e883188c8b2caa65404d02e2b92f3d6aa3bf80bcda0d3e648d"` [INFO] running `"docker" "rm" "-f" "f96e057321d0e8e883188c8b2caa65404d02e2b92f3d6aa3bf80bcda0d3e648d"` [INFO] [stdout] f96e057321d0e8e883188c8b2caa65404d02e2b92f3d6aa3bf80bcda0d3e648d