[INFO] cloning repository https://github.com/AltSysrq/ensync [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AltSysrq/ensync" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAltSysrq%2Fensync", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAltSysrq%2Fensync'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f36d66022cf86e2dabfecb34b9bc43b8a4253b8d [INFO] linting AltSysrq/ensync against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAltSysrq%2Fensync" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/AltSysrq/ensync [INFO] finished tweaking git repo https://github.com/AltSysrq/ensync [INFO] tweaked toml for git repo https://github.com/AltSysrq/ensync written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/AltSysrq/ensync on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/AltSysrq/ensync already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded term_size v0.3.1 [INFO] [stderr] Downloaded structopt-derive v0.4.14 [INFO] [stderr] Downloaded rustc-demangle v0.1.5 [INFO] [stderr] Downloaded backtrace v0.3.5 [INFO] [stderr] Downloaded walkdir v2.0.1 [INFO] [stderr] Downloaded fourleaf v0.1.1 [INFO] [stderr] Downloaded flate2 v1.0.20 [INFO] [stderr] Downloaded proptest v0.3.4 [INFO] [stderr] Downloaded nix v0.9.0 [INFO] [stderr] Downloaded aho-corasick v0.7.15 [INFO] [stderr] Downloaded regex-syntax v0.4.2 [INFO] [stderr] Downloaded rand v0.3.20 [INFO] [stderr] Downloaded notify v4.0.15 [INFO] [stderr] Downloaded gcc v0.3.54 [INFO] [stderr] Downloaded cc v1.0.4 [INFO] [stderr] Downloaded regex v1.4.3 [INFO] [stderr] Downloaded backtrace-sys v0.1.16 [INFO] [stderr] Downloaded structopt v0.3.21 [INFO] [stderr] Downloaded regex-syntax v0.6.22 [INFO] [stderr] Downloaded os_pipe v0.6.0 [INFO] [stderr] Downloaded bit-vec v0.4.4 [INFO] [stderr] Downloaded sqlite3-sys v0.12.0 [INFO] [stderr] Downloaded sqlite v0.23.9 [INFO] [stderr] Downloaded rand_core v0.6.2 [INFO] [stderr] Downloaded redox_syscall v0.2.5 [INFO] [stderr] Downloaded tiny-keccak v1.4.0 [INFO] [stderr] Downloaded serde v1.0.27 [INFO] [stderr] Downloaded toml v0.4.5 [INFO] [stderr] Downloaded filetime v0.2.14 [INFO] [stderr] Downloaded same-file v1.0.1 [INFO] [stderr] Downloaded bit-set v0.4.0 [INFO] [stderr] Downloaded rpassword v5.0.1 [INFO] [stderr] Downloaded unicode-width v0.1.4 [INFO] [stderr] Downloaded sqlite3-src v0.2.9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e8df470b3f2014f664048ab7d96c34f2b4128e7601eeba58ddbd825d0cecad73 [INFO] running `Command { std: "docker" "start" "-a" "e8df470b3f2014f664048ab7d96c34f2b4128e7601eeba58ddbd825d0cecad73", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e8df470b3f2014f664048ab7d96c34f2b4128e7601eeba58ddbd825d0cecad73", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e8df470b3f2014f664048ab7d96c34f2b4128e7601eeba58ddbd825d0cecad73", kill_on_drop: false }` [INFO] [stdout] e8df470b3f2014f664048ab7d96c34f2b4128e7601eeba58ddbd825d0cecad73 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ba76623f7d86a0848c7b06c4e88b9536b757eb7f51ec048dc2567f4870ee93b8 [INFO] running `Command { std: "docker" "start" "-a" "ba76623f7d86a0848c7b06c4e88b9536b757eb7f51ec048dc2567f4870ee93b8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling cc v1.0.4 [INFO] [stderr] Compiling syn v1.0.60 [INFO] [stderr] Compiling pkg-config v0.3.9 [INFO] [stderr] Checking unicode-width v0.1.4 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Compiling gcc v0.3.54 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking log v0.4.1 [INFO] [stderr] Compiling unicode-segmentation v1.7.1 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling miniz_oxide v0.4.3 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking same-file v1.0.1 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking rustc-demangle v0.1.5 [INFO] [stderr] Checking once_cell v1.5.2 [INFO] [stderr] Checking adler v0.2.3 [INFO] [stderr] Checking lazycell v1.3.0 [INFO] [stderr] Checking walkdir v2.0.1 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Checking serde v1.0.27 [INFO] [stderr] Checking bit-vec v0.4.4 [INFO] [stderr] Checking bitflags v0.9.1 [INFO] [stderr] Checking regex-syntax v0.6.22 [INFO] [stderr] Checking thread_local v1.1.3 [INFO] [stderr] Checking rustc-serialize v0.3.25 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking bit-set v0.4.0 [INFO] [stderr] Checking fourleaf v0.1.1 [INFO] [stderr] Checking regex-syntax v0.4.2 [INFO] [stderr] Checking tiny-keccak v1.4.0 [INFO] [stderr] Compiling backtrace-sys v0.1.16 [INFO] [stderr] Compiling sqlite3-src v0.2.9 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Compiling heck v0.3.2 [INFO] [stderr] Compiling rust-crypto v0.2.36 [INFO] [stderr] Checking getrandom v0.2.2 [INFO] [stderr] Checking term_size v0.3.1 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking net2 v0.2.37 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Checking rand v0.3.20 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking filetime v0.2.14 [INFO] [stderr] Checking sqlite3-sys v0.12.0 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking rpassword v5.0.1 [INFO] [stderr] Checking nix v0.9.0 [INFO] [stderr] Checking sqlite v0.23.9 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking inotify v0.7.1 [INFO] [stderr] Checking rand_core v0.6.2 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Checking flate2 v1.0.20 [INFO] [stderr] Checking mio v0.6.23 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking rand_chacha v0.3.0 [INFO] [stderr] Checking proptest v0.3.4 [INFO] [stderr] Checking rand v0.8.3 [INFO] [stderr] Checking mio-extras v2.0.6 [INFO] [stderr] Checking notify v4.0.15 [INFO] [stderr] Checking regex v1.4.3 [INFO] [stderr] Checking tempfile v3.2.0 [INFO] [stderr] Checking os_pipe v0.6.0 [INFO] [stderr] Checking toml v0.4.5 [INFO] [stderr] Compiling structopt-derive v0.4.14 [INFO] [stderr] Checking structopt v0.3.21 [INFO] [stderr] Checking backtrace v0.3.5 [INFO] [stderr] Checking ensync v1.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/defs.rs:35:30 [INFO] [stdout] | [INFO] [stdout] 35 | pub const PRIVATE_DIR_NAME: &'static str = "internal.ensync"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/defs.rs:38:33 [INFO] [stdout] | [INFO] [stdout] 38 | pub const INVASIVE_TMP_PREFIX: &'static str = "ensync_tmp_"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/errors.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | use fourleaf; [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/errors.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | use sqlite; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/errors.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | use tempfile; [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `has_error_description_deprecated` [INFO] [stdout] --> src/errors.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / error_chain! { [INFO] [stdout] 32 | | types { [INFO] [stdout] 33 | | Error, ErrorKind, ResultExt, Result; [INFO] [stdout] ... | [INFO] [stdout] 306 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the macro `impl_error_chain_processed` may come from an old version of the `error_chain` crate, try updating your dependency with `cargo update -p error_chain` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/interrupt.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | use libc; [INFO] [stdout] | ^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/sql.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | use sqlite; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/ancestor/replica.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | use sqlite; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ancestor/replica.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 131 | mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/block_xfer.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | blocks: blocks, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/cli/config.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 38 | const CONFIG_FILE_NAME: &'static str = "config.toml"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/config.rs:306:13 [INFO] [stdout] | [INFO] [stdout] 306 | hash: hash, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/cli/format_date.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | pub const ZERO: &'static str = "1970-01-01 00:00Z"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/cli/format_date.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub const EMPTY: &'static str = " "; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/cli/cmd_server.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | pub const SHELL_IDENTITY: &'static str = "I am ensync shell"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:727:29 [INFO] [stdout] | [INFO] [stdout] 727 | ... content_change: content_change, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `content_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:728:29 [INFO] [stdout] | [INFO] [stdout] 728 | ... mode_change: mode_change, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mode_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:729:29 [INFO] [stdout] | [INFO] [stdout] 729 | ... time_change: time_change, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `time_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:730:29 [INFO] [stdout] | [INFO] [stdout] 730 | ... size_change: size_change, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `size_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:868:9 [INFO] [stdout] | [INFO] [stdout] 868 | include_ops_under_opped_directory: include_ops_under_opped_directory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `include_ops_under_opped_directory` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:876:9 [INFO] [stdout] | [INFO] [stdout] 876 | include_ancestors: include_ancestors, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `include_ancestors` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:877:9 [INFO] [stdout] | [INFO] [stdout] 877 | colour: colour, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `colour` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/dry_run_replica.rs:200:9 [INFO] [stdout] | [INFO] [stdout] 200 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> src/posix/dir.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 91 | static NUL: &'static [u8] = &[0u8]; [INFO] [stdout] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/dir.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | path: path, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/dir.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | dev: dev, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `dev` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/dir.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | dev: dev, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `dev` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | ino: ino, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ino` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | mtime: mtime, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `mtime` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:152:17 [INFO] [stdout] | [INFO] [stdout] 152 | size: size, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:601:21 [INFO] [stdout] | [INFO] [stdout] 601 | mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:602:21 [INFO] [stdout] | [INFO] [stdout] 602 | expected_hash: expected_hash, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expected_hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:734:17 [INFO] [stdout] | [INFO] [stdout] 734 | private_dir_dev: private_dir_dev, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `private_dir_dev` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:735:17 [INFO] [stdout] | [INFO] [stdout] 735 | block_size: block_size, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:736:17 [INFO] [stdout] | [INFO] [stdout] 736 | cache_generation: cache_generation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cache_generation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:1183:17 [INFO] [stdout] | [INFO] [stdout] 1183 | mtime: mtime, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `mtime` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:1184:17 [INFO] [stdout] | [INFO] [stdout] 1184 | ino: ino, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ino` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:1185:17 [INFO] [stdout] | [INFO] [stdout] 1185 | size: size, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/reconcile/tree_walk.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | rules: rules, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `rules` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | section: section, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `section` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | ix: ix, [INFO] [stdout] | ^^^^^^ help: replace it with: `ix` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:198:13 [INFO] [stdout] | [INFO] [stdout] 198 | field: field, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `field` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:728:13 [INFO] [stdout] | [INFO] [stdout] 728 | rules: rules, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `rules` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:771:13 [INFO] [stdout] | [INFO] [stdout] 771 | rules: rules, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `rules` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:772:13 [INFO] [stdout] | [INFO] [stdout] 772 | state: state, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/crypt.rs:233:1 [INFO] [stdout] | [INFO] [stdout] 233 | use tiny_keccak; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/server/crypt.rs:238:29 [INFO] [stdout] | [INFO] [stdout] 238 | const SCRYPT_18_14_12_8_1: &'static str = "scrypt-18/14/12-8-1"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/server/crypt.rs:240:28 [INFO] [stdout] | [INFO] [stdout] 240 | pub const GROUP_EVERYONE: &'static str = "everyone"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/server/crypt.rs:241:24 [INFO] [stdout] | [INFO] [stdout] 241 | pub const GROUP_ROOT: &'static str = "root"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:257:20 [INFO] [stdout] | [INFO] [stdout] 257 | { Ok(KdfList { keys: keys, unknown: unknown.0 }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `keys` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:309:21 [INFO] [stdout] | [INFO] [stdout] 309 | algorithm: algorithm, salt: salt, hash: hash, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `algorithm` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:309:43 [INFO] [stdout] | [INFO] [stdout] 309 | algorithm: algorithm, salt: salt, hash: hash, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `salt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:309:55 [INFO] [stdout] | [INFO] [stdout] 309 | algorithm: algorithm, salt: salt, hash: hash, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:310:21 [INFO] [stdout] | [INFO] [stdout] 310 | groups: groups, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `groups` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | keys: keys, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `keys` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:495:9 [INFO] [stdout] | [INFO] [stdout] 495 | created: created, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `created` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:496:9 [INFO] [stdout] | [INFO] [stdout] 496 | updated: updated, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `updated` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:498:9 [INFO] [stdout] | [INFO] [stdout] 498 | salt: salt, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `salt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:541:17 [INFO] [stdout] | [INFO] [stdout] 541 | keys: keys, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `keys` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/dir.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | use flate2; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/dir.rs:88:1 [INFO] [stdout] | [INFO] [stdout] 88 | use tiny_keccak; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:135:19 [INFO] [stdout] | [INFO] [stdout] 135 | { Ok(Header { dir_id: dir_id, ver: ver, fmt: fmt }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `dir_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:135:35 [INFO] [stdout] | [INFO] [stdout] 135 | { Ok(Header { dir_id: dir_id, ver: ver, fmt: fmt }) } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:135:45 [INFO] [stdout] | [INFO] [stdout] 135 | { Ok(Header { dir_id: dir_id, ver: ver, fmt: fmt }) } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `fmt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:184:37 [INFO] [stdout] | [INFO] [stdout] 184 | { Ok(Entry::Directory { mode: mode, id: id, unknown: unknown.0 }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:184:49 [INFO] [stdout] | [INFO] [stdout] 184 | { Ok(Entry::Directory { mode: mode, id: id, unknown: unknown.0 }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:195:35 [INFO] [stdout] | [INFO] [stdout] 195 | { Ok(Entry::Regular { mode: mode, size: size, time: time, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:195:47 [INFO] [stdout] | [INFO] [stdout] 195 | { Ok(Entry::Regular { mode: mode, size: size, time: time, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:195:59 [INFO] [stdout] | [INFO] [stdout] 195 | { Ok(Entry::Regular { mode: mode, size: size, time: time, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `time` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:196:35 [INFO] [stdout] | [INFO] [stdout] 196 | ... hmac: hmac, block_size: block_size, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `hmac` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:196:47 [INFO] [stdout] | [INFO] [stdout] 196 | ... hmac: hmac, block_size: block_size, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:197:35 [INFO] [stdout] | [INFO] [stdout] 197 | ... blocks: blocks, unknown: unknown.0 }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:202:35 [INFO] [stdout] | [INFO] [stdout] 202 | { Ok(Entry::Symlink { target: target, unknown: unknown.0 }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `target` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 297 | db: db, [INFO] [stdout] | ^^^^^^ help: replace it with: `db` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | key: key, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 299 | storage: storage, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `storage` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | block_size: block_size, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | compression: compression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `compression` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | id: id, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:614:29 [INFO] [stdout] | [INFO] [stdout] 614 | ... mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:615:29 [INFO] [stdout] | [INFO] [stdout] 615 | ... id: id, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:652:29 [INFO] [stdout] | [INFO] [stdout] 652 | ... mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:653:29 [INFO] [stdout] | [INFO] [stdout] 653 | ... size: size, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:654:29 [INFO] [stdout] | [INFO] [stdout] 654 | ... time: time, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `time` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:657:29 [INFO] [stdout] | [INFO] [stdout] 657 | ... blocks: blocks, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:899:13 [INFO] [stdout] | [INFO] [stdout] 899 | version: version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:900:13 [INFO] [stdout] | [INFO] [stdout] 900 | cipher_version: cipher_version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cipher_version` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:906:13 [INFO] [stdout] | [INFO] [stdout] 906 | session_key: session_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:1267:25 [INFO] [stdout] | [INFO] [stdout] 1267 | mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/local_storage.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | use sqlite; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | tmpdir: tmpdir, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `tmpdir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | objdir: objdir, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `objdir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:198:13 [INFO] [stdout] | [INFO] [stdout] 198 | dirdir: dirdir, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `dirdir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | permissions: permissions, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permissions` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:766:17 [INFO] [stdout] | [INFO] [stdout] 766 | old_len: old_len, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:784:17 [INFO] [stdout] | [INFO] [stdout] 784 | old_len: old_len, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/replica.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | use flate2; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/replica.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | use sqlite; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/replica.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | db: db, [INFO] [stdout] | ^^^^^^ help: replace it with: `db` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/replica.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | pseudo_root: pseudo_root, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pseudo_root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:74:31 [INFO] [stdout] | [INFO] [stdout] 74 | { Ok(ImplementationInfo { name: name, version: version, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:74:43 [INFO] [stdout] | [INFO] [stdout] 74 | { Ok(ImplementationInfo { name: name, version: version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:75:31 [INFO] [stdout] | [INFO] [stdout] 75 | ... protocol: protocol }) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `protocol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:242:36 [INFO] [stdout] | [INFO] [stdout] 242 | { Ok(Request::ClientInfo { implementation: implementation }) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `implementation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:279:31 [INFO] [stdout] | [INFO] [stdout] 279 | { Ok(Request::Mkdir { tx: tx, id: id, ver: ver, sver: sver, data: data }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:279:39 [INFO] [stdout] | [INFO] [stdout] 279 | { Ok(Request::Mkdir { tx: tx, id: id, ver: ver, sver: sver, data: data }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:279:47 [INFO] [stdout] | [INFO] [stdout] 279 | { Ok(Request::Mkdir { tx: tx, id: id, ver: ver, sver: sver, data: data }) } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:279:57 [INFO] [stdout] | [INFO] [stdout] 279 | { Ok(Request::Mkdir { tx: tx, id: id, ver: ver, sver: sver, data: data }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `sver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:279:69 [INFO] [stdout] | [INFO] [stdout] 279 | { Ok(Request::Mkdir { tx: tx, id: id, ver: ver, sver: sver, data: data }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:287:31 [INFO] [stdout] | [INFO] [stdout] 287 | { Ok(Request::Updir { tx: tx, id: id, sver: sver, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:287:39 [INFO] [stdout] | [INFO] [stdout] 287 | { Ok(Request::Updir { tx: tx, id: id, sver: sver, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:287:47 [INFO] [stdout] | [INFO] [stdout] 287 | { Ok(Request::Updir { tx: tx, id: id, sver: sver, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `sver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:288:31 [INFO] [stdout] | [INFO] [stdout] 288 | ... old_len: old_len, append: append }) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:288:49 [INFO] [stdout] | [INFO] [stdout] 288 | ... old_len: old_len, append: append }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `append` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:295:31 [INFO] [stdout] | [INFO] [stdout] 295 | { Ok(Request::Rmdir { tx: tx, id: id, sver: sver, old_len: old_len }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:295:39 [INFO] [stdout] | [INFO] [stdout] 295 | { Ok(Request::Rmdir { tx: tx, id: id, sver: sver, old_len: old_len }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:295:47 [INFO] [stdout] | [INFO] [stdout] 295 | { Ok(Request::Rmdir { tx: tx, id: id, sver: sver, old_len: old_len }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `sver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:295:59 [INFO] [stdout] | [INFO] [stdout] 295 | { Ok(Request::Rmdir { tx: tx, id: id, sver: sver, old_len: old_len }) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:301:33 [INFO] [stdout] | [INFO] [stdout] 301 | { Ok(Request::Linkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:301:41 [INFO] [stdout] | [INFO] [stdout] 301 | { Ok(Request::Linkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:301:49 [INFO] [stdout] | [INFO] [stdout] 301 | { Ok(Request::Linkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `linkid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:308:32 [INFO] [stdout] | [INFO] [stdout] 308 | { Ok(Request::Putobj { tx: tx, id: id, linkid: linkid, data: data }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:308:40 [INFO] [stdout] | [INFO] [stdout] 308 | { Ok(Request::Putobj { tx: tx, id: id, linkid: linkid, data: data }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:308:48 [INFO] [stdout] | [INFO] [stdout] 308 | { Ok(Request::Putobj { tx: tx, id: id, linkid: linkid, data: data }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `linkid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:308:64 [INFO] [stdout] | [INFO] [stdout] 308 | { Ok(Request::Putobj { tx: tx, id: id, linkid: linkid, data: data }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:314:35 [INFO] [stdout] | [INFO] [stdout] 314 | { Ok(Request::Unlinkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:314:43 [INFO] [stdout] | [INFO] [stdout] 314 | { Ok(Request::Unlinkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:314:51 [INFO] [stdout] | [INFO] [stdout] 314 | { Ok(Request::Unlinkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `linkid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:326:34 [INFO] [stdout] | [INFO] [stdout] 326 | { Ok(Request::Watchdir { id: id, ver: ver, len: len }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:326:42 [INFO] [stdout] | [INFO] [stdout] 326 | { Ok(Request::Watchdir { id: id, ver: ver, len: len }) } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:326:52 [INFO] [stdout] | [INFO] [stdout] 326 | { Ok(Request::Watchdir { id: id, ver: ver, len: len }) } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:423:37 [INFO] [stdout] | [INFO] [stdout] 423 | { Ok(Response::ServerInfo { implementation: implementation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `implementation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:424:37 [INFO] [stdout] | [INFO] [stdout] 424 | ... motd: motd }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `motd` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:808:13 [INFO] [stdout] | [INFO] [stdout] 808 | watch_fun: watch_fun, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `watch_fun` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:979:13 [INFO] [stdout] | [INFO] [stdout] 979 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:996:13 [INFO] [stdout] | [INFO] [stdout] 996 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:999:13 [INFO] [stdout] | [INFO] [stdout] 999 | old_len: old_len, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1012:13 [INFO] [stdout] | [INFO] [stdout] 1012 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1015:13 [INFO] [stdout] | [INFO] [stdout] 1015 | old_len: old_len, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1021:32 [INFO] [stdout] | [INFO] [stdout] 1021 | Request::Linkobj { tx: tx, id: *id, linkid: *linkid } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1036:13 [INFO] [stdout] | [INFO] [stdout] 1036 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1045:13 [INFO] [stdout] | [INFO] [stdout] 1045 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1080:13 [INFO] [stdout] | [INFO] [stdout] 1080 | len: len, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/transfer.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | use flate2; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/transfer.rs:36:29 [INFO] [stdout] | [INFO] [stdout] 36 | ServerTransferOut { storage: storage } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `storage` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/defs.rs:35:30 [INFO] [stdout] | [INFO] [stdout] 35 | pub const PRIVATE_DIR_NAME: &'static str = "internal.ensync"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/defs.rs:38:33 [INFO] [stdout] | [INFO] [stdout] 38 | pub const INVASIVE_TMP_PREFIX: &'static str = "ensync_tmp_"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/errors.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | use fourleaf; [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/errors.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | use sqlite; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/errors.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | use tempfile; [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `has_error_description_deprecated` [INFO] [stdout] --> src/errors.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / error_chain! { [INFO] [stdout] 32 | | types { [INFO] [stdout] 33 | | Error, ErrorKind, ResultExt, Result; [INFO] [stdout] ... | [INFO] [stdout] 306 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the macro `impl_error_chain_processed` may come from an old version of the `error_chain` crate, try updating your dependency with `cargo update -p error_chain` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/interrupt.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | use libc; [INFO] [stdout] | ^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/sql.rs:34:1 [INFO] [stdout] | [INFO] [stdout] 34 | use sqlite; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ancestor/dao.rs:532:13 [INFO] [stdout] | [INFO] [stdout] 532 | parent: parent, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `parent` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ancestor/dao.rs:535:13 [INFO] [stdout] | [INFO] [stdout] 535 | mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ancestor/dao.rs:536:13 [INFO] [stdout] | [INFO] [stdout] 536 | mtime: mtime, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `mtime` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/ancestor/replica.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | use sqlite; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/ancestor/replica.rs:131:13 [INFO] [stdout] | [INFO] [stdout] 131 | mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/block_xfer.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | blocks: blocks, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/cli/config.rs:38:26 [INFO] [stdout] | [INFO] [stdout] 38 | const CONFIG_FILE_NAME: &'static str = "config.toml"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/config.rs:306:13 [INFO] [stdout] | [INFO] [stdout] 306 | hash: hash, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/cli/format_date.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | pub const ZERO: &'static str = "1970-01-01 00:00Z"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/cli/format_date.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub const EMPTY: &'static str = " "; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/cli/cmd_server.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | pub const SHELL_IDENTITY: &'static str = "I am ensync shell"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:727:29 [INFO] [stdout] | [INFO] [stdout] 727 | ... content_change: content_change, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `content_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:728:29 [INFO] [stdout] | [INFO] [stdout] 728 | ... mode_change: mode_change, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mode_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:729:29 [INFO] [stdout] | [INFO] [stdout] 729 | ... time_change: time_change, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `time_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:730:29 [INFO] [stdout] | [INFO] [stdout] 730 | ... size_change: size_change, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `size_change` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:868:9 [INFO] [stdout] | [INFO] [stdout] 868 | include_ops_under_opped_directory: include_ops_under_opped_directory, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `include_ops_under_opped_directory` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:876:9 [INFO] [stdout] | [INFO] [stdout] 876 | include_ancestors: include_ancestors, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `include_ancestors` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/cli/cmd_sync.rs:877:9 [INFO] [stdout] | [INFO] [stdout] 877 | colour: colour, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `colour` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit expression [INFO] [stdout] --> src/dry_run_replica.rs:200:9 [INFO] [stdout] | [INFO] [stdout] 200 | () [INFO] [stdout] | ^^ help: remove the final `()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] = note: `#[warn(clippy::unused_unit)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/memory_replica.rs:147:21 [INFO] [stdout] | [INFO] [stdout] 147 | mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/memory_replica.rs:148:21 [INFO] [stdout] | [INFO] [stdout] 148 | size: size, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/memory_replica.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | modified: modified, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `modified` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/memory_replica.rs:150:21 [INFO] [stdout] | [INFO] [stdout] 150 | hash: hash, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/memory_replica.rs:632:13 [INFO] [stdout] | [INFO] [stdout] 632 | path: path, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> src/posix/dir.rs:91:14 [INFO] [stdout] | [INFO] [stdout] 91 | static NUL: &'static [u8] = &[0u8]; [INFO] [stdout] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/dir.rs:97:13 [INFO] [stdout] | [INFO] [stdout] 97 | path: path, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/dir.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | dev: dev, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `dev` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/dir.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | dev: dev, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `dev` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | ino: ino, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ino` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:151:17 [INFO] [stdout] | [INFO] [stdout] 151 | mtime: mtime, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `mtime` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:152:17 [INFO] [stdout] | [INFO] [stdout] 152 | size: size, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:601:21 [INFO] [stdout] | [INFO] [stdout] 601 | mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:602:21 [INFO] [stdout] | [INFO] [stdout] 602 | expected_hash: expected_hash, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expected_hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:734:17 [INFO] [stdout] | [INFO] [stdout] 734 | private_dir_dev: private_dir_dev, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `private_dir_dev` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:735:17 [INFO] [stdout] | [INFO] [stdout] 735 | block_size: block_size, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:736:17 [INFO] [stdout] | [INFO] [stdout] 736 | cache_generation: cache_generation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cache_generation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:1183:17 [INFO] [stdout] | [INFO] [stdout] 1183 | mtime: mtime, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `mtime` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:1184:17 [INFO] [stdout] | [INFO] [stdout] 1184 | ino: ino, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ino` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:1185:17 [INFO] [stdout] | [INFO] [stdout] 1185 | size: size, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/posix/replica.rs:1404:5 [INFO] [stdout] | [INFO] [stdout] 1404 | use libc; [INFO] [stdout] | ^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> src/posix/replica.rs:1423:21 [INFO] [stdout] | [INFO] [stdout] 1423 | static SECRET: &'static str = "secret"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/posix/replica.rs:1504:48 [INFO] [stdout] | [INFO] [stdout] 1504 | fetch: Arc::new(MemoryBlockFetch { blocks: blocks }), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/reconcile/compute.rs:634:13 [INFO] [stdout] | [INFO] [stdout] 634 | cli: cli, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `cli` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/reconcile/compute.rs:635:13 [INFO] [stdout] | [INFO] [stdout] 635 | anc: anc, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `anc` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/reconcile/compute.rs:636:13 [INFO] [stdout] | [INFO] [stdout] 636 | srv: srv, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `srv` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/reconcile/compute.rs:637:13 [INFO] [stdout] | [INFO] [stdout] 637 | expected_conflict: expected_conflict, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expected_conflict` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/reconcile/tree_walk.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | rules: rules, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `rules` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: statics have by default a `'static` lifetime [INFO] [stdout] --> src/reconcile/tree_walk.rs:1391:21 [INFO] [stdout] | [INFO] [stdout] 1391 | static NAMES: [&'static str; 200] = [ [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | section: section, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `section` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | ix: ix, [INFO] [stdout] | ^^^^^^ help: replace it with: `ix` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:198:13 [INFO] [stdout] | [INFO] [stdout] 198 | field: field, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `field` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:728:13 [INFO] [stdout] | [INFO] [stdout] 728 | rules: rules, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `rules` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:771:13 [INFO] [stdout] | [INFO] [stdout] 771 | rules: rules, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `rules` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/rules/engine.rs:772:13 [INFO] [stdout] | [INFO] [stdout] 772 | state: state, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/crypt.rs:233:1 [INFO] [stdout] | [INFO] [stdout] 233 | use tiny_keccak; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/server/crypt.rs:238:29 [INFO] [stdout] | [INFO] [stdout] 238 | const SCRYPT_18_14_12_8_1: &'static str = "scrypt-18/14/12-8-1"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/server/crypt.rs:240:28 [INFO] [stdout] | [INFO] [stdout] 240 | pub const GROUP_EVERYONE: &'static str = "everyone"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> src/server/crypt.rs:241:24 [INFO] [stdout] | [INFO] [stdout] 241 | pub const GROUP_ROOT: &'static str = "root"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:257:20 [INFO] [stdout] | [INFO] [stdout] 257 | { Ok(KdfList { keys: keys, unknown: unknown.0 }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `keys` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:309:21 [INFO] [stdout] | [INFO] [stdout] 309 | algorithm: algorithm, salt: salt, hash: hash, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `algorithm` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:309:43 [INFO] [stdout] | [INFO] [stdout] 309 | algorithm: algorithm, salt: salt, hash: hash, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `salt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:309:55 [INFO] [stdout] | [INFO] [stdout] 309 | algorithm: algorithm, salt: salt, hash: hash, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `hash` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:310:21 [INFO] [stdout] | [INFO] [stdout] 310 | groups: groups, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `groups` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | keys: keys, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `keys` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:495:9 [INFO] [stdout] | [INFO] [stdout] 495 | created: created, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `created` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:496:9 [INFO] [stdout] | [INFO] [stdout] 496 | updated: updated, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `updated` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:498:9 [INFO] [stdout] | [INFO] [stdout] 498 | salt: salt, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `salt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/crypt.rs:541:17 [INFO] [stdout] | [INFO] [stdout] 541 | keys: keys, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `keys` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/dir.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | use flate2; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/dir.rs:88:1 [INFO] [stdout] | [INFO] [stdout] 88 | use tiny_keccak; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:135:19 [INFO] [stdout] | [INFO] [stdout] 135 | { Ok(Header { dir_id: dir_id, ver: ver, fmt: fmt }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `dir_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:135:35 [INFO] [stdout] | [INFO] [stdout] 135 | { Ok(Header { dir_id: dir_id, ver: ver, fmt: fmt }) } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:135:45 [INFO] [stdout] | [INFO] [stdout] 135 | { Ok(Header { dir_id: dir_id, ver: ver, fmt: fmt }) } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `fmt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:184:37 [INFO] [stdout] | [INFO] [stdout] 184 | { Ok(Entry::Directory { mode: mode, id: id, unknown: unknown.0 }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:184:49 [INFO] [stdout] | [INFO] [stdout] 184 | { Ok(Entry::Directory { mode: mode, id: id, unknown: unknown.0 }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:195:35 [INFO] [stdout] | [INFO] [stdout] 195 | { Ok(Entry::Regular { mode: mode, size: size, time: time, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:195:47 [INFO] [stdout] | [INFO] [stdout] 195 | { Ok(Entry::Regular { mode: mode, size: size, time: time, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:195:59 [INFO] [stdout] | [INFO] [stdout] 195 | { Ok(Entry::Regular { mode: mode, size: size, time: time, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `time` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:196:35 [INFO] [stdout] | [INFO] [stdout] 196 | ... hmac: hmac, block_size: block_size, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `hmac` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:196:47 [INFO] [stdout] | [INFO] [stdout] 196 | ... hmac: hmac, block_size: block_size, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:197:35 [INFO] [stdout] | [INFO] [stdout] 197 | ... blocks: blocks, unknown: unknown.0 }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:202:35 [INFO] [stdout] | [INFO] [stdout] 202 | { Ok(Entry::Symlink { target: target, unknown: unknown.0 }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `target` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 297 | db: db, [INFO] [stdout] | ^^^^^^ help: replace it with: `db` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | key: key, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 299 | storage: storage, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `storage` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:301:13 [INFO] [stdout] | [INFO] [stdout] 301 | block_size: block_size, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | compression: compression, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `compression` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:327:13 [INFO] [stdout] | [INFO] [stdout] 327 | id: id, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:614:29 [INFO] [stdout] | [INFO] [stdout] 614 | ... mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:615:29 [INFO] [stdout] | [INFO] [stdout] 615 | ... id: id, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:652:29 [INFO] [stdout] | [INFO] [stdout] 652 | ... mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:653:29 [INFO] [stdout] | [INFO] [stdout] 653 | ... size: size, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `size` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:654:29 [INFO] [stdout] | [INFO] [stdout] 654 | ... time: time, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `time` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:657:29 [INFO] [stdout] | [INFO] [stdout] 657 | ... blocks: blocks, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `blocks` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:899:13 [INFO] [stdout] | [INFO] [stdout] 899 | version: version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:900:13 [INFO] [stdout] | [INFO] [stdout] 900 | cipher_version: cipher_version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cipher_version` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:906:13 [INFO] [stdout] | [INFO] [stdout] 906 | session_key: session_key, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `session_key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/dir.rs:1267:25 [INFO] [stdout] | [INFO] [stdout] 1267 | mode: mode, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/local_storage.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | use sqlite; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | tmpdir: tmpdir, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `tmpdir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:197:13 [INFO] [stdout] | [INFO] [stdout] 197 | objdir: objdir, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `objdir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:198:13 [INFO] [stdout] | [INFO] [stdout] 198 | dirdir: dirdir, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `dirdir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:202:13 [INFO] [stdout] | [INFO] [stdout] 202 | permissions: permissions, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `permissions` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:766:17 [INFO] [stdout] | [INFO] [stdout] 766 | old_len: old_len, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/local_storage.rs:784:17 [INFO] [stdout] | [INFO] [stdout] 784 | old_len: old_len, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/replica.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | use flate2; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/replica.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | use sqlite; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/replica.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | db: db, [INFO] [stdout] | ^^^^^^ help: replace it with: `db` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/replica.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | pseudo_root: pseudo_root, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pseudo_root` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:74:31 [INFO] [stdout] | [INFO] [stdout] 74 | { Ok(ImplementationInfo { name: name, version: version, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:74:43 [INFO] [stdout] | [INFO] [stdout] 74 | { Ok(ImplementationInfo { name: name, version: version, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `version` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:75:31 [INFO] [stdout] | [INFO] [stdout] 75 | ... protocol: protocol }) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `protocol` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:242:36 [INFO] [stdout] | [INFO] [stdout] 242 | { Ok(Request::ClientInfo { implementation: implementation }) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `implementation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:279:31 [INFO] [stdout] | [INFO] [stdout] 279 | { Ok(Request::Mkdir { tx: tx, id: id, ver: ver, sver: sver, data: data }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:279:39 [INFO] [stdout] | [INFO] [stdout] 279 | { Ok(Request::Mkdir { tx: tx, id: id, ver: ver, sver: sver, data: data }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:279:47 [INFO] [stdout] | [INFO] [stdout] 279 | { Ok(Request::Mkdir { tx: tx, id: id, ver: ver, sver: sver, data: data }) } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:279:57 [INFO] [stdout] | [INFO] [stdout] 279 | { Ok(Request::Mkdir { tx: tx, id: id, ver: ver, sver: sver, data: data }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `sver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:279:69 [INFO] [stdout] | [INFO] [stdout] 279 | { Ok(Request::Mkdir { tx: tx, id: id, ver: ver, sver: sver, data: data }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:287:31 [INFO] [stdout] | [INFO] [stdout] 287 | { Ok(Request::Updir { tx: tx, id: id, sver: sver, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:287:39 [INFO] [stdout] | [INFO] [stdout] 287 | { Ok(Request::Updir { tx: tx, id: id, sver: sver, [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:287:47 [INFO] [stdout] | [INFO] [stdout] 287 | { Ok(Request::Updir { tx: tx, id: id, sver: sver, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `sver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:288:31 [INFO] [stdout] | [INFO] [stdout] 288 | ... old_len: old_len, append: append }) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:288:49 [INFO] [stdout] | [INFO] [stdout] 288 | ... old_len: old_len, append: append }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `append` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:295:31 [INFO] [stdout] | [INFO] [stdout] 295 | { Ok(Request::Rmdir { tx: tx, id: id, sver: sver, old_len: old_len }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:295:39 [INFO] [stdout] | [INFO] [stdout] 295 | { Ok(Request::Rmdir { tx: tx, id: id, sver: sver, old_len: old_len }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:295:47 [INFO] [stdout] | [INFO] [stdout] 295 | { Ok(Request::Rmdir { tx: tx, id: id, sver: sver, old_len: old_len }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `sver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:295:59 [INFO] [stdout] | [INFO] [stdout] 295 | { Ok(Request::Rmdir { tx: tx, id: id, sver: sver, old_len: old_len }) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:301:33 [INFO] [stdout] | [INFO] [stdout] 301 | { Ok(Request::Linkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:301:41 [INFO] [stdout] | [INFO] [stdout] 301 | { Ok(Request::Linkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:301:49 [INFO] [stdout] | [INFO] [stdout] 301 | { Ok(Request::Linkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `linkid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:308:32 [INFO] [stdout] | [INFO] [stdout] 308 | { Ok(Request::Putobj { tx: tx, id: id, linkid: linkid, data: data }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:308:40 [INFO] [stdout] | [INFO] [stdout] 308 | { Ok(Request::Putobj { tx: tx, id: id, linkid: linkid, data: data }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:308:48 [INFO] [stdout] | [INFO] [stdout] 308 | { Ok(Request::Putobj { tx: tx, id: id, linkid: linkid, data: data }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `linkid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:308:64 [INFO] [stdout] | [INFO] [stdout] 308 | { Ok(Request::Putobj { tx: tx, id: id, linkid: linkid, data: data }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:314:35 [INFO] [stdout] | [INFO] [stdout] 314 | { Ok(Request::Unlinkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:314:43 [INFO] [stdout] | [INFO] [stdout] 314 | { Ok(Request::Unlinkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:314:51 [INFO] [stdout] | [INFO] [stdout] 314 | { Ok(Request::Unlinkobj { tx: tx, id: id, linkid: linkid }) } [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `linkid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:326:34 [INFO] [stdout] | [INFO] [stdout] 326 | { Ok(Request::Watchdir { id: id, ver: ver, len: len }) } [INFO] [stdout] | ^^^^^^ help: replace it with: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:326:42 [INFO] [stdout] | [INFO] [stdout] 326 | { Ok(Request::Watchdir { id: id, ver: ver, len: len }) } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:326:52 [INFO] [stdout] | [INFO] [stdout] 326 | { Ok(Request::Watchdir { id: id, ver: ver, len: len }) } [INFO] [stdout] | ^^^^^^^^ help: replace it with: `len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:423:37 [INFO] [stdout] | [INFO] [stdout] 423 | { Ok(Response::ServerInfo { implementation: implementation, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `implementation` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:424:37 [INFO] [stdout] | [INFO] [stdout] 424 | ... motd: motd }) } [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `motd` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:808:13 [INFO] [stdout] | [INFO] [stdout] 808 | watch_fun: watch_fun, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `watch_fun` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:979:13 [INFO] [stdout] | [INFO] [stdout] 979 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:996:13 [INFO] [stdout] | [INFO] [stdout] 996 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:999:13 [INFO] [stdout] | [INFO] [stdout] 999 | old_len: old_len, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1012:13 [INFO] [stdout] | [INFO] [stdout] 1012 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1015:13 [INFO] [stdout] | [INFO] [stdout] 1015 | old_len: old_len, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `old_len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1021:32 [INFO] [stdout] | [INFO] [stdout] 1021 | Request::Linkobj { tx: tx, id: *id, linkid: *linkid } [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1036:13 [INFO] [stdout] | [INFO] [stdout] 1036 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1045:13 [INFO] [stdout] | [INFO] [stdout] 1045 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/rpc.rs:1080:13 [INFO] [stdout] | [INFO] [stdout] 1080 | len: len, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `len` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/server/transfer.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | use flate2; [INFO] [stdout] | ^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/server/transfer.rs:36:29 [INFO] [stdout] | [INFO] [stdout] 36 | ServerTransferOut { storage: storage } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: replace it with: `storage` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/defs.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | / match *self { [INFO] [stdout] 130 | | FileData::Directory(_) => true, [INFO] [stdout] 131 | | _ => false, [INFO] [stdout] 132 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 129 - match *self { [INFO] [stdout] 130 - FileData::Directory(_) => true, [INFO] [stdout] 131 - _ => false, [INFO] [stdout] 132 - } [INFO] [stdout] 129 + matches!(*self, FileData::Directory(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:160:14 [INFO] [stdout] | [INFO] [stdout] 160 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 160 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 160 + (Symlink(t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:160:32 [INFO] [stdout] | [INFO] [stdout] 160 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 160 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 160 + (&Symlink(ref t1), Symlink(t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:175:14 [INFO] [stdout] | [INFO] [stdout] 175 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 175 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 175 + (Symlink(t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:175:32 [INFO] [stdout] | [INFO] [stdout] 175 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 175 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 175 + (&Symlink(ref t1), Symlink(t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:188:14 [INFO] [stdout] | [INFO] [stdout] 188 | (&Regular(_, _, _, ref h1), &Regular(_, _, _, ref h2)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 188 - (&Regular(_, _, _, ref h1), &Regular(_, _, _, ref h2)) => { [INFO] [stdout] 188 + (Regular(_, _, _, h1), &Regular(_, _, _, ref h2)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:188:41 [INFO] [stdout] | [INFO] [stdout] 188 | (&Regular(_, _, _, ref h1), &Regular(_, _, _, ref h2)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 188 - (&Regular(_, _, _, ref h1), &Regular(_, _, _, ref h2)) => { [INFO] [stdout] 188 + (&Regular(_, _, _, ref h1), Regular(_, _, _, h2)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:191:14 [INFO] [stdout] | [INFO] [stdout] 191 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 191 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 191 + (Symlink(t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:191:32 [INFO] [stdout] | [INFO] [stdout] 191 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 191 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 191 + (&Symlink(ref t1), Symlink(t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/defs.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | / match fd { [INFO] [stdout] 204 | | Some(&FileData::Directory(_)) => true, [INFO] [stdout] 205 | | _ => false, [INFO] [stdout] 206 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 203 - match fd { [INFO] [stdout] 204 - Some(&FileData::Directory(_)) => true, [INFO] [stdout] 205 - _ => false, [INFO] [stdout] 206 - } [INFO] [stdout] 203 + matches!(fd, Some(&FileData::Directory(_))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `E` [INFO] [stdout] --> src/sql.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | Err(e.into()) [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/ancestor/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | //! operations on the store. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 25 | //! operations on the store. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/dao.rs:295:38 [INFO] [stdout] | [INFO] [stdout] 295 | if self.exists(e.parent, &*e.name)? { [INFO] [stdout] | ^^^^^^^^ help: try: `&e.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/dao.rs:311:45 [INFO] [stdout] | [INFO] [stdout] 311 | Ok(self.get_id_of(e.parent, &*e.name)?) [INFO] [stdout] | ^^^^^^^^ help: try: `&e.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/dao.rs:341:47 [INFO] [stdout] | [INFO] [stdout] 341 | } else if self.exists(old.parent, &*old.name)? { [INFO] [stdout] | ^^^^^^^^^^ help: try: `&old.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/dao.rs:359:45 [INFO] [stdout] | [INFO] [stdout] 359 | } else if self.exists(e.parent, &*e.name)? { [INFO] [stdout] | ^^^^^^^^ help: try: `&e.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/ancestor/replica.rs:177:24 [INFO] [stdout] | [INFO] [stdout] 177 | mtime: time as i64, [INFO] [stdout] | ^^^^^^^^^^^ help: try: `time` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/replica.rs:251:54 [INFO] [stdout] | [INFO] [stdout] 251 | ... hash.copy_from_slice(&*e.content); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&e.content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/replica.rs:338:26 [INFO] [stdout] | [INFO] [stdout] 338 | let h = dir.mk_h(&*dao)?; [INFO] [stdout] | ^^^^^ help: try: `&dao` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | //! the whole thing. This is particularly important for things like mbox files [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 40 | //! the whole thing. This is particularly important for things like mbox files [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | //! (most edits occur at the very end), databases, and so forth. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 41 | //! (most edits occur at the very end), databases, and so forth. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | //! into memory. This way, we can SHA-3 sum the data, see whether the server [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 44 | //! into memory. This way, we can SHA-3 sum the data, see whether the server [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | //! already has it, and if not, transfer it. Without splitting into blocks, we [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 45 | //! already has it, and if not, transfer it. Without splitting into blocks, we [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | //! would need to make a second pass through the data when transferring to the [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 46 | //! would need to make a second pass through the data when transferring to the [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | //! server, and this may yield a different SHA-3 sum in the case of concurrent [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 47 | //! server, and this may yield a different SHA-3 sum in the case of concurrent [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | //! edits. It would also put more load on the disk cache. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 48 | //! edits. It would also put more load on the disk cache. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | //! essentially sparse, as all the sparse areas will be backed by the same blob [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 51 | //! essentially sparse, as all the sparse areas will be backed by the same blob [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | //! on the server. For this benefit to occur on both sides, the client also [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 52 | //! on the server. For this benefit to occur on both sides, the client also [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | //! needs to check for all-zero blocks and extend the file rather than [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 53 | //! needs to check for all-zero blocks and extend the file rather than [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | //! explicitly writing them. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 54 | //! explicitly writing them. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | //! determine properties about the data based on blob sizes. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 57 | //! determine properties about the data based on blob sizes. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: slow zero-filling initialization [INFO] [stdout] --> src/block_xfer.rs:128:35 [INFO] [stdout] | [INFO] [stdout] 128 | let mut block_data: Vec = Vec::new(); [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 129 | | block_data.resize(block_size, 0); [INFO] [stdout] | |____________________________________^ help: consider replacing this with: `vec![0; block_size]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stdout] = note: `#[warn(clippy::slow_vector_initialization)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/block_xfer.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 235 - return Ok(()); [INFO] [stdout] 235 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/config.rs:297:42 [INFO] [stdout] | [INFO] [stdout] 297 | sync_rules: SyncRules::parse(&rules, "rules") [INFO] [stdout] | ^^^^^^ help: change this to: `rules` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/cli/open_server.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | / Ok(ServerReplica::new( [INFO] [stdout] 169 | | config.private_root.join("server-state.sqlite"), [INFO] [stdout] 170 | | key_chain, [INFO] [stdout] 171 | | storage, [INFO] [stdout] ... | [INFO] [stdout] 176 | | .chain_err(|| "Failed to set up server replica")?) [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 168 ~ ServerReplica::new( [INFO] [stdout] 169 | config.private_root.join("server-state.sqlite"), [INFO] [stdout] ... [INFO] [stdout] 175 | ) [INFO] [stdout] 176 ~ .chain_err(|| "Failed to set up server replica") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/cli/cmd_keymgmt.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/cli/cmd_keymgmt.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/cli/cmd_manual.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/cli/cmd_manual.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | if single.as_ref().map_or(false, |s| *s != name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 72 - if single.as_ref().map_or(false, |s| *s != name) { [INFO] [stdout] 72 + if single.as_ref().is_some_and(|s| *s != name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/cli/cmd_manual.rs:150:44 [INFO] [stdout] | [INFO] [stdout] 150 | target.as_ref().map_or("", |s| &*s) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 150 - target.as_ref().map_or("", |s| &*s) [INFO] [stdout] 150 + target.as_ref().map_or("", |s| s) [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 150 | target.as_ref().map_or("", |s| &**s) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/cli/cmd_manual.rs:161:14 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn mkdir<'a, S: Storage + ?Sized, IT: Iterator>>( [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/cli/cmd_manual.rs:182:14 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn rmdir<'a, S: Storage + ?Sized, IT: Iterator>>( [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/cli/cmd_manual.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn cat<'a, S: Storage + ?Sized, IT: Iterator>>( [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/cli/cmd_manual.rs:215:22 [INFO] [stdout] | [INFO] [stdout] 215 | .filter(|&(ref name, _)| name == filename) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 215 - .filter(|&(ref name, _)| name == filename) [INFO] [stdout] 215 + .filter(|(name, _)| name == filename) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `single` after checking its variant with `is_some` [INFO] [stdout] --> src/cli/cmd_manual.rs:431:17 [INFO] [stdout] | [INFO] [stdout] 427 | if !found && single.is_some() { [INFO] [stdout] | ---------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 431 | single.unwrap().to_string_lossy() [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/cli/cmd_manual.rs:289:16 [INFO] [stdout] | [INFO] [stdout] 289 | if single.as_ref().map_or(false, |n| name != *n) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 289 - if single.as_ref().map_or(false, |n| name != *n) { [INFO] [stdout] 289 + if single.as_ref().is_some_and(|n| name != *n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/cli/cmd_manual.rs:309:29 [INFO] [stdout] | [INFO] [stdout] 309 | / ... format!( [INFO] [stdout] 310 | | ... "Failed to create \ [INFO] [stdout] 311 | | ... temporary file" [INFO] [stdout] 312 | | ... ) [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 309 ~ "Failed to create \ [INFO] [stdout] 310 + temporary file".to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/cmd_manual.rs:511:24 [INFO] [stdout] | [INFO] [stdout] 511 | .chdir(&dir, &name) [INFO] [stdout] | ^^^^ help: change this to: `dir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/cli/cmd_manual.rs:515:38 [INFO] [stdout] | [INFO] [stdout] 515 | let dirit = fs::read_dir(&src).chain_err(|| { [INFO] [stdout] | ^^^^ help: change this to: `src` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/cli/cmd_manual.rs:616:11 [INFO] [stdout] | [INFO] [stdout] 616 | pub fn rm<'a, S: Storage + ?Sized, IT: Iterator>>( [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/cli/cmd_manual.rs:673:22 [INFO] [stdout] | [INFO] [stdout] 673 | .filter(|&(ref n, _)| *n == name) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 673 - .filter(|&(ref n, _)| *n == name) [INFO] [stdout] 673 + .filter(|(n, _)| *n == name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cli/cmd_setup.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | return self.iter().next().is_none() || self.exists(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 51 - return self.iter().next().is_none() || self.exists(); [INFO] [stdout] 51 + self.iter().next().is_none() || self.exists() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cli/cmd_setup.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return self.iter().next().is_none() || self.is_dir(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return self.iter().next().is_none() || self.is_dir(); [INFO] [stdout] 54 + self.iter().next().is_none() || self.is_dir() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/cli/cmd_setup.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | if !config.parent().map_or(true, |p| p.exists2()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 93 - if !config.parent().map_or(true, |p| p.exists2()) { [INFO] [stdout] 93 + if !config.parent().is_none_or(|p| p.exists2()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/cmd_setup.rs:128:26 [INFO] [stdout] | [INFO] [stdout] 128 | shell_escape(&host), [INFO] [stdout] | ^^^^^ help: change this to: `host` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/cli/cmd_setup.rs:133:18 [INFO] [stdout] | [INFO] [stdout] 133 | .arg(&host) [INFO] [stdout] | ^^^^^ help: change this to: `host` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/cmd_setup.rs:147:64 [INFO] [stdout] | [INFO] [stdout] 147 | format!("Failed to run `ssh {}`", shell_escape(&host)) [INFO] [stdout] | ^^^^^ help: change this to: `host` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/cmd_setup.rs:180:30 [INFO] [stdout] | [INFO] [stdout] 180 | shell_escape(&host), [INFO] [stdout] | ^^^^^ help: change this to: `host` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/cmd_setup.rs:187:57 [INFO] [stdout] | [INFO] [stdout] 187 | command = format!("ssh -T {}", shell_escape(&host)); [INFO] [stdout] | ^^^^^ help: change this to: `host` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/cli/cmd_setup.rs:294:13 [INFO] [stdout] | [INFO] [stdout] 294 | / if !existing_roots.contains(&selected) { [INFO] [stdout] 295 | | if !ask(&format!( [INFO] [stdout] 296 | | "Root '{}' does not exist. Create it? ", [INFO] [stdout] 297 | | selected [INFO] [stdout] ... | [INFO] [stdout] 301 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 294 ~ if !existing_roots.contains(&selected) [INFO] [stdout] 295 ~ && !ask(&format!( [INFO] [stdout] 296 | "Root '{}' does not exist. Create it? ", [INFO] [stdout] ... [INFO] [stdout] 299 | continue; [INFO] [stdout] 300 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/cli/cmd_setup.rs:543:8 [INFO] [stdout] | [INFO] [stdout] 543 | if SHELL_IDENTITY == &is_ensync_shell { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `is_ensync_shell` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FDD` contains a capitalized acronym [INFO] [stdout] --> src/cli/cmd_sync.rs:178:16 [INFO] [stdout] | [INFO] [stdout] 178 | struct FDD<'a>(&'a FileData); [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Fdd` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/cli/cmd_sync.rs:418:24 [INFO] [stdout] | [INFO] [stdout] 418 | || Path::new(path).parent().map_or(true, |p| { [INFO] [stdout] | ________________________^ [INFO] [stdout] 419 | | !self.recdel_directories.read().unwrap().contains(p) [INFO] [stdout] 420 | | }) [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 418 - || Path::new(path).parent().map_or(true, |p| { [INFO] [stdout] 418 + || Path::new(path).parent().is_none_or(|p| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (15/7) [INFO] [stdout] --> src/cli/cmd_sync.rs:760:1 [INFO] [stdout] | [INFO] [stdout] 760 | / pub fn run( [INFO] [stdout] 761 | | config: &Config, [INFO] [stdout] 762 | | storage: Arc, [INFO] [stdout] 763 | | verbosity: i32, [INFO] [stdout] ... | [INFO] [stdout] 778 | | key_chain: &mut Option>, [INFO] [stdout] 779 | | ) -> Result<()> { [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli/cmd_sync.rs:1077:9 [INFO] [stdout] | [INFO] [stdout] 1077 | let _ = thread.join().expect("Child thread panicked"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1077 - let _ = thread.join().expect("Child thread panicked"); [INFO] [stdout] 1077 + thread.join().expect("Child thread panicked"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/dry_run_replica.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | / dir.delegate [INFO] [stdout] 68 | | .as_ref() [INFO] [stdout] 69 | | .map_or(true, |d| self.0.is_dir_dirty(d)) [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 69 - .map_or(true, |d| self.0.is_dir_dirty(d)) [INFO] [stdout] 69 + .is_none_or(|d| self.0.is_dir_dirty(d)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/dry_run_replica.rs:199:35 [INFO] [stdout] | [INFO] [stdout] 199 | fn null_transfer(_: &FileData) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/dao.rs:41:29 [INFO] [stdout] | [INFO] [stdout] 41 | ret.copy_from_slice(&*v); [INFO] [stdout] | ^^^ help: try: `&v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/posix/dao.rs:250:25 [INFO] [stdout] | [INFO] [stdout] 250 | .binding(6, stat.mtime as i64) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `stat.mtime` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/posix/dao.rs:304:25 [INFO] [stdout] | [INFO] [stdout] 304 | .binding(4, stat.mtime as i64) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `stat.mtime` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/posix/dao.rs:430:25 [INFO] [stdout] | [INFO] [stdout] 430 | .binding(2, mtime as i64) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mtime` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/posix/dir.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | &self.0.path.as_os_str() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.0.path.as_os_str()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/posix/dir.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let m = mode as u32; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/posix/dir.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 162 | if OsStr::new("/") != &s { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `hash` [INFO] [stdout] --> src/posix/dir.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | for i in 0..32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 205 - for i in 0..32 { [INFO] [stdout] 205 + for (i, ) in hash.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/posix/replica.rs:103:6 [INFO] [stdout] | [INFO] [stdout] 103 | impl<'a> OnDao for &'a Dao { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 103 - impl<'a> OnDao for &'a Dao { [INFO] [stdout] 103 + impl OnDao for &Dao { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:105:11 [INFO] [stdout] | [INFO] [stdout] 105 | f(*self) [INFO] [stdout] | ^^^^^ help: try: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/posix/replica.rs:109:6 [INFO] [stdout] | [INFO] [stdout] 109 | impl<'a> OnDao for &'a Mutex { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 109 - impl<'a> OnDao for &'a Mutex { [INFO] [stdout] 109 + impl OnDao for &Mutex { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:111:11 [INFO] [stdout] | [INFO] [stdout] 111 | f(&*self.lock().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `&self.lock().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/posix/replica.rs:311:16 [INFO] [stdout] | [INFO] [stdout] 311 | if OsStr::new(".") == &name || OsStr::new("..") == &name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/posix/replica.rs:311:44 [INFO] [stdout] | [INFO] [stdout] 311 | if OsStr::new(".") == &name || OsStr::new("..") == &name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:326:17 [INFO] [stdout] | [INFO] [stdout] 326 | &*self.config, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&self.config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | &*self.config, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&self.config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/posix/replica.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | return Ok(ret); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 434 - return Ok(ret); [INFO] [stdout] 434 + Ok(ret) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take` [INFO] [stdout] --> src/posix/replica.rs:623:21 [INFO] [stdout] | [INFO] [stdout] 623 | mem::replace(&mut watcher.dirty, HashSet::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut watcher.dirty)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default [INFO] [stdout] = note: `#[warn(clippy::mem_replace_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/posix/replica.rs:647:16 [INFO] [stdout] | [INFO] [stdout] 647 | if dir_filter.as_ref().map_or(false, |f| !f.contains(&path)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 647 - if dir_filter.as_ref().map_or(false, |f| !f.contains(&path)) { [INFO] [stdout] 647 + if dir_filter.as_ref().is_some_and(|f| !f.contains(&path)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/posix/replica.rs:657:24 [INFO] [stdout] | [INFO] [stdout] 657 | if OsStr::new(".") == &name || OsStr::new("..") == &name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/posix/replica.rs:657:52 [INFO] [stdout] | [INFO] [stdout] 657 | if OsStr::new(".") == &name || OsStr::new("..") == &name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:672:25 [INFO] [stdout] | [INFO] [stdout] 672 | &*self.config, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&self.config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/posix/replica.rs:697:13 [INFO] [stdout] | [INFO] [stdout] 697 | &self.config.root.as_os_str(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.config.root.as_os_str()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/posix/replica.rs:721:13 [INFO] [stdout] | [INFO] [stdout] 721 | / &private_dir.join("db.sqlite").to_str().ok_or_else(|| { [INFO] [stdout] 722 | | format!("Path '{}' is not valid UTF-8", private_dir.display()) [INFO] [stdout] 723 | | })?, [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 721 ~ private_dir.join("db.sqlite").to_str().ok_or_else(|| { [INFO] [stdout] 722 + format!("Path '{}' is not valid UTF-8", private_dir.display()) [INFO] [stdout] 723 ~ })?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::path::PathBuf` [INFO] [stdout] --> src/posix/replica.rs:779:37 [INFO] [stdout] | [INFO] [stdout] 779 | let mut path: PathBuf = self.config.private_dir.clone().into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `self.config.private_dir.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/posix/replica.rs:830:25 [INFO] [stdout] | [INFO] [stdout] 830 | &new_path.as_os_str(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `new_path.as_os_str()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::path::PathBuf` [INFO] [stdout] --> src/posix/replica.rs:832:31 [INFO] [stdout] | [INFO] [stdout] 832 | return Ok(new_path.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider removing `.into()`: `new_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/posix/replica.rs:902:43 [INFO] [stdout] | [INFO] [stdout] 902 | fs::rename(&scratch_path, &dir.child(source.0)).chain_err( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `dir.child(source.0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/posix/replica.rs:1198:13 [INFO] [stdout] | [INFO] [stdout] 1198 | &path, [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/posix/replica.rs:1199:28 [INFO] [stdout] | [INFO] [stdout] 1199 | &path_metadata(&path)?, [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:1202:13 [INFO] [stdout] | [INFO] [stdout] 1202 | &*self.config, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&self.config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/posix/replica.rs:1215:16 [INFO] [stdout] | [INFO] [stdout] 1215 | if file [INFO] [stdout] | ________________^ [INFO] [stdout] 1216 | | .file_name() [INFO] [stdout] 1217 | | .to_str() [INFO] [stdout] 1218 | | .map_or(false, |name| name.starts_with("scratch")) [INFO] [stdout] | |__________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 1218 - .map_or(false, |name| name.starts_with("scratch")) [INFO] [stdout] 1218 + .is_some_and(|name| name.starts_with("scratch")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/reconcile/context.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | lock.next_id = lock.next_id + Wrapping(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock.next_id += Wrapping(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/reconcile/context.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | lock.next_id = lock.next_id + Wrapping(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock.next_id += Wrapping(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant name ends with the enum's name [INFO] [stdout] --> src/reconcile/compute.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | NoConflict, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:300:34 [INFO] [stdout] | [INFO] [stdout] 300 | let server_wins = if a.map_or(false, |a| c.matches(a)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 300 - let server_wins = if a.map_or(false, |a| c.matches(a)) { [INFO] [stdout] 300 + let server_wins = if a.is_some_and(|a| c.matches(a)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:302:23 [INFO] [stdout] | [INFO] [stdout] 302 | } else if a.map_or(false, |a| s.matches(a)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 302 - } else if a.map_or(false, |a| s.matches(a)) { [INFO] [stdout] 302 + } else if a.is_some_and(|a| s.matches(a)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:334:19 [INFO] [stdout] | [INFO] [stdout] 334 | } else if a.map_or(false, |a| a.matches(c)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 334 - } else if a.map_or(false, |a| a.matches(c)) { [INFO] [stdout] 334 + } else if a.is_some_and(|a| a.matches(c)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:345:19 [INFO] [stdout] | [INFO] [stdout] 345 | } else if a.map_or(false, |a| a.matches(s)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 345 - } else if a.map_or(false, |a| a.matches(s)) { [INFO] [stdout] 345 + } else if a.is_some_and(|a| a.matches(s)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:356:19 [INFO] [stdout] | [INFO] [stdout] 356 | } else if a [INFO] [stdout] | ___________________^ [INFO] [stdout] 357 | | .map_or(false, |a| a.matches_content(c) && a.matches_content(s)) [INFO] [stdout] | |____________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 357 - .map_or(false, |a| a.matches_content(c) && a.matches_content(s)) [INFO] [stdout] 357 + .is_some_and(|a| a.matches_content(c) && a.matches_content(s)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:371:19 [INFO] [stdout] | [INFO] [stdout] 371 | } else if a.map_or(false, |a| a.matches_content(c)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 371 - } else if a.map_or(false, |a| a.matches_content(c)) { [INFO] [stdout] 371 + } else if a.is_some_and(|a| a.matches_content(c)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:382:19 [INFO] [stdout] | [INFO] [stdout] 382 | } else if a.map_or(false, |a| a.matches_content(s)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 382 - } else if a.map_or(false, |a| a.matches_content(s)) { [INFO] [stdout] 382 + } else if a.is_some_and(|a| a.matches_content(s)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/reconcile/mutate.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | / files [INFO] [stdout] 83 | | .insert(name.to_owned(), newfd.clone()) [INFO] [stdout] 84 | | .map(|_| panic!("Inserted ancestor already in table?")); [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 82 ~ if let Some(_) = files [INFO] [stdout] 83 + .insert(name.to_owned(), newfd.clone()) { panic!("Inserted ancestor already in table?") } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/reconcile/mutate.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | / fn try_replace_ancestor( [INFO] [stdout] 125 | | replica: &A, [INFO] [stdout] 126 | | in_dir: &mut A::Directory, [INFO] [stdout] 127 | | files: &mut BTreeMap, [INFO] [stdout] ... | [INFO] [stdout] 132 | | log: &LOG, [INFO] [stdout] 133 | | ) -> bool { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/reconcile/mutate.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | / fn replace_replica< [INFO] [stdout] 163 | | DST: Replica, [INFO] [stdout] 164 | | SRC: Replica, [INFO] [stdout] 165 | | LOG: Logger, [INFO] [stdout] ... | [INFO] [stdout] 177 | | side: ReplicaSide, [INFO] [stdout] 178 | | ) -> Result> { [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/reconcile/mutate.rs:253:21 [INFO] [stdout] | [INFO] [stdout] 253 | / dst_files [INFO] [stdout] 254 | | .insert(name.to_owned(), r.clone()) [INFO] [stdout] 255 | | .map(|_| panic!("Inserted file already in table?")); [INFO] [stdout] | |___________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 253 ~ if let Some(_) = dst_files [INFO] [stdout] 254 + .insert(name.to_owned(), r.clone()) { panic!("Inserted file already in table?") } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/reconcile/mutate.rs:283:1 [INFO] [stdout] | [INFO] [stdout] 283 | / fn try_rename_replica( [INFO] [stdout] 284 | | replica: &A, [INFO] [stdout] 285 | | dir: &mut A::Directory, [INFO] [stdout] 286 | | files: &mut BTreeMap, [INFO] [stdout] ... | [INFO] [stdout] 291 | | side: ReplicaSide, [INFO] [stdout] 292 | | ) -> bool { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/reconcile/mutate.rs:334:1 [INFO] [stdout] | [INFO] [stdout] 334 | / fn apply_use< [INFO] [stdout] 335 | | DST: Replica, [INFO] [stdout] 336 | | ANC: Replica + NullTransfer, [INFO] [stdout] 337 | | SRC: Replica, [INFO] [stdout] ... | [INFO] [stdout] 353 | | side: ReconciliationSide, [INFO] [stdout] 354 | | ) -> result::Result>, ApplyResult> { [INFO] [stdout] | |__________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/reconcile/mutate.rs:405:23 [INFO] [stdout] | [INFO] [stdout] 405 | Err(_) => return Err(ApplyResult::Fail), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 405 - Err(_) => return Err(ApplyResult::Fail), [INFO] [stdout] 405 + Err(_) => Err(ApplyResult::Fail), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/reconcile/tree_walk.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | rb.as_mut().map(|r| r.contains(File(&name, &value))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 203 - rb.as_mut().map(|r| r.contains(File(&name, &value))); [INFO] [stdout] 203 + if let Some(r) = rb.as_mut() { r.contains(File(&name, &value)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/reconcile/tree_walk.rs:487:25 [INFO] [stdout] | [INFO] [stdout] 487 | / if subdirstate.success.load(SeqCst) { [INFO] [stdout] 488 | | if !on_success(this, dir, &subdirstate) { [INFO] [stdout] 489 | | subdirstate [INFO] [stdout] 490 | | .fail("recurse_and_then on_success failed"); [INFO] [stdout] 491 | | } [INFO] [stdout] 492 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 487 ~ if subdirstate.success.load(SeqCst) [INFO] [stdout] 488 ~ && !on_success(this, dir, &subdirstate) { [INFO] [stdout] 489 | subdirstate [INFO] [stdout] 490 | .fail("recurse_and_then on_success failed"); [INFO] [stdout] 491 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/reconcile/tree_walk.rs:577:5 [INFO] [stdout] | [INFO] [stdout] 577 | / fn recursive_delete( [INFO] [stdout] 578 | | &self, [INFO] [stdout] 579 | | dir: &mut ::Dir, [INFO] [stdout] 580 | | parent_name: &OsStr, [INFO] [stdout] ... | [INFO] [stdout] 585 | | mode: FileMode, [INFO] [stdout] 586 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/reconcile/tree_walk.rs:587:9 [INFO] [stdout] | [INFO] [stdout] 587 | / fn chdir_or_synth( [INFO] [stdout] 588 | | r: &R, [INFO] [stdout] 589 | | dir: &mut R::Directory, [INFO] [stdout] 590 | | this_side: ReconciliationSide, [INFO] [stdout] ... | [INFO] [stdout] 595 | | mode: FileMode, [INFO] [stdout] 596 | | ) -> Option { [INFO] [stdout] | |_________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/replica.rs:285:1 [INFO] [stdout] | [INFO] [stdout] 285 | / impl Default for WatchStatus { [INFO] [stdout] 286 | | fn default() -> WatchStatus { [INFO] [stdout] 287 | | WatchStatus { [INFO] [stdout] 288 | | dirty: false, [INFO] [stdout] ... | [INFO] [stdout] 292 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 280 + #[derive(Default)] [INFO] [stdout] 281 | struct WatchStatus { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/rules/defs.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | / impl Default for SyncModeSetting { [INFO] [stdout] 37 | | fn default() -> Self { [INFO] [stdout] 38 | | SyncModeSetting::Off [INFO] [stdout] 39 | | } [INFO] [stdout] 40 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 25 + #[derive(Default)] [INFO] [stdout] 26 | pub enum SyncModeSetting { [INFO] [stdout] 27 | /// This type of propagation shall not happen. [INFO] [stdout] 28 ~ #[default] [INFO] [stdout] 29 ~ Off, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/rules/engine.rs:74:33 [INFO] [stdout] | [INFO] [stdout] 74 | rx.is_match(&*target.to_string_lossy()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&target.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rules/engine.rs:484:25 [INFO] [stdout] | [INFO] [stdout] 484 | &state_indices, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `state_indices` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rules/engine.rs:490:25 [INFO] [stdout] | [INFO] [stdout] 490 | &state_indices, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `state_indices` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/rules/engine.rs:559:5 [INFO] [stdout] | [INFO] [stdout] 559 | / match val { [INFO] [stdout] 560 | | &toml::Value::String(_) => { [INFO] [stdout] 561 | | Ok(vec![parse_state_ref(val, &loc, state_indices)?]) [INFO] [stdout] ... | [INFO] [stdout] 570 | | _ => Err(Error::WrongType(loc, "string-or-array")), [INFO] [stdout] 571 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 559 ~ match *val { [INFO] [stdout] 560 ~ toml::Value::String(_) => { [INFO] [stdout] 561 | Ok(vec![parse_state_ref(val, &loc, state_indices)?]) [INFO] [stdout] 562 | } [INFO] [stdout] 563 ~ toml::Value::Array(ref elts) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/rules/engine.rs:563:9 [INFO] [stdout] | [INFO] [stdout] 563 | &toml::Value::Array(ref elts) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 563 - &toml::Value::Array(ref elts) => { [INFO] [stdout] 563 + toml::Value::Array(elts) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/rules/engine.rs:705:28 [INFO] [stdout] | [INFO] [stdout] 705 | new_state.push_dir(&*name); [INFO] [stdout] | ^^^^^^ help: try: `&name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/rules/engine.rs:713:52 [INFO] [stdout] | [INFO] [stdout] 713 | |r| self.rules.rules[r].matches(&path, &*name, file.1), [INFO] [stdout] | ^^^^^^ help: try: `&name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | //! Permitting the "write-but-not-read" model would thus require using [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 31 | //! Permitting the "write-but-not-read" model would thus require using [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | //! different keys for directories and files. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 32 | //! different keys for directories and files. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | //! key(s). There would be no easy way to change what keys had access to the [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 35 | //! key(s). There would be no easy way to change what keys had access to the [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | //! server store. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 36 | //! server store. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | //! passphrase with the stored parameters. Ignore entries not supported. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 94 | //! passphrase with the stored parameters. Ignore entries not supported. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | //! next entry. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 97 | //! next entry. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | //! key name and the derived key, then XOR it with the internal key diff. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 100 | //! key name and the derived key, then XOR it with the internal key diff. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | //! clients that do the same thing would use the same key. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 140 | //! clients that do the same thing would use the same key. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | //! object. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 143 | //! object. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | //! bytes as the IV. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 151 | //! bytes as the IV. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | //! the server cannot derive the encryption keys. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 156 | //! the server cannot derive the encryption keys. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 181 | //! IV equal to the two halves of the directory id XORed with each other. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 181 | //! IV equal to the two halves of the directory id XORed with each other. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server/crypt.rs:442:5 [INFO] [stdout] | [INFO] [stdout] 442 | return derived; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 442 - return derived; [INFO] [stdout] 442 + derived [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/crypt.rs:440:32 [INFO] [stdout] | [INFO] [stdout] 440 | scrypt::scrypt(passphrase, &salt, &sparms, &mut derived); [INFO] [stdout] | ^^^^^ help: change this to: `salt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's values [INFO] [stdout] --> src/server/crypt.rs:558:5 [INFO] [stdout] | [INFO] [stdout] 558 | / keys.iter() [INFO] [stdout] 559 | | .filter_map(|(_, k)| try_derive_key_single(passphrase, k)) [INFO] [stdout] | |__________________________________________________________________^ help: try: `keys.values().filter_map(|k| try_derive_key_single(passphrase, k))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] = note: `#[warn(clippy::iter_kv_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `RefReadBuffer::new` doesn't need a mutable reference [INFO] [stdout] --> src/server/crypt.rs:642:50 [INFO] [stdout] | [INFO] [stdout] 642 | let mut srcrbuf = RefReadBuffer::new(&mut src_buf[..nread]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 642 - let mut srcrbuf = RefReadBuffer::new(&mut src_buf[..nread]); [INFO] [stdout] 642 + let mut srcrbuf = RefReadBuffer::new(&src_buf[..nread]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `ix` is only used to index `cleartext` [INFO] [stdout] --> src/server/crypt.rs:856:15 [INFO] [stdout] | [INFO] [stdout] 856 | for ix in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 856 - for ix in 0..8 { [INFO] [stdout] 856 + for in cleartext.iter_mut().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `ix` is used to index `cleartext` [INFO] [stdout] --> src/server/crypt.rs:908:15 [INFO] [stdout] | [INFO] [stdout] 908 | for ix in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 908 - for ix in 0..8 { [INFO] [stdout] 908 + for (ix, ) in cleartext.iter().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/dir.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | //! bytes (including this integer, but not including the HMAC). [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 50 | //! bytes (including this integer, but not including the HMAC). [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/dir.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | //! is a `[v0::EntryPair]`. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 52 | //! is a `[v0::EntryPair]`. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/dir.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | //! blocks. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 54 | //! blocks. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/dir.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | //! padding at the end. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 59 | //! padding at the end. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/dir.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | //! UNKNOWN_HASH. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 61 | //! UNKNOWN_HASH. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/server/dir.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | use std::usize; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:330:39 [INFO] [stdout] | [INFO] [stdout] 330 | config: parent.config.sub(&*name.to_string_lossy())?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&name.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:355:22 [INFO] [stdout] | [INFO] [stdout] 355 | .sub(&*name.to_string_lossy()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&name.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/dir.rs:436:33 [INFO] [stdout] | [INFO] [stdout] 436 | if test(&name, mode, &id)? => [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:453:45 [INFO] [stdout] | [INFO] [stdout] 453 | config: self.config.sub(&*name.to_string_lossy())?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&name.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:496:34 [INFO] [stdout] | [INFO] [stdout] 496 | self.save_latest_dir_ver(&mut *content)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&mut content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/server/dir.rs:551:30 [INFO] [stdout] | [INFO] [stdout] 551 | Some(&v0::Entry::Symlink { ref target, .. }) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 551 - Some(&v0::Entry::Symlink { ref target, .. }) => { [INFO] [stdout] 551 + Some(v0::Entry::Symlink { target, .. }) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/server/dir.rs:566:33 [INFO] [stdout] | [INFO] [stdout] 566 | ... for &(ref id, ref linkid) in blocks { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 566 - for &(ref id, ref linkid) in blocks { [INFO] [stdout] 566 + for (id, linkid) in blocks { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/server/dir.rs:619:26 [INFO] [stdout] | [INFO] [stdout] 619 | Some(&FileData::Symlink(ref target)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 619 - Some(&FileData::Symlink(ref target)) => { [INFO] [stdout] 619 + Some(FileData::Symlink(target)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/dir.rs:621:37 [INFO] [stdout] | [INFO] [stdout] 621 | ... target: target.clone().into_vec().into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `target.clone().into_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/dir.rs:640:51 [INFO] [stdout] | [INFO] [stdout] 640 | ... &xform_obj_id(&blockid), [INFO] [stdout] | ^^^^^^^^ help: change this to: `blockid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/dir.rs:644:45 [INFO] [stdout] | [INFO] [stdout] 644 | ... tx, &blockid, &linkid, block_data, [INFO] [stdout] | ^^^^^^^^ help: change this to: `blockid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:668:34 [INFO] [stdout] | [INFO] [stdout] 668 | self.save_latest_dir_ver(&mut *content)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&mut content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/dir.rs:686:13 [INFO] [stdout] | [INFO] [stdout] 686 | &linkid, [INFO] [stdout] | ^^^^^^^ help: change this to: `linkid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:708:26 [INFO] [stdout] | [INFO] [stdout] 708 | .sub(&*old.to_string_lossy()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&old.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:710:50 [INFO] [stdout] | [INFO] [stdout] 710 | let new_config = self.config.sub(&*new.to_string_lossy())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&new.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:728:34 [INFO] [stdout] | [INFO] [stdout] 728 | self.save_latest_dir_ver(&mut *content)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&mut content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/server/dir.rs:973:25 [INFO] [stdout] | [INFO] [stdout] 973 | let len_bytes = ((data[0] as usize) << 0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((data[0] as usize))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/server/dir.rs:977:26 [INFO] [stdout] | [INFO] [stdout] 977 | let len_blocks = (len_bytes + BLKSZ - 1) / BLKSZ; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `len_bytes.div_ceil(BLKSZ)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/dir.rs:1076:34 [INFO] [stdout] | [INFO] [stdout] 1076 | content.apply_entry((name.into_vec().into(), entry)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `name.into_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/dir.rs:1080:34 [INFO] [stdout] | [INFO] [stdout] 1080 | content.apply_entry((name.into_vec().into(), entry)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `name.into_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/server/dir.rs:1204:15 [INFO] [stdout] | [INFO] [stdout] 1204 | while dst.len() % BLKSZ != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!dst.len().is_multiple_of(BLKSZ)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:1223:37 [INFO] [stdout] | [INFO] [stdout] 1223 | config: self.config.sub(&*name.to_string_lossy())?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&name.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:1244:31 [INFO] [stdout] | [INFO] [stdout] 1244 | parent.config.sub(&*name.to_string_lossy())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&name.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/dir.rs:1285:39 [INFO] [stdout] | [INFO] [stdout] 1285 | let name = OsString::from_vec(entry.0.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider removing `.into()`: `entry.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/keymgmt.rs:107:29 [INFO] [stdout] | [INFO] [stdout] 107 | &secret_dir_ver(&old_ver, key), [INFO] [stdout] | ^^^^^^^^ help: change this to: `old_ver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/server/keymgmt.rs:396:27 [INFO] [stdout] | [INFO] [stdout] 396 | for (_, e) in &kdflist.keys { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 396 - for (_, e) in &kdflist.keys { [INFO] [stdout] 396 + for e in kdflist.keys.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/server/keymgmt.rs:406:23 [INFO] [stdout] | [INFO] [stdout] 406 | for (_, e) in &mut kdflist.keys { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 406 - for (_, e) in &mut kdflist.keys { [INFO] [stdout] 406 + for e in kdflist.keys.values_mut() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `reassoc_keys` doesn't need a mutable reference [INFO] [stdout] --> src/server/keymgmt.rs:415:33 [INFO] [stdout] | [INFO] [stdout] 415 | reassoc_keys(e, &mut key_chain); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 415 - reassoc_keys(e, &mut key_chain); [INFO] [stdout] 415 + reassoc_keys(e, &key_chain); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/server/keymgmt.rs:446:23 [INFO] [stdout] | [INFO] [stdout] 446 | for (_, e) in &mut kdflist.keys { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 446 - for (_, e) in &mut kdflist.keys { [INFO] [stdout] 446 + for e in kdflist.keys.values_mut() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `reassoc_keys` doesn't need a mutable reference [INFO] [stdout] --> src/server/keymgmt.rs:464:33 [INFO] [stdout] | [INFO] [stdout] 464 | reassoc_keys(e, &mut key_chain); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 464 - reassoc_keys(e, &mut key_chain); [INFO] [stdout] 464 + reassoc_keys(e, &key_chain); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/server/local_storage.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use std::u32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u32::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/local_storage.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | /// file is also used to ascertain whether a directory is in fact a server [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 50 | /// file is also used to ascertain whether a directory is in fact a server [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/local_storage.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | /// root. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 51 | /// root. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/local_storage.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | /// files are created here and immediately deleted or populated then moved into [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 54 | /// files are created here and immediately deleted or populated then moved into [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/local_storage.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | /// place. It is always safe to indiscriminately wipe the contents of `tmp`, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 55 | /// place. It is always safe to indiscriminately wipe the contents of `tmp`, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/local_storage.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | /// but it may interrupt active syncing processes. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 56 | /// but it may interrupt active syncing processes. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/server/local_storage.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | watch_list: Option>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/local_storage.rs:281:57 [INFO] [stdout] | [INFO] [stdout] 281 | match tmpfile.persist(self.dir_path(&id, &ver)) { [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/local_storage.rs:281:62 [INFO] [stdout] | [INFO] [stdout] 281 | match tmpfile.persist(self.dir_path(&id, &ver)) { [INFO] [stdout] | ^^^^ help: change this to: `ver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/local_storage.rs:323:45 [INFO] [stdout] | [INFO] [stdout] 323 | .open(self.dir_path(&id, &ver))?; [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/local_storage.rs:381:49 [INFO] [stdout] | [INFO] [stdout] 381 | let objpath = self.obj_path(&id); [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/server/replica.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use std::u32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u32::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take` [INFO] [stdout] --> src/server/replica.rs:317:18 [INFO] [stdout] | [INFO] [stdout] 317 | Some(mem::replace(&mut ws.lock().unwrap().dirty, HashSet::new())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut ws.lock().unwrap().dirty)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/server/replica.rs:347:16 [INFO] [stdout] | [INFO] [stdout] 347 | if dir_filter.as_ref().map_or(false, |d| !d.contains(id)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 347 - if dir_filter.as_ref().map_or(false, |d| !d.contains(id)) { [INFO] [stdout] 347 + if dir_filter.as_ref().is_some_and(|d| !d.contains(id)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/rpc.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | /// returns `FatalError` indicating the problem and terminates. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 48 | /// returns `FatalError` indicating the problem and terminates. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/rpc.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | /// with that major version and the latest minor version of that major [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 51 | /// with that major version and the latest minor version of that major [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/rpc.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | /// version it supports. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 52 | /// version it supports. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/rpc.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | /// with the greatest (major,minor) version it supports. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 55 | /// with the greatest (major,minor) version it supports. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/rpc.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | /// by the server. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 58 | /// by the server. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let .. else` expression looks like `matches!` macro [INFO] [stdout] --> src/server/rpc.rs:520:29 [INFO] [stdout] | [INFO] [stdout] 520 | let fatal = if let Response::FatalError(_) = response { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 521 | | true [INFO] [stdout] 522 | | } else { [INFO] [stdout] 523 | | false [INFO] [stdout] 524 | | }; [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 520 - let fatal = if let Response::FatalError(_) = response { [INFO] [stdout] 521 - true [INFO] [stdout] 522 - } else { [INFO] [stdout] 523 - false [INFO] [stdout] 524 - }; [INFO] [stdout] 520 + let fatal = matches!(response, Response::FatalError(_)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/server/rpc.rs:718:16 [INFO] [stdout] | [INFO] [stdout] 718 | watch_fun: Arc) + Send>>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/server/rpc.rs:768:24 [INFO] [stdout] | [INFO] [stdout] 768 | let watch_fun: Arc< [INFO] [stdout] | ________________________^ [INFO] [stdout] 769 | | Mutex) + Send>>>, [INFO] [stdout] 770 | | > = Arc::new(Mutex::new(None)); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/server/rpc.rs:856:37 [INFO] [stdout] | [INFO] [stdout] 856 | self.send_sync_request(req, |r| recv(r)) [INFO] [stdout] | ^^^^^^^^^^^ help: replace the closure with the function itself: `recv` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/rpc.rs:900:29 [INFO] [stdout] | [INFO] [stdout] 900 | Ok(Some((v, data.into()))), [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/rpc.rs:909:48 [INFO] [stdout] | [INFO] [stdout] 909 | Response::ObjData(data) => Ok(Some(data.into())), [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | /// all the information needed for `Replica::list`. The server permits fetching [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 30 | /// all the information needed for `Replica::list`. The server permits fetching [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | /// a prefix from every directory, and appending new bytes to the end of the [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 31 | /// a prefix from every directory, and appending new bytes to the end of the [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | /// directory. Concurrent modifications on a directory are handled by testing [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 32 | /// directory. Concurrent modifications on a directory are handled by testing [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | /// the length of the directory as well as a "version id" regenerated each time [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 33 | /// the length of the directory as well as a "version id" regenerated each time [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | /// the directory is rewritten. Note that the version id has additional [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 34 | /// the directory is rewritten. Note that the version id has additional [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | /// semantics at the higher layer to detect revert attacks. There is also a [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 35 | /// semantics at the higher layer to detect revert attacks. There is also a [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | /// "secret version id" which is specified when the directory is created; write [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 36 | /// "secret version id" which is specified when the directory is created; write [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | /// operations to a directory specify the secret version, whereas read [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 37 | /// operations to a directory specify the secret version, whereas read [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | /// operations only return the normal version. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 38 | /// operations only return the normal version. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | /// HMAC. The server has no way to determine itself whether a block is in use; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 41 | /// HMAC. The server has no way to determine itself whether a block is in use; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | /// instead, the client works with the server to maintain a reference count. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 42 | /// instead, the client works with the server to maintain a reference count. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/server/storage.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | f: Box) + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/main.rs:934:12 [INFO] [stdout] | [INFO] [stdout] 934 | if args.next().map_or(false, |arg0| arg0.starts_with("-")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 934 - if args.next().map_or(false, |arg0| arg0.starts_with("-")) { [INFO] [stdout] 934 + if args.next().is_some_and(|arg0| arg0.starts_with("-")) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/main.rs:939:12 [INFO] [stdout] | [INFO] [stdout] 939 | if args.next().map_or(false, |arg1| "-c" == &arg1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 939 - if args.next().map_or(false, |arg1| "-c" == &arg1) { [INFO] [stdout] 939 + if args.next().is_some_and(|arg1| "-c" == &arg1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used with `bool::then` [INFO] [stdout] --> src/main.rs:1120:21 [INFO] [stdout] | [INFO] [stdout] 1120 | sc.watch.then(|| sc.quiescence), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `then_some` instead [INFO] [stdout] | [INFO] [stdout] 1120 - sc.watch.then(|| sc.quiescence), [INFO] [stdout] 1120 + sc.watch.then_some(sc.quiescence), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ancestor/replica.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | fn as_entry(&self, dir: i64) -> FileEntry; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 165 | fn as_entry(&self, dir: i64) -> FileEntry<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ancestor/replica.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | fn as_entry(&self, dir: i64) -> FileEntry { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 169 | fn as_entry(&self, dir: i64) -> FileEntry<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ancestor/replica.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | fn as_entry(&self, dir: i64) -> FileEntry { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 206 | fn as_entry(&self, dir: i64) -> FileEntry<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/posix/dao.rs:98:28 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn iter_clean_dirs(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 98 | pub fn iter_clean_dirs(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/defs.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | / match *self { [INFO] [stdout] 130 | | FileData::Directory(_) => true, [INFO] [stdout] 131 | | _ => false, [INFO] [stdout] 132 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 129 - match *self { [INFO] [stdout] 130 - FileData::Directory(_) => true, [INFO] [stdout] 131 - _ => false, [INFO] [stdout] 132 - } [INFO] [stdout] 129 + matches!(*self, FileData::Directory(_)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:160:14 [INFO] [stdout] | [INFO] [stdout] 160 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 160 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 160 + (Symlink(t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:160:32 [INFO] [stdout] | [INFO] [stdout] 160 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 160 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 160 + (&Symlink(ref t1), Symlink(t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:175:14 [INFO] [stdout] | [INFO] [stdout] 175 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 175 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 175 + (Symlink(t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:175:32 [INFO] [stdout] | [INFO] [stdout] 175 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 175 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 175 + (&Symlink(ref t1), Symlink(t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:188:14 [INFO] [stdout] | [INFO] [stdout] 188 | (&Regular(_, _, _, ref h1), &Regular(_, _, _, ref h2)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 188 - (&Regular(_, _, _, ref h1), &Regular(_, _, _, ref h2)) => { [INFO] [stdout] 188 + (Regular(_, _, _, h1), &Regular(_, _, _, ref h2)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:188:41 [INFO] [stdout] | [INFO] [stdout] 188 | (&Regular(_, _, _, ref h1), &Regular(_, _, _, ref h2)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 188 - (&Regular(_, _, _, ref h1), &Regular(_, _, _, ref h2)) => { [INFO] [stdout] 188 + (&Regular(_, _, _, ref h1), Regular(_, _, _, h2)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:191:14 [INFO] [stdout] | [INFO] [stdout] 191 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 191 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 191 + (Symlink(t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/defs.rs:191:32 [INFO] [stdout] | [INFO] [stdout] 191 | (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 191 - (&Symlink(ref t1), &Symlink(ref t2)) => *t1 == *t2, [INFO] [stdout] 191 + (&Symlink(ref t1), Symlink(t2)) => *t1 == *t2, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/defs.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | / match fd { [INFO] [stdout] 204 | | Some(&FileData::Directory(_)) => true, [INFO] [stdout] 205 | | _ => false, [INFO] [stdout] 206 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 203 - match fd { [INFO] [stdout] 204 - Some(&FileData::Directory(_)) => true, [INFO] [stdout] 205 - _ => false, [INFO] [stdout] 206 - } [INFO] [stdout] 203 + matches!(fd, Some(&FileData::Directory(_))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `E` [INFO] [stdout] --> src/sql.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | Err(e.into()) [INFO] [stdout] | ^^^^^^^^ help: consider removing `.into()`: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/ancestor/mod.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | //! operations on the store. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 25 | //! operations on the store. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/dao.rs:295:38 [INFO] [stdout] | [INFO] [stdout] 295 | if self.exists(e.parent, &*e.name)? { [INFO] [stdout] | ^^^^^^^^ help: try: `&e.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/dao.rs:311:45 [INFO] [stdout] | [INFO] [stdout] 311 | Ok(self.get_id_of(e.parent, &*e.name)?) [INFO] [stdout] | ^^^^^^^^ help: try: `&e.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/dao.rs:341:47 [INFO] [stdout] | [INFO] [stdout] 341 | } else if self.exists(old.parent, &*old.name)? { [INFO] [stdout] | ^^^^^^^^^^ help: try: `&old.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/dao.rs:359:45 [INFO] [stdout] | [INFO] [stdout] 359 | } else if self.exists(e.parent, &*e.name)? { [INFO] [stdout] | ^^^^^^^^ help: try: `&e.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/ancestor/dao.rs:521:17 [INFO] [stdout] | [INFO] [stdout] 521 | assert!(!dao.create(&e).unwrap().is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `dao.create(&e).unwrap().is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/ancestor/replica.rs:177:24 [INFO] [stdout] | [INFO] [stdout] 177 | mtime: time as i64, [INFO] [stdout] | ^^^^^^^^^^^ help: try: `time` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/replica.rs:251:54 [INFO] [stdout] | [INFO] [stdout] 251 | ... hash.copy_from_slice(&*e.content); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&e.content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/ancestor/replica.rs:338:26 [INFO] [stdout] | [INFO] [stdout] 338 | let h = dir.mk_h(&*dao)?; [INFO] [stdout] | ^^^^^ help: try: `&dao` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | //! the whole thing. This is particularly important for things like mbox files [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 40 | //! the whole thing. This is particularly important for things like mbox files [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | //! (most edits occur at the very end), databases, and so forth. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 41 | //! (most edits occur at the very end), databases, and so forth. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | //! into memory. This way, we can SHA-3 sum the data, see whether the server [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 44 | //! into memory. This way, we can SHA-3 sum the data, see whether the server [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 45 | //! already has it, and if not, transfer it. Without splitting into blocks, we [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 45 | //! already has it, and if not, transfer it. Without splitting into blocks, we [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | //! would need to make a second pass through the data when transferring to the [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 46 | //! would need to make a second pass through the data when transferring to the [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | //! server, and this may yield a different SHA-3 sum in the case of concurrent [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 47 | //! server, and this may yield a different SHA-3 sum in the case of concurrent [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | //! edits. It would also put more load on the disk cache. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 48 | //! edits. It would also put more load on the disk cache. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | //! essentially sparse, as all the sparse areas will be backed by the same blob [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 51 | //! essentially sparse, as all the sparse areas will be backed by the same blob [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | //! on the server. For this benefit to occur on both sides, the client also [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 52 | //! on the server. For this benefit to occur on both sides, the client also [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | //! needs to check for all-zero blocks and extend the file rather than [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 53 | //! needs to check for all-zero blocks and extend the file rather than [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | //! explicitly writing them. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 54 | //! explicitly writing them. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/block_xfer.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | //! determine properties about the data based on blob sizes. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 57 | //! determine properties about the data based on blob sizes. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: slow zero-filling initialization [INFO] [stdout] --> src/block_xfer.rs:128:35 [INFO] [stdout] | [INFO] [stdout] 128 | let mut block_data: Vec = Vec::new(); [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 129 | | block_data.resize(block_size, 0); [INFO] [stdout] | |____________________________________^ help: consider replacing this with: `vec![0; block_size]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stdout] = note: `#[warn(clippy::slow_vector_initialization)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/block_xfer.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 235 - return Ok(()); [INFO] [stdout] 235 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/block_xfer.rs:296:26 [INFO] [stdout] | [INFO] [stdout] 296 | blocks_to_stream(&blocklist, &mut output, secret, |h| { [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `blocklist` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/config.rs:297:42 [INFO] [stdout] | [INFO] [stdout] 297 | sync_rules: SyncRules::parse(&rules, "rules") [INFO] [stdout] | ^^^^^^ help: change this to: `rules` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/config.rs:617:43 [INFO] [stdout] | [INFO] [stdout] 617 | super::parse_compression_name(&path, "off").unwrap() [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/config.rs:621:43 [INFO] [stdout] | [INFO] [stdout] 621 | super::parse_compression_name(&path, "none").unwrap() [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/config.rs:625:43 [INFO] [stdout] | [INFO] [stdout] 625 | super::parse_compression_name(&path, "default").unwrap() [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/config.rs:629:43 [INFO] [stdout] | [INFO] [stdout] 629 | super::parse_compression_name(&path, "on").unwrap() [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/config.rs:633:43 [INFO] [stdout] | [INFO] [stdout] 633 | super::parse_compression_name(&path, "fast").unwrap() [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/config.rs:637:43 [INFO] [stdout] | [INFO] [stdout] 637 | super::parse_compression_name(&path, "best").unwrap() [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/cli/open_server.rs:168:5 [INFO] [stdout] | [INFO] [stdout] 168 | / Ok(ServerReplica::new( [INFO] [stdout] 169 | | config.private_root.join("server-state.sqlite"), [INFO] [stdout] 170 | | key_chain, [INFO] [stdout] 171 | | storage, [INFO] [stdout] ... | [INFO] [stdout] 176 | | .chain_err(|| "Failed to set up server replica")?) [INFO] [stdout] | |______________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 168 ~ ServerReplica::new( [INFO] [stdout] 169 | config.private_root.join("server-state.sqlite"), [INFO] [stdout] ... [INFO] [stdout] 175 | ) [INFO] [stdout] 176 ~ .chain_err(|| "Failed to set up server replica") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/cli/cmd_keymgmt.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/cli/cmd_keymgmt.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/cli/cmd_manual.rs:51:13 [INFO] [stdout] | [INFO] [stdout] 51 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/cli/cmd_manual.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | if single.as_ref().map_or(false, |s| *s != name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 72 - if single.as_ref().map_or(false, |s| *s != name) { [INFO] [stdout] 72 + if single.as_ref().is_some_and(|s| *s != name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/cli/cmd_manual.rs:150:44 [INFO] [stdout] | [INFO] [stdout] 150 | target.as_ref().map_or("", |s| &*s) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 150 - target.as_ref().map_or("", |s| &*s) [INFO] [stdout] 150 + target.as_ref().map_or("", |s| s) [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 150 | target.as_ref().map_or("", |s| &**s) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/cli/cmd_manual.rs:161:14 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn mkdir<'a, S: Storage + ?Sized, IT: Iterator>>( [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] = note: `#[warn(clippy::extra_unused_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/cli/cmd_manual.rs:182:14 [INFO] [stdout] | [INFO] [stdout] 182 | pub fn rmdir<'a, S: Storage + ?Sized, IT: Iterator>>( [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/cli/cmd_manual.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 197 | pub fn cat<'a, S: Storage + ?Sized, IT: Iterator>>( [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/cli/cmd_manual.rs:215:22 [INFO] [stdout] | [INFO] [stdout] 215 | .filter(|&(ref name, _)| name == filename) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 215 - .filter(|&(ref name, _)| name == filename) [INFO] [stdout] 215 + .filter(|(name, _)| name == filename) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `single` after checking its variant with `is_some` [INFO] [stdout] --> src/cli/cmd_manual.rs:431:17 [INFO] [stdout] | [INFO] [stdout] 427 | if !found && single.is_some() { [INFO] [stdout] | ---------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 431 | single.unwrap().to_string_lossy() [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/cli/cmd_manual.rs:289:16 [INFO] [stdout] | [INFO] [stdout] 289 | if single.as_ref().map_or(false, |n| name != *n) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 289 - if single.as_ref().map_or(false, |n| name != *n) { [INFO] [stdout] 289 + if single.as_ref().is_some_and(|n| name != *n) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/cli/cmd_manual.rs:309:29 [INFO] [stdout] | [INFO] [stdout] 309 | / ... format!( [INFO] [stdout] 310 | | ... "Failed to create \ [INFO] [stdout] 311 | | ... temporary file" [INFO] [stdout] 312 | | ... ) [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 309 ~ "Failed to create \ [INFO] [stdout] 310 + temporary file".to_string() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/cmd_manual.rs:511:24 [INFO] [stdout] | [INFO] [stdout] 511 | .chdir(&dir, &name) [INFO] [stdout] | ^^^^ help: change this to: `dir` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/cli/cmd_manual.rs:515:38 [INFO] [stdout] | [INFO] [stdout] 515 | let dirit = fs::read_dir(&src).chain_err(|| { [INFO] [stdout] | ^^^^ help: change this to: `src` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this lifetime isn't used in the function definition [INFO] [stdout] --> src/cli/cmd_manual.rs:616:11 [INFO] [stdout] | [INFO] [stdout] 616 | pub fn rm<'a, S: Storage + ?Sized, IT: Iterator>>( [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/cli/cmd_manual.rs:673:22 [INFO] [stdout] | [INFO] [stdout] 673 | .filter(|&(ref n, _)| *n == name) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 673 - .filter(|&(ref n, _)| *n == name) [INFO] [stdout] 673 + .filter(|(n, _)| *n == name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cli/cmd_setup.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | return self.iter().next().is_none() || self.exists(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 51 - return self.iter().next().is_none() || self.exists(); [INFO] [stdout] 51 + self.iter().next().is_none() || self.exists() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/cli/cmd_setup.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | return self.iter().next().is_none() || self.is_dir(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 54 - return self.iter().next().is_none() || self.is_dir(); [INFO] [stdout] 54 + self.iter().next().is_none() || self.is_dir() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/cli/cmd_setup.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | if !config.parent().map_or(true, |p| p.exists2()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 93 - if !config.parent().map_or(true, |p| p.exists2()) { [INFO] [stdout] 93 + if !config.parent().is_none_or(|p| p.exists2()) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/cmd_setup.rs:128:26 [INFO] [stdout] | [INFO] [stdout] 128 | shell_escape(&host), [INFO] [stdout] | ^^^^^ help: change this to: `host` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/cli/cmd_setup.rs:133:18 [INFO] [stdout] | [INFO] [stdout] 133 | .arg(&host) [INFO] [stdout] | ^^^^^ help: change this to: `host` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/cmd_setup.rs:147:64 [INFO] [stdout] | [INFO] [stdout] 147 | format!("Failed to run `ssh {}`", shell_escape(&host)) [INFO] [stdout] | ^^^^^ help: change this to: `host` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/cmd_setup.rs:180:30 [INFO] [stdout] | [INFO] [stdout] 180 | shell_escape(&host), [INFO] [stdout] | ^^^^^ help: change this to: `host` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/cli/cmd_setup.rs:187:57 [INFO] [stdout] | [INFO] [stdout] 187 | command = format!("ssh -T {}", shell_escape(&host)); [INFO] [stdout] | ^^^^^ help: change this to: `host` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/cli/cmd_setup.rs:294:13 [INFO] [stdout] | [INFO] [stdout] 294 | / if !existing_roots.contains(&selected) { [INFO] [stdout] 295 | | if !ask(&format!( [INFO] [stdout] 296 | | "Root '{}' does not exist. Create it? ", [INFO] [stdout] 297 | | selected [INFO] [stdout] ... | [INFO] [stdout] 301 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 294 ~ if !existing_roots.contains(&selected) [INFO] [stdout] 295 ~ && !ask(&format!( [INFO] [stdout] 296 | "Root '{}' does not exist. Create it? ", [INFO] [stdout] ... [INFO] [stdout] 299 | continue; [INFO] [stdout] 300 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/cli/cmd_setup.rs:543:8 [INFO] [stdout] | [INFO] [stdout] 543 | if SHELL_IDENTITY == &is_ensync_shell { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `is_ensync_shell` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `FDD` contains a capitalized acronym [INFO] [stdout] --> src/cli/cmd_sync.rs:178:16 [INFO] [stdout] | [INFO] [stdout] 178 | struct FDD<'a>(&'a FileData); [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Fdd` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/cli/cmd_sync.rs:418:24 [INFO] [stdout] | [INFO] [stdout] 418 | || Path::new(path).parent().map_or(true, |p| { [INFO] [stdout] | ________________________^ [INFO] [stdout] 419 | | !self.recdel_directories.read().unwrap().contains(p) [INFO] [stdout] 420 | | }) [INFO] [stdout] | |______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 418 - || Path::new(path).parent().map_or(true, |p| { [INFO] [stdout] 418 + || Path::new(path).parent().is_none_or(|p| { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (15/7) [INFO] [stdout] --> src/cli/cmd_sync.rs:760:1 [INFO] [stdout] | [INFO] [stdout] 760 | / pub fn run( [INFO] [stdout] 761 | | config: &Config, [INFO] [stdout] 762 | | storage: Arc, [INFO] [stdout] 763 | | verbosity: i32, [INFO] [stdout] ... | [INFO] [stdout] 778 | | key_chain: &mut Option>, [INFO] [stdout] 779 | | ) -> Result<()> { [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this let-binding has unit value [INFO] [stdout] --> src/cli/cmd_sync.rs:1077:9 [INFO] [stdout] | [INFO] [stdout] 1077 | let _ = thread.join().expect("Child thread panicked"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stdout] = note: `#[warn(clippy::let_unit_value)]` on by default [INFO] [stdout] help: omit the `let` binding [INFO] [stdout] | [INFO] [stdout] 1077 - let _ = thread.join().expect("Child thread panicked"); [INFO] [stdout] 1077 + thread.join().expect("Child thread panicked"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/dry_run_replica.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | / dir.delegate [INFO] [stdout] 68 | | .as_ref() [INFO] [stdout] 69 | | .map_or(true, |d| self.0.is_dir_dirty(d)) [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 69 - .map_or(true, |d| self.0.is_dir_dirty(d)) [INFO] [stdout] 69 + .is_none_or(|d| self.0.is_dir_dirty(d)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded unit return type [INFO] [stdout] --> src/dry_run_replica.rs:199:35 [INFO] [stdout] | [INFO] [stdout] 199 | fn null_transfer(_: &FileData) -> () { [INFO] [stdout] | ^^^^^^ help: remove the `-> ()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: items after a test module [INFO] [stdout] --> src/log.rs:95:1 [INFO] [stdout] | [INFO] [stdout] 95 | mod println_logger { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub use self::println_logger::PrintlnLogger; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_test_module [INFO] [stdout] = note: `#[warn(clippy::items_after_test_module)]` on by default [INFO] [stdout] = help: move the items to before the test module was defined [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/memory_replica.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | / match entry { [INFO] [stdout] 118 | | &Entry::Directory(mode) => FileData::Directory(mode), [INFO] [stdout] 119 | | &Entry::Regular(reg) => { [INFO] [stdout] 120 | | FileData::Regular(reg.mode, reg.size, reg.modified, reg.hash) [INFO] [stdout] ... | [INFO] [stdout] 123 | | &Entry::Special => FileData::Special, [INFO] [stdout] 124 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] = note: `#[warn(clippy::match_ref_pats)]` on by default [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 117 ~ match *entry { [INFO] [stdout] 118 ~ Entry::Directory(mode) => FileData::Directory(mode), [INFO] [stdout] 119 ~ Entry::Regular(reg) => { [INFO] [stdout] 120 | FileData::Regular(reg.mode, reg.size, reg.modified, reg.hash) [INFO] [stdout] 121 | } [INFO] [stdout] 122 ~ Entry::Symlink(ref target) => FileData::Symlink(target.clone()), [INFO] [stdout] 123 ~ Entry::Special => FileData::Special, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/memory_replica.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | &Entry::Symlink(ref target) => FileData::Symlink(target.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 122 - &Entry::Symlink(ref target) => FileData::Symlink(target.clone()), [INFO] [stdout] 122 + Entry::Symlink(target) => FileData::Symlink(target.clone()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/memory_replica.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | / match fd { [INFO] [stdout] 143 | | &FileData::Directory(mode) => Ok(Entry::Directory(mode)), [INFO] [stdout] 144 | | &FileData::Regular(mode, size, modified, _) => { [INFO] [stdout] 145 | | let hash = xfer.ok_or(ErrorKind::MissingXfer)?; [INFO] [stdout] ... | [INFO] [stdout] 157 | | &FileData::Special => Ok(Entry::Special), [INFO] [stdout] 158 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 142 ~ match *fd { [INFO] [stdout] 143 ~ FileData::Directory(mode) => Ok(Entry::Directory(mode)), [INFO] [stdout] 144 ~ FileData::Regular(mode, size, modified, _) => { [INFO] [stdout] 145 | let hash = xfer.ok_or(ErrorKind::MissingXfer)?; [INFO] [stdout] ... [INFO] [stdout] 153 | } [INFO] [stdout] 154 ~ FileData::Symlink(ref target) => { [INFO] [stdout] 155 | Ok(Entry::Symlink(target.clone())) [INFO] [stdout] 156 | } [INFO] [stdout] 157 ~ FileData::Special => Ok(Entry::Special), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/memory_replica.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | &FileData::Symlink(ref target) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 154 - &FileData::Symlink(ref target) => { [INFO] [stdout] 154 + FileData::Symlink(target) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/memory_replica.rs:269:25 [INFO] [stdout] | [INFO] [stdout] 269 | for (_, val) in &mut contents.contents { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 269 - for (_, val) in &mut contents.contents { [INFO] [stdout] 269 + for val in contents.contents.values_mut() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/memory_replica.rs:278:25 [INFO] [stdout] | [INFO] [stdout] 278 | for (_, dir) in &mut d.dirs { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 278 - for (_, dir) in &mut d.dirs { [INFO] [stdout] 278 + for dir in d.dirs.values_mut() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/memory_replica.rs:300:9 [INFO] [stdout] | [INFO] [stdout] 300 | self.data().dirs.get(&dir.path).map_or(false, |d| !d.clean) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 300 - self.data().dirs.get(&dir.path).map_or(false, |d| !d.clean) [INFO] [stdout] 300 + self.data().dirs.get(&dir.path).is_some_and(|d| !d.clean) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/memory_replica.rs:395:30 [INFO] [stdout] | [INFO] [stdout] 395 | let is_dir = match data { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 396 | | Entry::Directory(_) => true, [INFO] [stdout] 397 | | _ => false, [INFO] [stdout] 398 | | }; [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 395 - let is_dir = match data { [INFO] [stdout] 396 - Entry::Directory(_) => true, [INFO] [stdout] 397 - _ => false, [INFO] [stdout] 398 - }; [INFO] [stdout] 395 + let is_dir = matches!(data, Entry::Directory(_)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/memory_replica.rs:444:16 [INFO] [stdout] | [INFO] [stdout] 444 | if contents [INFO] [stdout] | ________________^ [INFO] [stdout] 445 | | .contents [INFO] [stdout] 446 | | .get(target.0) [INFO] [stdout] 447 | | .map_or(false, |fd| target.1.matches(&fd.into())) [INFO] [stdout] | |_________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 447 - .map_or(false, |fd| target.1.matches(&fd.into())) [INFO] [stdout] 447 + .is_some_and(|fd| target.1.matches(&fd.into())) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/memory_replica.rs:517:51 [INFO] [stdout] | [INFO] [stdout] 517 | .insert(Entry::from_file_data(&source.1, xfer)?) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `source.1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/memory_replica.rs:647:22 [INFO] [stdout] | [INFO] [stdout] 647 | .filter(|&(ref n, _)| n == &name) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 647 - .filter(|&(ref n, _)| n == &name) [INFO] [stdout] 647 + .filter(|(n, _)| n == &name) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `is_condemned` doesn't need a mutable reference [INFO] [stdout] --> src/memory_replica.rs:1390:38 [INFO] [stdout] | [INFO] [stdout] 1390 | assert!(replica.is_condemned(&mut root, &oss("foo")).unwrap()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] = note: `#[warn(clippy::unnecessary_mut_passed)]` on by default [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1390 - assert!(replica.is_condemned(&mut root, &oss("foo")).unwrap()); [INFO] [stdout] 1390 + assert!(replica.is_condemned(&root, &oss("foo")).unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the method `is_condemned` doesn't need a mutable reference [INFO] [stdout] --> src/memory_replica.rs:1397:39 [INFO] [stdout] | [INFO] [stdout] 1397 | assert!(!replica.is_condemned(&mut root, &oss("foo")).unwrap()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1397 - assert!(!replica.is_condemned(&mut root, &oss("foo")).unwrap()); [INFO] [stdout] 1397 + assert!(!replica.is_condemned(&root, &oss("foo")).unwrap()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/dao.rs:41:29 [INFO] [stdout] | [INFO] [stdout] 41 | ret.copy_from_slice(&*v); [INFO] [stdout] | ^^^ help: try: `&v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/posix/dao.rs:250:25 [INFO] [stdout] | [INFO] [stdout] 250 | .binding(6, stat.mtime as i64) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `stat.mtime` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/posix/dao.rs:304:25 [INFO] [stdout] | [INFO] [stdout] 304 | .binding(4, stat.mtime as i64) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `stat.mtime` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/posix/dao.rs:430:25 [INFO] [stdout] | [INFO] [stdout] 430 | .binding(2, mtime as i64) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `mtime` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/posix/dir.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | &self.0.path.as_os_str() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.0.path.as_os_str()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> src/posix/dir.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | let m = mode as u32; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `mode` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/posix/dir.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 162 | if OsStr::new("/") != &s { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `s` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `hash` [INFO] [stdout] --> src/posix/dir.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | for i in 0..32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 205 - for i in 0..32 { [INFO] [stdout] 205 + for (i, ) in hash.iter().enumerate() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/posix/replica.rs:103:6 [INFO] [stdout] | [INFO] [stdout] 103 | impl<'a> OnDao for &'a Dao { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] = note: `#[warn(clippy::needless_lifetimes)]` on by default [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 103 - impl<'a> OnDao for &'a Dao { [INFO] [stdout] 103 + impl OnDao for &Dao { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:105:11 [INFO] [stdout] | [INFO] [stdout] 105 | f(*self) [INFO] [stdout] | ^^^^^ help: try: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/posix/replica.rs:109:6 [INFO] [stdout] | [INFO] [stdout] 109 | impl<'a> OnDao for &'a Mutex { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 109 - impl<'a> OnDao for &'a Mutex { [INFO] [stdout] 109 + impl OnDao for &Mutex { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:111:11 [INFO] [stdout] | [INFO] [stdout] 111 | f(&*self.lock().unwrap()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `&self.lock().unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/posix/replica.rs:311:16 [INFO] [stdout] | [INFO] [stdout] 311 | if OsStr::new(".") == &name || OsStr::new("..") == &name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/posix/replica.rs:311:44 [INFO] [stdout] | [INFO] [stdout] 311 | if OsStr::new(".") == &name || OsStr::new("..") == &name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:326:17 [INFO] [stdout] | [INFO] [stdout] 326 | &*self.config, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&self.config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | &*self.config, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&self.config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/posix/replica.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | return Ok(ret); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 434 - return Ok(ret); [INFO] [stdout] 434 + Ok(ret) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take` [INFO] [stdout] --> src/posix/replica.rs:623:21 [INFO] [stdout] | [INFO] [stdout] 623 | mem::replace(&mut watcher.dirty, HashSet::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut watcher.dirty)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default [INFO] [stdout] = note: `#[warn(clippy::mem_replace_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/posix/replica.rs:647:16 [INFO] [stdout] | [INFO] [stdout] 647 | if dir_filter.as_ref().map_or(false, |f| !f.contains(&path)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 647 - if dir_filter.as_ref().map_or(false, |f| !f.contains(&path)) { [INFO] [stdout] 647 + if dir_filter.as_ref().is_some_and(|f| !f.contains(&path)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/posix/replica.rs:657:24 [INFO] [stdout] | [INFO] [stdout] 657 | if OsStr::new(".") == &name || OsStr::new("..") == &name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> src/posix/replica.rs:657:52 [INFO] [stdout] | [INFO] [stdout] 657 | if OsStr::new(".") == &name || OsStr::new("..") == &name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:672:25 [INFO] [stdout] | [INFO] [stdout] 672 | &*self.config, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&self.config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/posix/replica.rs:697:13 [INFO] [stdout] | [INFO] [stdout] 697 | &self.config.root.as_os_str(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.config.root.as_os_str()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/posix/replica.rs:721:13 [INFO] [stdout] | [INFO] [stdout] 721 | / &private_dir.join("db.sqlite").to_str().ok_or_else(|| { [INFO] [stdout] 722 | | format!("Path '{}' is not valid UTF-8", private_dir.display()) [INFO] [stdout] 723 | | })?, [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 721 ~ private_dir.join("db.sqlite").to_str().ok_or_else(|| { [INFO] [stdout] 722 + format!("Path '{}' is not valid UTF-8", private_dir.display()) [INFO] [stdout] 723 ~ })?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::path::PathBuf` [INFO] [stdout] --> src/posix/replica.rs:779:37 [INFO] [stdout] | [INFO] [stdout] 779 | let mut path: PathBuf = self.config.private_dir.clone().into(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `self.config.private_dir.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/posix/replica.rs:830:25 [INFO] [stdout] | [INFO] [stdout] 830 | &new_path.as_os_str(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `new_path.as_os_str()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::path::PathBuf` [INFO] [stdout] --> src/posix/replica.rs:832:31 [INFO] [stdout] | [INFO] [stdout] 832 | return Ok(new_path.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: consider removing `.into()`: `new_path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/posix/replica.rs:902:43 [INFO] [stdout] | [INFO] [stdout] 902 | fs::rename(&scratch_path, &dir.child(source.0)).chain_err( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `dir.child(source.0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/posix/replica.rs:1198:13 [INFO] [stdout] | [INFO] [stdout] 1198 | &path, [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/posix/replica.rs:1199:28 [INFO] [stdout] | [INFO] [stdout] 1199 | &path_metadata(&path)?, [INFO] [stdout] | ^^^^^ help: change this to: `path` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/posix/replica.rs:1202:13 [INFO] [stdout] | [INFO] [stdout] 1202 | &*self.config, [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&self.config` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/posix/replica.rs:1215:16 [INFO] [stdout] | [INFO] [stdout] 1215 | if file [INFO] [stdout] | ________________^ [INFO] [stdout] 1216 | | .file_name() [INFO] [stdout] 1217 | | .to_str() [INFO] [stdout] 1218 | | .map_or(false, |name| name.starts_with("scratch")) [INFO] [stdout] | |__________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 1218 - .map_or(false, |name| name.starts_with("scratch")) [INFO] [stdout] 1218 + .is_some_and(|name| name.starts_with("scratch")) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless call to `as_bytes` [INFO] [stdout] --> src/posix/replica.rs:1538:24 [INFO] [stdout] | [INFO] [stdout] 1538 | assert_eq!("hello world".as_bytes().len() as FileSize, size); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: `len()` can be called directly on strings: `"hello world".len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_as_bytes [INFO] [stdout] = note: `#[warn(clippy::needless_as_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/posix/replica.rs:1591:43 [INFO] [stdout] | [INFO] [stdout] 1591 | } else if oss("fifo") == name { [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 1592 | | assert_eq!(FileData::Special, fd); [INFO] [stdout] 1593 | | } else if oss(PRIVATE_DIR_NAME) == name { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/posix/replica.rs:1593:53 [INFO] [stdout] | [INFO] [stdout] 1593 | } else if oss(PRIVATE_DIR_NAME) == name { [INFO] [stdout] | _____________________________________________________^ [INFO] [stdout] 1594 | | assert_eq!(FileData::Special, fd); [INFO] [stdout] 1595 | | } else { [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/posix/replica.rs:2376:16 [INFO] [stdout] | [INFO] [stdout] 2376 | if &oss("bar") == &name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 2376 - if &oss("bar") == &name { [INFO] [stdout] 2376 + if oss("bar") == name { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needlessly taken reference of both operands [INFO] [stdout] --> src/posix/replica.rs:2378:23 [INFO] [stdout] | [INFO] [stdout] 2378 | } else if &oss("baz") == &name { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 2378 - } else if &oss("baz") == &name { [INFO] [stdout] 2378 + } else if oss("baz") == name { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/reconcile/context.rs:66:13 [INFO] [stdout] | [INFO] [stdout] 66 | lock.next_id = lock.next_id + Wrapping(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock.next_id += Wrapping(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/reconcile/context.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | lock.next_id = lock.next_id + Wrapping(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lock.next_id += Wrapping(1)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant name ends with the enum's name [INFO] [stdout] --> src/reconcile/compute.rs:142:5 [INFO] [stdout] | [INFO] [stdout] 142 | NoConflict, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:300:34 [INFO] [stdout] | [INFO] [stdout] 300 | let server_wins = if a.map_or(false, |a| c.matches(a)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 300 - let server_wins = if a.map_or(false, |a| c.matches(a)) { [INFO] [stdout] 300 + let server_wins = if a.is_some_and(|a| c.matches(a)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:302:23 [INFO] [stdout] | [INFO] [stdout] 302 | } else if a.map_or(false, |a| s.matches(a)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 302 - } else if a.map_or(false, |a| s.matches(a)) { [INFO] [stdout] 302 + } else if a.is_some_and(|a| s.matches(a)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:334:19 [INFO] [stdout] | [INFO] [stdout] 334 | } else if a.map_or(false, |a| a.matches(c)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 334 - } else if a.map_or(false, |a| a.matches(c)) { [INFO] [stdout] 334 + } else if a.is_some_and(|a| a.matches(c)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:345:19 [INFO] [stdout] | [INFO] [stdout] 345 | } else if a.map_or(false, |a| a.matches(s)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 345 - } else if a.map_or(false, |a| a.matches(s)) { [INFO] [stdout] 345 + } else if a.is_some_and(|a| a.matches(s)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:356:19 [INFO] [stdout] | [INFO] [stdout] 356 | } else if a [INFO] [stdout] | ___________________^ [INFO] [stdout] 357 | | .map_or(false, |a| a.matches_content(c) && a.matches_content(s)) [INFO] [stdout] | |____________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 357 - .map_or(false, |a| a.matches_content(c) && a.matches_content(s)) [INFO] [stdout] 357 + .is_some_and(|a| a.matches_content(c) && a.matches_content(s)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:371:19 [INFO] [stdout] | [INFO] [stdout] 371 | } else if a.map_or(false, |a| a.matches_content(c)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 371 - } else if a.map_or(false, |a| a.matches_content(c)) { [INFO] [stdout] 371 + } else if a.is_some_and(|a| a.matches_content(c)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/reconcile/compute.rs:382:19 [INFO] [stdout] | [INFO] [stdout] 382 | } else if a.map_or(false, |a| a.matches_content(s)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 382 - } else if a.map_or(false, |a| a.matches_content(s)) { [INFO] [stdout] 382 + } else if a.is_some_and(|a| a.matches_content(s)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/reconcile/compute.rs:572:30 [INFO] [stdout] | [INFO] [stdout] 572 | Use(side) if Client == side => (), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] = note: `#[warn(clippy::redundant_guards)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 572 - Use(side) if Client == side => (), [INFO] [stdout] 572 + Use(Client) => (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/reconcile/compute.rs:573:35 [INFO] [stdout] | [INFO] [stdout] 573 | Split(side, _) if Server == side => (), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 573 - Split(side, _) if Server == side => (), [INFO] [stdout] 573 + Split(Server, _) => (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/reconcile/compute.rs:589:30 [INFO] [stdout] | [INFO] [stdout] 589 | Use(side) if Server == side => (), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 589 - Use(side) if Server == side => (), [INFO] [stdout] 589 + Use(Server) => (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/reconcile/compute.rs:590:35 [INFO] [stdout] | [INFO] [stdout] 590 | Split(side, _) if Client == side => (), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 590 - Split(side, _) if Client == side => (), [INFO] [stdout] 590 + Split(Client, _) => (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/reconcile/compute.rs:612:30 [INFO] [stdout] | [INFO] [stdout] 612 | Use(side) if Client == side => (), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 612 - Use(side) if Client == side => (), [INFO] [stdout] 612 + Use(Client) => (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant guard [INFO] [stdout] --> src/reconcile/compute.rs:613:35 [INFO] [stdout] | [INFO] [stdout] 613 | Split(side, _) if Server == side => (), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_guards [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 613 - Split(side, _) if Server == side => (), [INFO] [stdout] 613 + Split(Server, _) => (), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/reconcile/mutate.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | / files [INFO] [stdout] 83 | | .insert(name.to_owned(), newfd.clone()) [INFO] [stdout] 84 | | .map(|_| panic!("Inserted ancestor already in table?")); [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] = note: `#[warn(clippy::option_map_unit_fn)]` on by default [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 82 ~ if let Some(_) = files [INFO] [stdout] 83 + .insert(name.to_owned(), newfd.clone()) { panic!("Inserted ancestor already in table?") } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/reconcile/mutate.rs:124:1 [INFO] [stdout] | [INFO] [stdout] 124 | / fn try_replace_ancestor( [INFO] [stdout] 125 | | replica: &A, [INFO] [stdout] 126 | | in_dir: &mut A::Directory, [INFO] [stdout] 127 | | files: &mut BTreeMap, [INFO] [stdout] ... | [INFO] [stdout] 132 | | log: &LOG, [INFO] [stdout] 133 | | ) -> bool { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (11/7) [INFO] [stdout] --> src/reconcile/mutate.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | / fn replace_replica< [INFO] [stdout] 163 | | DST: Replica, [INFO] [stdout] 164 | | SRC: Replica, [INFO] [stdout] 165 | | LOG: Logger, [INFO] [stdout] ... | [INFO] [stdout] 177 | | side: ReplicaSide, [INFO] [stdout] 178 | | ) -> Result> { [INFO] [stdout] | |_____________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/reconcile/mutate.rs:253:21 [INFO] [stdout] | [INFO] [stdout] 253 | / dst_files [INFO] [stdout] 254 | | .insert(name.to_owned(), r.clone()) [INFO] [stdout] 255 | | .map(|_| panic!("Inserted file already in table?")); [INFO] [stdout] | |___________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 253 ~ if let Some(_) = dst_files [INFO] [stdout] 254 + .insert(name.to_owned(), r.clone()) { panic!("Inserted file already in table?") } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/reconcile/mutate.rs:283:1 [INFO] [stdout] | [INFO] [stdout] 283 | / fn try_rename_replica( [INFO] [stdout] 284 | | replica: &A, [INFO] [stdout] 285 | | dir: &mut A::Directory, [INFO] [stdout] 286 | | files: &mut BTreeMap, [INFO] [stdout] ... | [INFO] [stdout] 291 | | side: ReplicaSide, [INFO] [stdout] 292 | | ) -> bool { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (14/7) [INFO] [stdout] --> src/reconcile/mutate.rs:334:1 [INFO] [stdout] | [INFO] [stdout] 334 | / fn apply_use< [INFO] [stdout] 335 | | DST: Replica, [INFO] [stdout] 336 | | ANC: Replica + NullTransfer, [INFO] [stdout] 337 | | SRC: Replica, [INFO] [stdout] ... | [INFO] [stdout] 353 | | side: ReconciliationSide, [INFO] [stdout] 354 | | ) -> result::Result>, ApplyResult> { [INFO] [stdout] | |__________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/reconcile/mutate.rs:405:23 [INFO] [stdout] | [INFO] [stdout] 405 | Err(_) => return Err(ApplyResult::Fail), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 405 - Err(_) => return Err(ApplyResult::Fail), [INFO] [stdout] 405 + Err(_) => Err(ApplyResult::Fail), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `PrintlnLogger` which implements the `Copy` trait [INFO] [stdout] --> src/reconcile/mutate.rs:747:31 [INFO] [stdout] | [INFO] [stdout] 747 | log: Box::new(self.logger.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.logger` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `replace_replica` doesn't need a mutable reference [INFO] [stdout] --> src/reconcile/mutate.rs:1058:17 [INFO] [stdout] | [INFO] [stdout] 1058 | &mut src_root, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 1058 - &mut src_root, [INFO] [stdout] 1058 + &src_root, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/reconcile/tree_walk.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | rb.as_mut().map(|r| r.contains(File(&name, &value))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stdout] help: use `if let` instead [INFO] [stdout] | [INFO] [stdout] 203 - rb.as_mut().map(|r| r.contains(File(&name, &value))); [INFO] [stdout] 203 + if let Some(r) = rb.as_mut() { r.contains(File(&name, &value)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/reconcile/tree_walk.rs:487:25 [INFO] [stdout] | [INFO] [stdout] 487 | / if subdirstate.success.load(SeqCst) { [INFO] [stdout] 488 | | if !on_success(this, dir, &subdirstate) { [INFO] [stdout] 489 | | subdirstate [INFO] [stdout] 490 | | .fail("recurse_and_then on_success failed"); [INFO] [stdout] 491 | | } [INFO] [stdout] 492 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 487 ~ if subdirstate.success.load(SeqCst) [INFO] [stdout] 488 ~ && !on_success(this, dir, &subdirstate) { [INFO] [stdout] 489 | subdirstate [INFO] [stdout] 490 | .fail("recurse_and_then on_success failed"); [INFO] [stdout] 491 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/reconcile/tree_walk.rs:577:5 [INFO] [stdout] | [INFO] [stdout] 577 | / fn recursive_delete( [INFO] [stdout] 578 | | &self, [INFO] [stdout] 579 | | dir: &mut ::Dir, [INFO] [stdout] 580 | | parent_name: &OsStr, [INFO] [stdout] ... | [INFO] [stdout] 585 | | mode: FileMode, [INFO] [stdout] 586 | | ) { [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/reconcile/tree_walk.rs:587:9 [INFO] [stdout] | [INFO] [stdout] 587 | / fn chdir_or_synth( [INFO] [stdout] 588 | | r: &R, [INFO] [stdout] 589 | | dir: &mut R::Directory, [INFO] [stdout] 590 | | this_side: ReconciliationSide, [INFO] [stdout] ... | [INFO] [stdout] 595 | | mode: FileMode, [INFO] [stdout] 596 | | ) -> Option { [INFO] [stdout] | |_________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/reconcile/tree_walk.rs:852:22 [INFO] [stdout] | [INFO] [stdout] 852 | populate_dir(&replica, &mut replica.root().unwrap(), fs, &slot); [INFO] [stdout] | ^^^^^^^^ help: change this to: `replica` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: consider using `sort_by_key` [INFO] [stdout] --> src/reconcile/tree_walk.rs:945:13 [INFO] [stdout] | [INFO] [stdout] 945 | contents.sort_by(|&(ref a, _), &(ref b, _)| a.cmp(b)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 945 - contents.sort_by(|&(ref a, _), &(ref b, _)| a.cmp(b)); [INFO] [stdout] 945 + contents.sort_by_key(|&(ref a, _)| a); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/reconcile/tree_walk.rs:945:31 [INFO] [stdout] | [INFO] [stdout] 945 | contents.sort_by(|&(ref a, _), &(ref b, _)| a.cmp(b)); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 945 - contents.sort_by(|&(ref a, _), &(ref b, _)| a.cmp(b)); [INFO] [stdout] 945 + contents.sort_by(|(a, _), &(ref b, _)| a.cmp(b)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/reconcile/tree_walk.rs:945:44 [INFO] [stdout] | [INFO] [stdout] 945 | contents.sort_by(|&(ref a, _), &(ref b, _)| a.cmp(b)); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 945 - contents.sort_by(|&(ref a, _), &(ref b, _)| a.cmp(b)); [INFO] [stdout] 945 + contents.sort_by(|&(ref a, _), (b, _)| a.cmp(b)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/reconcile/tree_walk.rs:965:25 [INFO] [stdout] | [INFO] [stdout] 965 | dst.push_str(")"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `dst.push(')')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/reconcile/tree_walk.rs:1015:10 [INFO] [stdout] | [INFO] [stdout] 1015 | impl<'a> IntoRules for &'a str { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 1015 - impl<'a> IntoRules for &'a str { [INFO] [stdout] 1015 + impl IntoRules for &str { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the following explicit lifetimes could be elided: 'a [INFO] [stdout] --> src/reconcile/tree_walk.rs:1020:10 [INFO] [stdout] | [INFO] [stdout] 1020 | impl<'a> IntoRules for (&'a str, bool) { [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stdout] help: elide the lifetimes [INFO] [stdout] | [INFO] [stdout] 1020 - impl<'a> IntoRules for (&'a str, bool) { [INFO] [stdout] 1020 + impl IntoRules for (&str, bool) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/reconcile/tree_walk.rs:1483:9 [INFO] [stdout] | [INFO] [stdout] 1483 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1483 - return true; [INFO] [stdout] 1483 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/reconcile/tree_walk.rs:1502:31 [INFO] [stdout] | [INFO] [stdout] 1502 | let mut fx = init(&fs); [INFO] [stdout] | ^^^ help: change this to: `fs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/reconcile/tree_walk.rs:1587:31 [INFO] [stdout] | [INFO] [stdout] 1587 | let mut fx = init(&fs); [INFO] [stdout] | ^^^ help: change this to: `fs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/reconcile/tree_walk.rs:1590:64 [INFO] [stdout] | [INFO] [stdout] 1590 | let (orig_files_max, orig_files_min) = files_in_fs(&fs); [INFO] [stdout] | ^^^ help: change this to: `fs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/reconcile/tree_walk.rs:1620:48 [INFO] [stdout] | [INFO] [stdout] 1620 | let orig_cli_sig = signature(&init(&fs).client); [INFO] [stdout] | ^^^ help: change this to: `fs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/reconcile/tree_walk.rs:1622:31 [INFO] [stdout] | [INFO] [stdout] 1622 | let mut fx = init(&fs); [INFO] [stdout] | ^^^ help: change this to: `fs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/replica.rs:285:1 [INFO] [stdout] | [INFO] [stdout] 285 | / impl Default for WatchStatus { [INFO] [stdout] 286 | | fn default() -> WatchStatus { [INFO] [stdout] 287 | | WatchStatus { [INFO] [stdout] 288 | | dirty: false, [INFO] [stdout] ... | [INFO] [stdout] 292 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 280 + #[derive(Default)] [INFO] [stdout] 281 | struct WatchStatus { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/rules/defs.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | / impl Default for SyncModeSetting { [INFO] [stdout] 37 | | fn default() -> Self { [INFO] [stdout] 38 | | SyncModeSetting::Off [INFO] [stdout] 39 | | } [INFO] [stdout] 40 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 25 + #[derive(Default)] [INFO] [stdout] 26 | pub enum SyncModeSetting { [INFO] [stdout] 27 | /// This type of propagation shall not happen. [INFO] [stdout] 28 ~ #[default] [INFO] [stdout] 29 ~ Off, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/rules/engine.rs:74:33 [INFO] [stdout] | [INFO] [stdout] 74 | rx.is_match(&*target.to_string_lossy()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&target.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rules/engine.rs:484:25 [INFO] [stdout] | [INFO] [stdout] 484 | &state_indices, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `state_indices` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/rules/engine.rs:490:25 [INFO] [stdout] | [INFO] [stdout] 490 | &state_indices, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `state_indices` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you don't need to add `&` to all patterns [INFO] [stdout] --> src/rules/engine.rs:559:5 [INFO] [stdout] | [INFO] [stdout] 559 | / match val { [INFO] [stdout] 560 | | &toml::Value::String(_) => { [INFO] [stdout] 561 | | Ok(vec![parse_state_ref(val, &loc, state_indices)?]) [INFO] [stdout] ... | [INFO] [stdout] 570 | | _ => Err(Error::WrongType(loc, "string-or-array")), [INFO] [stdout] 571 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stdout] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stdout] | [INFO] [stdout] 559 ~ match *val { [INFO] [stdout] 560 ~ toml::Value::String(_) => { [INFO] [stdout] 561 | Ok(vec![parse_state_ref(val, &loc, state_indices)?]) [INFO] [stdout] 562 | } [INFO] [stdout] 563 ~ toml::Value::Array(ref elts) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/rules/engine.rs:563:9 [INFO] [stdout] | [INFO] [stdout] 563 | &toml::Value::Array(ref elts) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 563 - &toml::Value::Array(ref elts) => { [INFO] [stdout] 563 + toml::Value::Array(elts) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/rules/engine.rs:705:28 [INFO] [stdout] | [INFO] [stdout] 705 | new_state.push_dir(&*name); [INFO] [stdout] | ^^^^^^ help: try: `&name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/rules/engine.rs:713:52 [INFO] [stdout] | [INFO] [stdout] 713 | |r| self.rules.rules[r].matches(&path, &*name, file.1), [INFO] [stdout] | ^^^^^^ help: try: `&name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/rules/engine.rs:883:17 [INFO] [stdout] | [INFO] [stdout] 883 | &Action::Include(ref included), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 883 - &Action::Include(ref included), [INFO] [stdout] 883 + Action::Include(included), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/rules/engine.rs:902:14 [INFO] [stdout] | [INFO] [stdout] 902 | (&Action::Include(ref included), &Action::Stop(stop)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 902 - (&Action::Include(ref included), &Action::Stop(stop)) => { [INFO] [stdout] 902 + (Action::Include(included), &Action::Stop(stop)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | //! Permitting the "write-but-not-read" model would thus require using [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 31 | //! Permitting the "write-but-not-read" model would thus require using [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | //! different keys for directories and files. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 32 | //! different keys for directories and files. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | //! key(s). There would be no easy way to change what keys had access to the [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 35 | //! key(s). There would be no easy way to change what keys had access to the [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | //! server store. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 36 | //! server store. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | //! passphrase with the stored parameters. Ignore entries not supported. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 94 | //! passphrase with the stored parameters. Ignore entries not supported. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 97 | //! next entry. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 97 | //! next entry. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 100 | //! key name and the derived key, then XOR it with the internal key diff. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 100 | //! key name and the derived key, then XOR it with the internal key diff. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:140:5 [INFO] [stdout] | [INFO] [stdout] 140 | //! clients that do the same thing would use the same key. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 140 | //! clients that do the same thing would use the same key. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:143:5 [INFO] [stdout] | [INFO] [stdout] 143 | //! object. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 143 | //! object. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | //! bytes as the IV. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 151 | //! bytes as the IV. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:156:5 [INFO] [stdout] | [INFO] [stdout] 156 | //! the server cannot derive the encryption keys. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 156 | //! the server cannot derive the encryption keys. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/crypt.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 181 | //! IV equal to the two halves of the directory id XORed with each other. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 181 | //! IV equal to the two halves of the directory id XORed with each other. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/server/crypt.rs:442:5 [INFO] [stdout] | [INFO] [stdout] 442 | return derived; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 442 - return derived; [INFO] [stdout] 442 + derived [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/crypt.rs:440:32 [INFO] [stdout] | [INFO] [stdout] 440 | scrypt::scrypt(passphrase, &salt, &sparms, &mut derived); [INFO] [stdout] | ^^^^^ help: change this to: `salt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: iterating on a map's values [INFO] [stdout] --> src/server/crypt.rs:558:5 [INFO] [stdout] | [INFO] [stdout] 558 | / keys.iter() [INFO] [stdout] 559 | | .filter_map(|(_, k)| try_derive_key_single(passphrase, k)) [INFO] [stdout] | |__________________________________________________________________^ help: try: `keys.values().filter_map(|k| try_derive_key_single(passphrase, k))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_kv_map [INFO] [stdout] = note: `#[warn(clippy::iter_kv_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `RefReadBuffer::new` doesn't need a mutable reference [INFO] [stdout] --> src/server/crypt.rs:642:50 [INFO] [stdout] | [INFO] [stdout] 642 | let mut srcrbuf = RefReadBuffer::new(&mut src_buf[..nread]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 642 - let mut srcrbuf = RefReadBuffer::new(&mut src_buf[..nread]); [INFO] [stdout] 642 + let mut srcrbuf = RefReadBuffer::new(&src_buf[..nread]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `ix` is only used to index `cleartext` [INFO] [stdout] --> src/server/crypt.rs:856:15 [INFO] [stdout] | [INFO] [stdout] 856 | for ix in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 856 - for ix in 0..8 { [INFO] [stdout] 856 + for in cleartext.iter_mut().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `ix` is used to index `cleartext` [INFO] [stdout] --> src/server/crypt.rs:908:15 [INFO] [stdout] | [INFO] [stdout] 908 | for ix in 0..8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 908 - for ix in 0..8 { [INFO] [stdout] 908 + for (ix, ) in cleartext.iter().enumerate().take(8) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/dir.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | //! bytes (including this integer, but not including the HMAC). [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 50 | //! bytes (including this integer, but not including the HMAC). [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/dir.rs:52:5 [INFO] [stdout] | [INFO] [stdout] 52 | //! is a `[v0::EntryPair]`. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 52 | //! is a `[v0::EntryPair]`. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/dir.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | //! blocks. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 54 | //! blocks. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/dir.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | //! padding at the end. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 59 | //! padding at the end. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/dir.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | //! UNKNOWN_HASH. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 61 | //! UNKNOWN_HASH. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/server/dir.rs:84:5 [INFO] [stdout] | [INFO] [stdout] 84 | use std::usize; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:330:39 [INFO] [stdout] | [INFO] [stdout] 330 | config: parent.config.sub(&*name.to_string_lossy())?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&name.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:355:22 [INFO] [stdout] | [INFO] [stdout] 355 | .sub(&*name.to_string_lossy()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&name.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/dir.rs:436:33 [INFO] [stdout] | [INFO] [stdout] 436 | if test(&name, mode, &id)? => [INFO] [stdout] | ^^^^^ help: change this to: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:453:45 [INFO] [stdout] | [INFO] [stdout] 453 | config: self.config.sub(&*name.to_string_lossy())?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&name.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:496:34 [INFO] [stdout] | [INFO] [stdout] 496 | self.save_latest_dir_ver(&mut *content)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&mut content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a struct pattern where every field's pattern takes a reference [INFO] [stdout] --> src/server/dir.rs:551:30 [INFO] [stdout] | [INFO] [stdout] 551 | Some(&v0::Entry::Symlink { ref target, .. }) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 551 - Some(&v0::Entry::Symlink { ref target, .. }) => { [INFO] [stdout] 551 + Some(v0::Entry::Symlink { target, .. }) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/server/dir.rs:566:33 [INFO] [stdout] | [INFO] [stdout] 566 | ... for &(ref id, ref linkid) in blocks { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 566 - for &(ref id, ref linkid) in blocks { [INFO] [stdout] 566 + for (id, linkid) in blocks { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/server/dir.rs:619:26 [INFO] [stdout] | [INFO] [stdout] 619 | Some(&FileData::Symlink(ref target)) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 619 - Some(&FileData::Symlink(ref target)) => { [INFO] [stdout] 619 + Some(FileData::Symlink(target)) => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/dir.rs:621:37 [INFO] [stdout] | [INFO] [stdout] 621 | ... target: target.clone().into_vec().into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `target.clone().into_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/dir.rs:640:51 [INFO] [stdout] | [INFO] [stdout] 640 | ... &xform_obj_id(&blockid), [INFO] [stdout] | ^^^^^^^^ help: change this to: `blockid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/dir.rs:644:45 [INFO] [stdout] | [INFO] [stdout] 644 | ... tx, &blockid, &linkid, block_data, [INFO] [stdout] | ^^^^^^^^ help: change this to: `blockid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:668:34 [INFO] [stdout] | [INFO] [stdout] 668 | self.save_latest_dir_ver(&mut *content)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&mut content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/dir.rs:686:13 [INFO] [stdout] | [INFO] [stdout] 686 | &linkid, [INFO] [stdout] | ^^^^^^^ help: change this to: `linkid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:708:26 [INFO] [stdout] | [INFO] [stdout] 708 | .sub(&*old.to_string_lossy()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&old.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:710:50 [INFO] [stdout] | [INFO] [stdout] 710 | let new_config = self.config.sub(&*new.to_string_lossy())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&new.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:728:34 [INFO] [stdout] | [INFO] [stdout] 728 | self.save_latest_dir_ver(&mut *content)?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `&mut content` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> src/server/dir.rs:973:25 [INFO] [stdout] | [INFO] [stdout] 973 | let len_bytes = ((data[0] as usize) << 0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider reducing it to: `((data[0] as usize))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/server/dir.rs:977:26 [INFO] [stdout] | [INFO] [stdout] 977 | let len_blocks = (len_bytes + BLKSZ - 1) / BLKSZ; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `len_bytes.div_ceil(BLKSZ)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_div_ceil [INFO] [stdout] = note: `#[warn(clippy::manual_div_ceil)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/dir.rs:1076:34 [INFO] [stdout] | [INFO] [stdout] 1076 | content.apply_entry((name.into_vec().into(), entry)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `name.into_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/dir.rs:1080:34 [INFO] [stdout] | [INFO] [stdout] 1080 | content.apply_entry((name.into_vec().into(), entry)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `name.into_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/server/dir.rs:1204:15 [INFO] [stdout] | [INFO] [stdout] 1204 | while dst.len() % BLKSZ != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!dst.len().is_multiple_of(BLKSZ)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:1223:37 [INFO] [stdout] | [INFO] [stdout] 1223 | config: self.config.sub(&*name.to_string_lossy())?, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&name.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/server/dir.rs:1244:31 [INFO] [stdout] | [INFO] [stdout] 1244 | parent.config.sub(&*name.to_string_lossy())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&name.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/dir.rs:1285:39 [INFO] [stdout] | [INFO] [stdout] 1285 | let name = OsString::from_vec(entry.0.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider removing `.into()`: `entry.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/keymgmt.rs:107:29 [INFO] [stdout] | [INFO] [stdout] 107 | &secret_dir_ver(&old_ver, key), [INFO] [stdout] | ^^^^^^^^ help: change this to: `old_ver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/server/keymgmt.rs:396:27 [INFO] [stdout] | [INFO] [stdout] 396 | for (_, e) in &kdflist.keys { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 396 - for (_, e) in &kdflist.keys { [INFO] [stdout] 396 + for e in kdflist.keys.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/server/keymgmt.rs:406:23 [INFO] [stdout] | [INFO] [stdout] 406 | for (_, e) in &mut kdflist.keys { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 406 - for (_, e) in &mut kdflist.keys { [INFO] [stdout] 406 + for e in kdflist.keys.values_mut() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `reassoc_keys` doesn't need a mutable reference [INFO] [stdout] --> src/server/keymgmt.rs:415:33 [INFO] [stdout] | [INFO] [stdout] 415 | reassoc_keys(e, &mut key_chain); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 415 - reassoc_keys(e, &mut key_chain); [INFO] [stdout] 415 + reassoc_keys(e, &key_chain); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/server/keymgmt.rs:446:23 [INFO] [stdout] | [INFO] [stdout] 446 | for (_, e) in &mut kdflist.keys { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 446 - for (_, e) in &mut kdflist.keys { [INFO] [stdout] 446 + for e in kdflist.keys.values_mut() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the function `reassoc_keys` doesn't need a mutable reference [INFO] [stdout] --> src/server/keymgmt.rs:464:33 [INFO] [stdout] | [INFO] [stdout] 464 | reassoc_keys(e, &mut key_chain); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stdout] help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] 464 - reassoc_keys(e, &mut key_chain); [INFO] [stdout] 464 + reassoc_keys(e, &key_chain); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/server/keymgmt.rs:980:45 [INFO] [stdout] | [INFO] [stdout] 980 | del_key(&storage, "original", || Ok((&b"hunter3"[..]).to_owned())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `b"hunter3"[..]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/server/keymgmt.rs:1170:16 [INFO] [stdout] | [INFO] [stdout] 1170 | Ok((&b"hunter3"[..]).to_owned()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `b"hunter3"[..]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression borrows a value the compiler would automatically borrow [INFO] [stdout] --> src/server/keymgmt.rs:1215:16 [INFO] [stdout] | [INFO] [stdout] 1215 | Ok((&b"hunter2"[..]).to_owned()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: change this to: `b"hunter2"[..]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/server/local_storage.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use std::u32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u32::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/local_storage.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | /// file is also used to ascertain whether a directory is in fact a server [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 50 | /// file is also used to ascertain whether a directory is in fact a server [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/local_storage.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | /// root. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 51 | /// root. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/local_storage.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | /// files are created here and immediately deleted or populated then moved into [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 54 | /// files are created here and immediately deleted or populated then moved into [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/local_storage.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | /// place. It is always safe to indiscriminately wipe the contents of `tmp`, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 55 | /// place. It is always safe to indiscriminately wipe the contents of `tmp`, [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/local_storage.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | /// but it may interrupt active syncing processes. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 56 | /// but it may interrupt active syncing processes. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/server/local_storage.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | watch_list: Option>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/local_storage.rs:281:57 [INFO] [stdout] | [INFO] [stdout] 281 | match tmpfile.persist(self.dir_path(&id, &ver)) { [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/local_storage.rs:281:62 [INFO] [stdout] | [INFO] [stdout] 281 | match tmpfile.persist(self.dir_path(&id, &ver)) { [INFO] [stdout] | ^^^^ help: change this to: `ver` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/local_storage.rs:323:45 [INFO] [stdout] | [INFO] [stdout] 323 | .open(self.dir_path(&id, &ver))?; [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/local_storage.rs:381:49 [INFO] [stdout] | [INFO] [stdout] 381 | let objpath = self.obj_path(&id); [INFO] [stdout] | ^^^ help: change this to: `id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server/storage_tests.rs:497:35 [INFO] [stdout] | [INFO] [stdout] 497 | let storage2 = create_storage(&dir.path()); [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `dir.path()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/server/replica.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use std::u32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `u32::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: replacing a value of type `T` with `T::default()` is better expressed using `std::mem::take` [INFO] [stdout] --> src/server/replica.rs:317:18 [INFO] [stdout] | [INFO] [stdout] 317 | Some(mem::replace(&mut ws.lock().unwrap().dirty, HashSet::new())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::mem::take(&mut ws.lock().unwrap().dirty)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mem_replace_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/server/replica.rs:347:16 [INFO] [stdout] | [INFO] [stdout] 347 | if dir_filter.as_ref().map_or(false, |d| !d.contains(id)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 347 - if dir_filter.as_ref().map_or(false, |d| !d.contains(id)) { [INFO] [stdout] 347 + if dir_filter.as_ref().is_some_and(|d| !d.contains(id)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/rpc.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | /// returns `FatalError` indicating the problem and terminates. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 48 | /// returns `FatalError` indicating the problem and terminates. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/rpc.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 51 | /// with that major version and the latest minor version of that major [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 51 | /// with that major version and the latest minor version of that major [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/rpc.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | /// version it supports. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 52 | /// version it supports. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/rpc.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | /// with the greatest (major,minor) version it supports. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 55 | /// with the greatest (major,minor) version it supports. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/rpc.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | /// by the server. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 58 | /// by the server. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let .. else` expression looks like `matches!` macro [INFO] [stdout] --> src/server/rpc.rs:520:29 [INFO] [stdout] | [INFO] [stdout] 520 | let fatal = if let Response::FatalError(_) = response { [INFO] [stdout] | _____________________________^ [INFO] [stdout] 521 | | true [INFO] [stdout] 522 | | } else { [INFO] [stdout] 523 | | false [INFO] [stdout] 524 | | }; [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 520 - let fatal = if let Response::FatalError(_) = response { [INFO] [stdout] 521 - true [INFO] [stdout] 522 - } else { [INFO] [stdout] 523 - false [INFO] [stdout] 524 - }; [INFO] [stdout] 520 + let fatal = matches!(response, Response::FatalError(_)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/server/rpc.rs:718:16 [INFO] [stdout] | [INFO] [stdout] 718 | watch_fun: Arc) + Send>>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/server/rpc.rs:768:24 [INFO] [stdout] | [INFO] [stdout] 768 | let watch_fun: Arc< [INFO] [stdout] | ________________________^ [INFO] [stdout] 769 | | Mutex) + Send>>>, [INFO] [stdout] 770 | | > = Arc::new(Mutex::new(None)); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/server/rpc.rs:856:37 [INFO] [stdout] | [INFO] [stdout] 856 | self.send_sync_request(req, |r| recv(r)) [INFO] [stdout] | ^^^^^^^^^^^ help: replace the closure with the function itself: `recv` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/rpc.rs:900:29 [INFO] [stdout] | [INFO] [stdout] 900 | Ok(Some((v, data.into()))), [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::vec::Vec` [INFO] [stdout] --> src/server/rpc.rs:909:48 [INFO] [stdout] | [INFO] [stdout] 909 | Response::ObjData(data) => Ok(Some(data.into())), [INFO] [stdout] | ^^^^^^^^^^^ help: consider removing `.into()`: `data` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | /// all the information needed for `Replica::list`. The server permits fetching [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 30 | /// all the information needed for `Replica::list`. The server permits fetching [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | /// a prefix from every directory, and appending new bytes to the end of the [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 31 | /// a prefix from every directory, and appending new bytes to the end of the [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | /// directory. Concurrent modifications on a directory are handled by testing [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 32 | /// directory. Concurrent modifications on a directory are handled by testing [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | /// the length of the directory as well as a "version id" regenerated each time [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 33 | /// the length of the directory as well as a "version id" regenerated each time [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | /// the directory is rewritten. Note that the version id has additional [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 34 | /// the directory is rewritten. Note that the version id has additional [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | /// semantics at the higher layer to detect revert attacks. There is also a [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 35 | /// semantics at the higher layer to detect revert attacks. There is also a [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | /// "secret version id" which is specified when the directory is created; write [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 36 | /// "secret version id" which is specified when the directory is created; write [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | /// operations to a directory specify the secret version, whereas read [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 37 | /// operations to a directory specify the secret version, whereas read [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | /// operations only return the normal version. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 38 | /// operations only return the normal version. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | /// HMAC. The server has no way to determine itself whether a block is in use; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 41 | /// HMAC. The server has no way to determine itself whether a block is in use; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/server/storage.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | /// instead, the client works with the server to maintain a reference count. [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 42 | /// instead, the client works with the server to maintain a reference count. [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/server/storage.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | f: Box) + Send>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/main.rs:934:12 [INFO] [stdout] | [INFO] [stdout] 934 | if args.next().map_or(false, |arg0| arg0.starts_with("-")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 934 - if args.next().map_or(false, |arg0| arg0.starts_with("-")) { [INFO] [stdout] 934 + if args.next().is_some_and(|arg0| arg0.starts_with("-")) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/main.rs:939:12 [INFO] [stdout] | [INFO] [stdout] 939 | if args.next().map_or(false, |arg1| "-c" == &arg1) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 939 - if args.next().map_or(false, |arg1| "-c" == &arg1) { [INFO] [stdout] 939 + if args.next().is_some_and(|arg1| "-c" == &arg1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used with `bool::then` [INFO] [stdout] --> src/main.rs:1120:21 [INFO] [stdout] | [INFO] [stdout] 1120 | sc.watch.then(|| sc.quiescence), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `then_some` instead [INFO] [stdout] | [INFO] [stdout] 1120 - sc.watch.then(|| sc.quiescence), [INFO] [stdout] 1120 + sc.watch.then_some(sc.quiescence), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ancestor/replica.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | fn as_entry(&self, dir: i64) -> FileEntry; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 165 | fn as_entry(&self, dir: i64) -> FileEntry<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ancestor/replica.rs:169:17 [INFO] [stdout] | [INFO] [stdout] 169 | fn as_entry(&self, dir: i64) -> FileEntry { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 169 | fn as_entry(&self, dir: i64) -> FileEntry<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ancestor/replica.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | fn as_entry(&self, dir: i64) -> FileEntry { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 206 | fn as_entry(&self, dir: i64) -> FileEntry<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/memory_replica.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn data(&self) -> MutexGuard { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 239 | pub fn data(&self) -> MutexGuard<'_, MemoryReplicaImpl> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/posix/dao.rs:98:28 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn iter_clean_dirs(&self) -> Result { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 98 | pub fn iter_clean_dirs(&self) -> Result> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.84s [INFO] running `Command { std: "docker" "inspect" "ba76623f7d86a0848c7b06c4e88b9536b757eb7f51ec048dc2567f4870ee93b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba76623f7d86a0848c7b06c4e88b9536b757eb7f51ec048dc2567f4870ee93b8", kill_on_drop: false }` [INFO] [stdout] ba76623f7d86a0848c7b06c4e88b9536b757eb7f51ec048dc2567f4870ee93b8