[INFO] fetching crate sos-server-storage 0.17.4... [INFO] linting sos-server-storage-0.17.4 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate sos-server-storage 0.17.4 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate sos-server-storage 0.17.4 [INFO] finished tweaking crates.io crate sos-server-storage 0.17.4 [INFO] tweaked toml for crates.io crate sos-server-storage 0.17.4 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate sos-server-storage 0.17.4 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 crates.io crate sos-server-storage 0.17.4 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 wasm-bindgen v0.2.103 [INFO] [stderr] Downloaded async-recursion v1.1.1 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.103 [INFO] [stderr] Downloaded js-sys v0.3.80 [INFO] [stderr] Downloaded serde v1.0.226 [INFO] [stderr] Downloaded cfg_eval v0.1.2 [INFO] [stderr] Downloaded totp-rs v5.7.0 [INFO] [stderr] Downloaded urn v0.7.0 [INFO] [stderr] Downloaded tinystr v0.8.1 [INFO] [stderr] Downloaded arc-swap v1.7.1 [INFO] [stderr] Downloaded bytemuck v1.23.2 [INFO] [stderr] Downloaded chacha20poly1305 v0.10.1 [INFO] [stderr] Downloaded xml-rs v0.8.27 [INFO] [stderr] Downloaded sql_query_builder v2.5.2 [INFO] [stderr] Downloaded windows_i686_msvc v0.32.0 [INFO] [stderr] Downloaded intl-memoizer v0.5.3 [INFO] [stderr] Downloaded windows_i686_gnu v0.32.0 [INFO] [stderr] Downloaded png v0.18.0 [INFO] [stderr] Downloaded logos v0.15.1 [INFO] [stderr] Downloaded tokio-util v0.7.16 [INFO] [stderr] Downloaded hkdf v0.12.4 [INFO] [stderr] Downloaded phf_codegen v0.11.3 [INFO] [stderr] Downloaded windows_aarch64_msvc v0.32.0 [INFO] [stderr] Downloaded deranged v0.5.3 [INFO] [stderr] Downloaded moxcms v0.7.5 [INFO] [stderr] Downloaded serde_core v1.0.226 [INFO] [stderr] Downloaded darling_macro v0.21.3 [INFO] [stderr] Downloaded serde-xml-rs v0.5.1 [INFO] [stderr] Downloaded icu_normalizer_data v2.0.0 [INFO] [stderr] Downloaded writeable v0.6.1 [INFO] [stderr] Downloaded zerotrie v0.2.2 [INFO] [stderr] Downloaded serde_with_macros v3.14.1 [INFO] [stderr] Downloaded addr2line v0.24.2 [INFO] [stderr] Downloaded backtrace v0.3.75 [INFO] [stderr] Downloaded time v0.3.44 [INFO] [stderr] Downloaded thiserror v2.0.16 [INFO] [stderr] Downloaded etcetera v0.8.0 [INFO] [stderr] Downloaded litemap v0.8.0 [INFO] [stderr] Downloaded logos-derive v0.15.1 [INFO] [stderr] Downloaded ref-cast v1.0.24 [INFO] [stderr] Downloaded balloon-hash v0.4.0 [INFO] [stderr] Downloaded icu_locale_core v2.0.0 [INFO] [stderr] Downloaded icu_properties v2.0.1 [INFO] [stderr] Downloaded protoc-bin-vendored v3.2.0 [INFO] [stderr] Downloaded sos-external-files v0.17.1 [INFO] [stderr] Downloaded async-fd-lock v0.2.0 [INFO] [stderr] Downloaded proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Downloaded aes-gcm v0.10.3 [INFO] [stderr] Downloaded qrcodegen-image v1.5.0 [INFO] [stderr] Downloaded aes v0.8.4 [INFO] [stderr] Downloaded prost-derive v0.13.5 [INFO] [stderr] Downloaded secrecy v0.10.3 [INFO] [stderr] Downloaded qrcodegen v1.8.0 [INFO] [stderr] Downloaded ref-cast-impl v1.0.24 [INFO] [stderr] Downloaded i18n-embed-impl v0.8.4 [INFO] [stderr] Downloaded x25519-dalek v2.0.1 [INFO] [stderr] Downloaded libc v0.2.175 [INFO] [stderr] Downloaded refinery-macros v0.8.16 [INFO] [stderr] Downloaded self_cell v1.2.0 [INFO] [stderr] Downloaded age-core v0.11.0 [INFO] [stderr] Downloaded universal-hash v0.5.1 [INFO] [stderr] Downloaded fluent-langneg v0.13.0 [INFO] [stderr] Downloaded unic-langid-impl v0.9.6 [INFO] [stderr] Downloaded pin-project v1.1.10 [INFO] [stderr] Downloaded thiserror-impl v2.0.16 [INFO] [stderr] Downloaded serde_derive v1.0.226 [INFO] [stderr] Downloaded sos-audit v0.17.1 [INFO] [stderr] Downloaded i18n-embed v0.15.4 [INFO] [stderr] Downloaded password-hash v0.5.0 [INFO] [stderr] Downloaded find-msvc-tools v0.1.2 [INFO] [stderr] Downloaded home v0.5.11 [INFO] [stderr] Downloaded icu_provider v2.0.0 [INFO] [stderr] Downloaded image v0.25.8 [INFO] [stderr] Downloaded rs_merkle v1.5.0 [INFO] [stderr] Downloaded schemars v1.0.4 [INFO] [stderr] Downloaded typeshare-annotation v1.0.4 [INFO] [stderr] Downloaded mime_guess v2.0.5 [INFO] [stderr] Downloaded logos-codegen v0.15.1 [INFO] [stderr] Downloaded rust-embed v8.7.2 [INFO] [stderr] Downloaded vcard4 v0.7.2 [INFO] [stderr] Downloaded icu_properties_data v2.0.1 [INFO] [stderr] Downloaded windows_x86_64_gnu v0.32.0 [INFO] [stderr] Downloaded sos-signer v0.17.2 [INFO] [stderr] Downloaded simd-adler32 v0.3.7 [INFO] [stderr] Downloaded potential_utf v0.1.3 [INFO] [stderr] Downloaded windows-sys v0.32.0 [INFO] [stderr] Downloaded windows_x86_64_msvc v0.32.0 [INFO] [stderr] Downloaded prost-build v0.13.5 [INFO] [stderr] Downloaded chacha20 v0.9.1 [INFO] [stderr] Downloaded linux-raw-sys v0.11.0 [INFO] [stderr] Downloaded refinery-core v0.8.16 [INFO] [stderr] Downloaded sos-backend v0.17.2 [INFO] [stderr] Downloaded protoc-bin-vendored-linux-aarch_64 v3.2.0 [INFO] [stderr] Downloaded protoc-bin-vendored-linux-x86_32 v3.2.0 [INFO] [stderr] Downloaded io_tee v0.1.1 [INFO] [stderr] Downloaded cookie-factory v0.3.3 [INFO] [stderr] Downloaded sos-sync v0.17.3 [INFO] [stderr] Downloaded polyval v0.6.2 [INFO] [stderr] Downloaded i18n-embed-fl v0.9.4 [INFO] [stderr] Downloaded multimap v0.10.1 [INFO] [stderr] Downloaded async-sqlite v0.4.0 [INFO] [stderr] Downloaded binary-stream v10.0.0 [INFO] [stderr] Downloaded http v1.3.1 [INFO] [stderr] Downloaded ghash v0.5.1 [INFO] [stderr] Downloaded intl_pluralrules v7.0.2 [INFO] [stderr] Downloaded self_cell v0.10.3 [INFO] [stderr] Downloaded fluent v0.16.1 [INFO] [stderr] Downloaded fluent-syntax v0.11.1 [INFO] [stderr] Downloaded basic-toml v0.1.10 [INFO] [stderr] Downloaded prost v0.13.5 [INFO] [stderr] Downloaded i18n-config v0.4.8 [INFO] [stderr] Downloaded find-crate v0.6.3 [INFO] [stderr] Downloaded sos-filesystem v0.17.1 [INFO] [stderr] Downloaded unic-langid v0.9.6 [INFO] [stderr] Downloaded salsa20 v0.10.2 [INFO] [stderr] Downloaded sos-protocol v0.17.1 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.103 [INFO] [stderr] Downloaded rustix v1.1.2 [INFO] [stderr] Downloaded yoke-derive v0.8.0 [INFO] [stderr] Downloaded type-map v0.5.1 [INFO] [stderr] Downloaded argon2 v0.5.3 [INFO] [stderr] Downloaded poly1305 v0.8.0 [INFO] [stderr] Downloaded rust-embed-impl v8.7.2 [INFO] [stderr] Downloaded scrypt v0.11.0 [INFO] [stderr] Downloaded refinery v0.8.16 [INFO] [stderr] Downloaded age v0.11.1 [INFO] [stderr] Downloaded sos-database v0.17.1 [INFO] [stderr] Downloaded windows-sys v0.61.0 [INFO] [stderr] Downloaded pem v3.0.5 [INFO] [stderr] Downloaded language-tags v0.3.2 [INFO] [stderr] Downloaded num_threads v0.1.7 [INFO] [stderr] Downloaded parse-zoneinfo v0.3.1 [INFO] [stderr] Downloaded icu_collections v2.0.0 [INFO] [stderr] Downloaded byteorder-lite v0.1.0 [INFO] [stderr] Downloaded yoke v0.8.0 [INFO] [stderr] Downloaded object v0.36.7 [INFO] [stderr] Downloaded unicase v2.8.1 [INFO] [stderr] Downloaded zerovec-derive v0.11.1 [INFO] [stderr] Downloaded windows-result v0.4.0 [INFO] [stderr] Downloaded typeshare v1.0.4 [INFO] [stderr] Downloaded darling_core v0.21.3 [INFO] [stderr] Downloaded time-core v0.1.6 [INFO] [stderr] Downloaded flate2 v1.1.2 [INFO] [stderr] Downloaded sos-vfs v0.3.2 [INFO] [stderr] Downloaded icu_normalizer v2.0.0 [INFO] [stderr] Downloaded sos-vault v0.17.4 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.103 [INFO] [stderr] Downloaded base32 v0.5.1 [INFO] [stderr] Downloaded windows-strings v0.5.0 [INFO] [stderr] Downloaded sos-core v0.17.3 [INFO] [stderr] Downloaded urlencoding v2.1.3 [INFO] [stderr] Downloaded constant_time_eq v0.3.1 [INFO] [stderr] Downloaded protoc-bin-vendored-macos-x86_64 v3.2.0 [INFO] [stderr] Downloaded windows-core v0.62.0 [INFO] [stderr] Downloaded pin-project-internal v1.1.10 [INFO] [stderr] Downloaded proc-macro-error2 v2.0.1 [INFO] [stderr] Downloaded rust-embed-utils v8.7.2 [INFO] [stderr] Downloaded serde_with v3.14.1 [INFO] [stderr] Downloaded sos-reducers v0.17.1 [INFO] [stderr] Downloaded prost-types v0.13.5 [INFO] [stderr] Downloaded base64ct v1.8.0 [INFO] [stderr] Downloaded fluent-bundle v0.15.3 [INFO] [stderr] Downloaded regex-syntax v0.8.6 [INFO] [stderr] Downloaded zerovec v0.11.4 [INFO] [stderr] Downloaded cc v1.2.38 [INFO] [stderr] Downloaded regex-automata v0.4.10 [INFO] [stderr] Downloaded pxfm v0.1.24 [INFO] [stderr] Downloaded tokio-stream v0.1.17 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.103 [INFO] [stderr] Downloaded bytes v1.10.1 [INFO] [stderr] Downloaded darling v0.21.3 [INFO] [stderr] Downloaded time-macros v0.2.24 [INFO] [stderr] Downloaded regex v1.11.2 [INFO] [stderr] Downloaded time-tz v2.0.0 [INFO] [stderr] Downloaded protoc-bin-vendored-win32 v3.2.0 [INFO] [stderr] Downloaded protoc-bin-vendored-linux-ppcle_64 v3.2.0 [INFO] [stderr] Downloaded tempfile v3.22.0 [INFO] [stderr] Downloaded protoc-bin-vendored-macos-aarch_64 v3.2.0 [INFO] [stderr] Downloaded protoc-bin-vendored-linux-s390_64 v3.2.0 [INFO] [stderr] Downloaded protoc-bin-vendored-linux-x86_64 v3.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 96713a520dc8aeef8434b5c01253a21f657741411866dab44171e19a449644fc [INFO] running `Command { std: "docker" "start" "-a" "96713a520dc8aeef8434b5c01253a21f657741411866dab44171e19a449644fc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "96713a520dc8aeef8434b5c01253a21f657741411866dab44171e19a449644fc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "96713a520dc8aeef8434b5c01253a21f657741411866dab44171e19a449644fc", kill_on_drop: false }` [INFO] [stdout] 96713a520dc8aeef8434b5c01253a21f657741411866dab44171e19a449644fc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] a2be145c4aac20ddcf55638c4385b6105e86e6ca86684224eadbf85eeddf160d [INFO] running `Command { std: "docker" "start" "-a" "a2be145c4aac20ddcf55638c4385b6105e86e6ca86684224eadbf85eeddf160d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling serde_core v1.0.226 [INFO] [stderr] Compiling serde v1.0.226 [INFO] [stderr] Checking const-oid v0.9.6 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking cpufeatures v0.2.17 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling cfg-if v1.0.3 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking litemap v0.8.0 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Checking writeable v0.6.1 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking slab v0.4.11 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Compiling siphasher v1.0.1 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling type-map v0.5.1 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling self_cell v1.2.0 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Compiling self_cell v0.10.3 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling time-macros v0.2.24 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Checking percent-encoding v2.3.2 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling rust-embed-utils v8.7.2 [INFO] [stderr] Checking form_urlencoded v1.2.2 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Compiling xml-rs v0.8.27 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Checking ff v0.13.1 [INFO] [stderr] Compiling logos-codegen v0.15.1 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Checking hashbrown v0.16.0 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking base16ct v0.2.0 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Compiling arc-swap v1.7.1 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Checking base64ct v1.8.0 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking group v0.13.0 [INFO] [stderr] Checking pxfm v0.1.24 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Compiling binary-stream v10.0.0 [INFO] [stderr] Checking indexmap v2.11.4 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking io_tee v0.1.1 [INFO] [stderr] Compiling beef v0.5.2 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Checking iana-time-zone v0.1.64 [INFO] [stderr] Compiling find-msvc-tools v0.1.2 [INFO] [stderr] Compiling cc v1.2.38 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Compiling sos-core v0.17.3 [INFO] [stderr] Checking home v0.5.11 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking bytemuck v1.23.2 [INFO] [stderr] Checking bech32 v0.9.1 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Checking etcetera v0.8.0 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Compiling sos-signer v0.17.2 [INFO] [stderr] Checking qrcodegen v1.8.0 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Checking bs58 v0.4.0 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking uriparse v0.6.4 [INFO] [stderr] Compiling sos-vault v0.17.4 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Checking base32 v0.5.1 [INFO] [stderr] Checking constant_time_eq v0.3.1 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Checking moxcms v0.7.5 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Compiling deranged v0.5.3 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling sos-reducers v0.17.1 [INFO] [stderr] Compiling sos-external-files v0.17.1 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Compiling parse-zoneinfo v0.3.1 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling sos-filesystem v0.17.1 [INFO] [stderr] Compiling sos-database v0.17.1 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Compiling fixedbitset v0.5.7 [INFO] [stderr] Compiling sos-backend v0.17.2 [INFO] [stderr] Compiling protoc-bin-vendored-linux-x86_32 v3.2.0 [INFO] [stderr] Compiling multimap v0.10.1 [INFO] [stderr] Compiling protoc-bin-vendored-macos-aarch_64 v3.2.0 [INFO] [stderr] Compiling protoc-bin-vendored-linux-s390_64 v3.2.0 [INFO] [stderr] Compiling protoc-bin-vendored-linux-aarch_64 v3.2.0 [INFO] [stderr] Compiling protoc-bin-vendored-win32 v3.2.0 [INFO] [stderr] Checking sql_query_builder v2.5.2 [INFO] [stderr] Compiling protoc-bin-vendored-macos-x86_64 v3.2.0 [INFO] [stderr] Compiling protoc-bin-vendored-linux-ppcle_64 v3.2.0 [INFO] [stderr] Compiling serde_derive v1.0.226 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling rust-embed-impl v8.7.2 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Checking der v0.7.10 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking tokio v1.47.1 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking crypto-bigint v0.5.5 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Compiling rust-embed v8.7.2 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling serde_with_macros v3.14.1 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Checking sec1 v0.7.3 [INFO] [stderr] Compiling zerovec v0.11.4 [INFO] [stderr] Compiling fluent-syntax v0.11.1 [INFO] [stderr] Checking pbkdf2 v0.12.2 [INFO] [stderr] Checking pkcs8 v0.10.2 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking salsa20 v0.10.2 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Checking elliptic-curve v0.13.8 [INFO] [stderr] Checking rfc6979 v0.4.0 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking scrypt v0.11.0 [INFO] [stderr] Compiling typeshare-annotation v1.0.4 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Checking balloon-hash v0.4.0 [INFO] [stderr] Checking ecdsa v0.16.9 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Checking rs_merkle v1.5.0 [INFO] [stderr] Compiling logos-derive v0.15.1 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling cfg_eval v0.1.2 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Compiling prost-derive v0.13.5 [INFO] [stderr] Checking x25519-dalek v2.0.1 [INFO] [stderr] Checking k256 v0.13.4 [INFO] [stderr] Checking ed25519-dalek v2.2.0 [INFO] [stderr] Compiling tinystr v0.8.1 [INFO] [stderr] Compiling potential_utf v0.1.3 [INFO] [stderr] Checking logos v0.15.1 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling icu_locale_core v2.0.0 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Checking unic-langid-impl v0.9.6 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Compiling tempfile v3.22.0 [INFO] [stderr] Compiling petgraph v0.7.1 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking unic-langid v0.9.6 [INFO] [stderr] Checking cookie-factory v0.3.3 [INFO] [stderr] Checking intl-memoizer v0.5.3 [INFO] [stderr] Checking fluent-langneg v0.13.0 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling basic-toml v0.1.10 [INFO] [stderr] Compiling intl_pluralrules v7.0.2 [INFO] [stderr] Compiling serde-xml-rs v0.5.1 [INFO] [stderr] Compiling icu_provider v2.0.0 [INFO] [stderr] Checking secrecy v0.10.3 [INFO] [stderr] Checking fluent-bundle v0.15.3 [INFO] [stderr] Checking png v0.18.0 [INFO] [stderr] Checking age-core v0.11.0 [INFO] [stderr] Checking serde_with v3.14.1 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling i18n-config v0.4.8 [INFO] [stderr] Compiling time-tz v2.0.0 [INFO] [stderr] Checking image v0.25.8 [INFO] [stderr] Checking fluent v0.16.1 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Checking sos-vfs v0.3.2 [INFO] [stderr] Compiling find-crate v0.6.3 [INFO] [stderr] Checking uuid v1.18.1 [INFO] [stderr] Checking pem v3.0.5 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking typeshare v1.0.4 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking urn v0.7.0 [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Checking tokio-util v0.7.16 [INFO] [stderr] Compiling protoc-bin-vendored-linux-x86_64 v3.2.0 [INFO] [stderr] Compiling sos-sync v0.17.3 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling i18n-embed-impl v0.8.4 [INFO] [stderr] Compiling protoc-bin-vendored v3.2.0 [INFO] [stderr] Checking http v1.3.1 [INFO] [stderr] Compiling sos-server-storage v0.17.4 (/opt/rustwide/workdir) [INFO] [stderr] Compiling prost v0.13.5 [INFO] [stderr] Compiling i18n-embed v0.15.4 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling prost-types v0.13.5 [INFO] [stderr] Checking qrcodegen-image v1.5.0 [INFO] [stderr] Compiling i18n-embed-fl v0.9.4 [INFO] [stderr] Compiling prost-build v0.13.5 [INFO] [stderr] Checking totp-rs v5.7.0 [INFO] [stderr] Compiling refinery-core v0.8.16 [INFO] [stderr] Checking async-fd-lock v0.2.0 [INFO] [stderr] Checking age v0.11.1 [INFO] [stderr] Checking vcard4 v0.7.2 [INFO] [stderr] Compiling refinery-macros v0.8.16 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Compiling sos-protocol v0.17.1 [INFO] [stderr] Checking rusqlite v0.32.1 [INFO] [stderr] Checking async-sqlite v0.4.0 [INFO] [stderr] Checking refinery v0.8.16 [INFO] [stdout] warning: unused imports: `AccountEvent` and `encode` [INFO] [stdout] --> src/database.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | encode, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | AccountEvent, EventLog, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AccountEvent` [INFO] [stdout] --> src/filesystem.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | AccountEvent, EventLog, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AccountEvent` and `encode` [INFO] [stdout] --> src/database.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | encode, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | AccountEvent, EventLog, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AccountEvent` [INFO] [stdout] --> src/filesystem.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | AccountEvent, EventLog, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exists` [INFO] [stdout] --> src/database.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | let exists = self.folders.get(id).is_some(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_exists` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exists` [INFO] [stdout] --> src/database.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | let exists = self.folders.get(id).is_some(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_exists` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exists` [INFO] [stdout] --> src/filesystem.rs:367:13 [INFO] [stdout] | [INFO] [stdout] 367 | let exists = self.folders.get(id).is_some(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_exists` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exists` [INFO] [stdout] --> src/filesystem.rs:367:13 [INFO] [stdout] | [INFO] [stdout] 367 | let exists = self.folders.get(id).is_some(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_exists` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/error.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / pub enum Error { [INFO] [stdout] 8 | | /// Error generated when a directory is expected. [INFO] [stdout] 9 | | #[error("path '{0}' is not a directory")] [INFO] [stdout] 10 | | NotDirectory(PathBuf), [INFO] [stdout] ... | [INFO] [stdout] 36 | | Backend(#[from] sos_backend::Error), [INFO] [stdout] | | ----------------------------------- the second-largest variant contains at least 120 bytes [INFO] [stdout] ... | [INFO] [stdout] 48 | | Protocol(#[from] sos_protocol::Error), [INFO] [stdout] | | ------------------------------------- the largest variant contains at least 1008 bytes [INFO] [stdout] ... | [INFO] [stdout] 68 | | Io(#[from] std::io::Error), [INFO] [stdout] 69 | | } [INFO] [stdout] | |_^ the entire enum is at least 1008 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 48 - Protocol(#[from] sos_protocol::Error), [INFO] [stdout] 48 + Protocol(#[from] Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> src/database.rs:92:28 [INFO] [stdout] | [INFO] [stdout] 92 | return Err(Error::NotDirectory( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 93 | | paths.documents_dir().to_path_buf(), [INFO] [stdout] 94 | | ) [INFO] [stdout] 95 | | .into()); [INFO] [stdout] | |_______________________^ [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] help: consider removing `.into()` [INFO] [stdout] | [INFO] [stdout] 92 ~ return Err(Error::NotDirectory( [INFO] [stdout] 93 + paths.documents_dir().to_path_buf(), [INFO] [stdout] 94 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/database.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | Ok(account.find_one(&account_id)?) [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] 239 - Ok(account.find_one(&account_id)?) [INFO] [stdout] 239 + account.find_one(&account_id) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i64` which implements the `Copy` trait [INFO] [stdout] --> src/database.rs:276:26 [INFO] [stdout] | [INFO] [stdout] 276 | let account_id = self.account_row_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.account_row_id` [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: using `clone` on type `i64` which implements the `Copy` trait [INFO] [stdout] --> src/database.rs:291:26 [INFO] [stdout] | [INFO] [stdout] 291 | let account_id = self.account_row_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.account_row_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/database.rs:314:17 [INFO] [stdout] | [INFO] [stdout] 314 | Ok(folder.update_folder(&identity_id, &identity_row)?) [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] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 314 - Ok(folder.update_folder(&identity_id, &identity_row)?) [INFO] [stdout] 314 + folder.update_folder(&identity_id, &identity_row) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/database.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | &vault, [INFO] [stdout] | ^^^^^^ help: change this to: `vault` [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/database.rs:360:38 [INFO] [stdout] | [INFO] [stdout] 360 | event_log.replace_all_events(&diff).await?; [INFO] [stdout] | ^^^^^ help: change this to: `diff` [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/database.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 448 | / Ok::<_, sos_database::Error>( [INFO] [stdout] 449 | | folders.list_user_folders(account_id)?, [INFO] [stdout] 450 | | ) [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] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 448 - Ok::<_, sos_database::Error>( [INFO] [stdout] 449 - folders.list_user_folders(account_id)?, [INFO] [stdout] 450 - ) [INFO] [stdout] 448 + folders.list_user_folders(account_id) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(summary.id()).is_none()` [INFO] [stdout] --> src/database.rs:464:29 [INFO] [stdout] | [INFO] [stdout] 464 | if self.folders.get(summary.id()).is_none() { [INFO] [stdout] | -------------^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!self.folders.contains_key(summary.id())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] = note: `#[warn(clippy::unnecessary_get_then_check)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(id).is_some()` [INFO] [stdout] --> src/database.rs:477:35 [INFO] [stdout] | [INFO] [stdout] 477 | let exists = self.folders.get(id).is_some(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> src/database.rs:484:17 [INFO] [stdout] | [INFO] [stdout] 484 | Error::VaultIdentifierMismatch(*id, *vault.id()).into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `Error::VaultIdentifierMismatch(*id, *vault.id())` [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: using `clone` on type `AccountId` which implements the `Copy` trait [INFO] [stdout] --> src/database.rs:573:26 [INFO] [stdout] | [INFO] [stdout] 573 | let account_id = self.account_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.account_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/error.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | / pub enum Error { [INFO] [stdout] 8 | | /// Error generated when a directory is expected. [INFO] [stdout] 9 | | #[error("path '{0}' is not a directory")] [INFO] [stdout] 10 | | NotDirectory(PathBuf), [INFO] [stdout] ... | [INFO] [stdout] 36 | | Backend(#[from] sos_backend::Error), [INFO] [stdout] | | ----------------------------------- the second-largest variant contains at least 120 bytes [INFO] [stdout] ... | [INFO] [stdout] 48 | | Protocol(#[from] sos_protocol::Error), [INFO] [stdout] | | ------------------------------------- the largest variant contains at least 1008 bytes [INFO] [stdout] ... | [INFO] [stdout] 68 | | Io(#[from] std::io::Error), [INFO] [stdout] 69 | | } [INFO] [stdout] | |_^ the entire enum is at least 1008 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 48 - Protocol(#[from] sos_protocol::Error), [INFO] [stdout] 48 + Protocol(#[from] Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/database.rs:622:21 [INFO] [stdout] | [INFO] [stdout] 622 | Ok(folder.find_one(&id)?) [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] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 622 - Ok(folder.find_one(&id)?) [INFO] [stdout] 622 + folder.find_one(&id) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> src/filesystem.rs:83:24 [INFO] [stdout] | [INFO] [stdout] 83 | return Err(Error::NotDirectory( [INFO] [stdout] | ________________________^ [INFO] [stdout] 84 | | paths.documents_dir().to_path_buf(), [INFO] [stdout] 85 | | ) [INFO] [stdout] 86 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing `.into()` [INFO] [stdout] | [INFO] [stdout] 83 ~ return Err(Error::NotDirectory( [INFO] [stdout] 84 + paths.documents_dir().to_path_buf(), [INFO] [stdout] 85 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> src/database.rs:92:28 [INFO] [stdout] | [INFO] [stdout] 92 | return Err(Error::NotDirectory( [INFO] [stdout] | ____________________________^ [INFO] [stdout] 93 | | paths.documents_dir().to_path_buf(), [INFO] [stdout] 94 | | ) [INFO] [stdout] 95 | | .into()); [INFO] [stdout] | |_______________________^ [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] help: consider removing `.into()` [INFO] [stdout] | [INFO] [stdout] 92 ~ return Err(Error::NotDirectory( [INFO] [stdout] 93 + paths.documents_dir().to_path_buf(), [INFO] [stdout] 94 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/filesystem.rs:271:38 [INFO] [stdout] | [INFO] [stdout] 271 | event_log.replace_all_events(&diff).await?; [INFO] [stdout] | ^^^^^ help: change this to: `diff` [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: unnecessary use of `get(summary.id()).is_none()` [INFO] [stdout] --> src/filesystem.rs:355:29 [INFO] [stdout] | [INFO] [stdout] 355 | if self.folders.get(summary.id()).is_none() { [INFO] [stdout] | -------------^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!self.folders.contains_key(summary.id())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary use of `get(id).is_some()` [INFO] [stdout] --> src/filesystem.rs:367:35 [INFO] [stdout] | [INFO] [stdout] 367 | let exists = self.folders.get(id).is_some(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/database.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | Ok(account.find_one(&account_id)?) [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] 239 - Ok(account.find_one(&account_id)?) [INFO] [stdout] 239 + account.find_one(&account_id) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> src/filesystem.rs:374:17 [INFO] [stdout] | [INFO] [stdout] 374 | Error::VaultIdentifierMismatch(*id, *vault.id()).into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `Error::VaultIdentifierMismatch(*id, *vault.id())` [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: using `clone` on type `i64` which implements the `Copy` trait [INFO] [stdout] --> src/database.rs:276:26 [INFO] [stdout] | [INFO] [stdout] 276 | let account_id = self.account_row_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.account_row_id` [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: using `clone` on type `i64` which implements the `Copy` trait [INFO] [stdout] --> src/database.rs:291:26 [INFO] [stdout] | [INFO] [stdout] 291 | let account_id = self.account_row_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.account_row_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/database.rs:314:17 [INFO] [stdout] | [INFO] [stdout] 314 | Ok(folder.update_folder(&identity_id, &identity_row)?) [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] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 314 - Ok(folder.update_folder(&identity_id, &identity_row)?) [INFO] [stdout] 314 + folder.update_folder(&identity_id, &identity_row) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/database.rs:343:13 [INFO] [stdout] | [INFO] [stdout] 343 | &vault, [INFO] [stdout] | ^^^^^^ help: change this to: `vault` [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/database.rs:360:38 [INFO] [stdout] | [INFO] [stdout] 360 | event_log.replace_all_events(&diff).await?; [INFO] [stdout] | ^^^^^ help: change this to: `diff` [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_helpers.rs:97:22 [INFO] [stdout] | [INFO] [stdout] 97 | diff_log(&req, &*event_log).await [INFO] [stdout] | ^^^^ help: change this to: `req` [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_helpers.rs:102:22 [INFO] [stdout] | [INFO] [stdout] 102 | diff_log(&req, &*event_log).await [INFO] [stdout] | ^^^^ help: change this to: `req` [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/database.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 448 | / Ok::<_, sos_database::Error>( [INFO] [stdout] 449 | | folders.list_user_folders(account_id)?, [INFO] [stdout] 450 | | ) [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] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 448 - Ok::<_, sos_database::Error>( [INFO] [stdout] 449 - folders.list_user_folders(account_id)?, [INFO] [stdout] 450 - ) [INFO] [stdout] 448 + folders.list_user_folders(account_id) [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_helpers.rs:107:22 [INFO] [stdout] | [INFO] [stdout] 107 | diff_log(&req, &*event_log).await [INFO] [stdout] | ^^^^ help: change this to: `req` [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: unnecessary use of `get(summary.id()).is_none()` [INFO] [stdout] --> src/database.rs:464:29 [INFO] [stdout] | [INFO] [stdout] 464 | if self.folders.get(summary.id()).is_none() { [INFO] [stdout] | -------------^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!self.folders.contains_key(summary.id())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] = note: `#[warn(clippy::unnecessary_get_then_check)]` 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_helpers.rs:118:22 [INFO] [stdout] | [INFO] [stdout] 118 | diff_log(&req, &*event_log).await [INFO] [stdout] | ^^^^ help: change this to: `req` [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: unnecessary use of `get(id).is_some()` [INFO] [stdout] --> src/database.rs:477:35 [INFO] [stdout] | [INFO] [stdout] 477 | let exists = self.folders.get(id).is_some(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> src/database.rs:484:17 [INFO] [stdout] | [INFO] [stdout] 484 | Error::VaultIdentifierMismatch(*id, *vault.id()).into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `Error::VaultIdentifierMismatch(*id, *vault.id())` [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_helpers.rs:159:22 [INFO] [stdout] | [INFO] [stdout] 159 | scan_log(&req, &*event_log).await? [INFO] [stdout] | ^^^^ help: change this to: `req` [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_helpers.rs:164:22 [INFO] [stdout] | [INFO] [stdout] 164 | scan_log(&req, &*event_log).await? [INFO] [stdout] | ^^^^ help: change this to: `req` [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: using `clone` on type `AccountId` which implements the `Copy` trait [INFO] [stdout] --> src/database.rs:573:26 [INFO] [stdout] | [INFO] [stdout] 573 | let account_id = self.account_id.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.account_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server_helpers.rs:169:22 [INFO] [stdout] | [INFO] [stdout] 169 | scan_log(&req, &*event_log).await? [INFO] [stdout] | ^^^^ help: change this to: `req` [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_helpers.rs:178:42 [INFO] [stdout] | [INFO] [stdout] 178 | let log = storage.folder_log(&id).await?; [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_helpers.rs:180:22 [INFO] [stdout] | [INFO] [stdout] 180 | scan_log(&req, &*event_log).await? [INFO] [stdout] | ^^^^ help: change this to: `req` [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: length comparison to zero [INFO] [stdout] --> src/server_helpers.rs:203:24 [INFO] [stdout] | [INFO] [stdout] 203 | let mut index = if event_log.tree().len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!event_log.tree().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/database.rs:622:21 [INFO] [stdout] | [INFO] [stdout] 622 | Ok(folder.find_one(&id)?) [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] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 622 - Ok(folder.find_one(&id)?) [INFO] [stdout] 622 + folder.find_one(&id) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/server_helpers.rs:209:8 [INFO] [stdout] | [INFO] [stdout] 209 | if event_log.tree().len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!event_log.tree().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicitly performing saturating subtraction [INFO] [stdout] --> src/server_helpers.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | / if index > 0 { [INFO] [stdout] 227 | | index -= 1; [INFO] [stdout] 228 | | } [INFO] [stdout] | |_____________^ help: try: `index = index.saturating_sub(1);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub [INFO] [stdout] = note: `#[warn(clippy::implicit_saturating_sub)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> src/filesystem.rs:83:24 [INFO] [stdout] | [INFO] [stdout] 83 | return Err(Error::NotDirectory( [INFO] [stdout] | ________________________^ [INFO] [stdout] 84 | | paths.documents_dir().to_path_buf(), [INFO] [stdout] 85 | | ) [INFO] [stdout] 86 | | .into()); [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] help: consider removing `.into()` [INFO] [stdout] | [INFO] [stdout] 83 ~ return Err(Error::NotDirectory( [INFO] [stdout] 84 + paths.documents_dir().to_path_buf(), [INFO] [stdout] 85 ~ )); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicitly performing saturating subtraction [INFO] [stdout] --> src/server_helpers.rs:237:13 [INFO] [stdout] | [INFO] [stdout] 237 | / if index > 0 { [INFO] [stdout] 238 | | index -= 1; [INFO] [stdout] 239 | | } [INFO] [stdout] | |_____________^ help: try: `index = index.saturating_sub(1);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server_helpers.rs:368:46 [INFO] [stdout] | [INFO] [stdout] 368 | let log = storage.folder_log(&id).await?; [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_helpers.rs:384:38 [INFO] [stdout] | [INFO] [stdout] 384 | storage.merge_folder(&id, diff, &mut outcome).await?.0, [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/filesystem.rs:271:38 [INFO] [stdout] | [INFO] [stdout] 271 | event_log.replace_all_events(&diff).await?; [INFO] [stdout] | ^^^^^ help: change this to: `diff` [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/storage.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | storage.import_account(&account_data).await?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `account_data` [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: unnecessary use of `get(summary.id()).is_none()` [INFO] [stdout] --> src/filesystem.rs:355:29 [INFO] [stdout] | [INFO] [stdout] 355 | if self.folders.get(summary.id()).is_none() { [INFO] [stdout] | -------------^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace it with: `!self.folders.contains_key(summary.id())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/storage.rs:167:52 [INFO] [stdout] | [INFO] [stdout] 167 | AccountEntity::find_account_with_login(&client, account_id) [INFO] [stdout] | ^^^^^^^ help: change this to: `client` [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: unnecessary use of `get(id).is_some()` [INFO] [stdout] --> src/filesystem.rs:367:35 [INFO] [stdout] | [INFO] [stdout] 367 | let exists = self.folders.get(id).is_some(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace it with: `contains_key(id)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `error::Error` [INFO] [stdout] --> src/filesystem.rs:374:17 [INFO] [stdout] | [INFO] [stdout] 374 | Error::VaultIdentifierMismatch(*id, *vault.id()).into() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into()`: `Error::VaultIdentifierMismatch(*id, *vault.id())` [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/storage.rs:214:32 [INFO] [stdout] | [INFO] [stdout] 214 | storage.import_account(&account_data).await?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `account_data` [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_helpers.rs:97:22 [INFO] [stdout] | [INFO] [stdout] 97 | diff_log(&req, &*event_log).await [INFO] [stdout] | ^^^^ help: change this to: `req` [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_helpers.rs:102:22 [INFO] [stdout] | [INFO] [stdout] 102 | diff_log(&req, &*event_log).await [INFO] [stdout] | ^^^^ help: change this to: `req` [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_helpers.rs:107:22 [INFO] [stdout] | [INFO] [stdout] 107 | diff_log(&req, &*event_log).await [INFO] [stdout] | ^^^^ help: change this to: `req` [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_helpers.rs:118:22 [INFO] [stdout] | [INFO] [stdout] 118 | diff_log(&req, &*event_log).await [INFO] [stdout] | ^^^^ help: change this to: `req` [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_helpers.rs:159:22 [INFO] [stdout] | [INFO] [stdout] 159 | scan_log(&req, &*event_log).await? [INFO] [stdout] | ^^^^ help: change this to: `req` [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_helpers.rs:164:22 [INFO] [stdout] | [INFO] [stdout] 164 | scan_log(&req, &*event_log).await? [INFO] [stdout] | ^^^^ help: change this to: `req` [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_helpers.rs:169:22 [INFO] [stdout] | [INFO] [stdout] 169 | scan_log(&req, &*event_log).await? [INFO] [stdout] | ^^^^ help: change this to: `req` [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_helpers.rs:178:42 [INFO] [stdout] | [INFO] [stdout] 178 | let log = storage.folder_log(&id).await?; [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_helpers.rs:180:22 [INFO] [stdout] | [INFO] [stdout] 180 | scan_log(&req, &*event_log).await? [INFO] [stdout] | ^^^^ help: change this to: `req` [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: length comparison to zero [INFO] [stdout] --> src/server_helpers.rs:203:24 [INFO] [stdout] | [INFO] [stdout] 203 | let mut index = if event_log.tree().len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!event_log.tree().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/server_helpers.rs:209:8 [INFO] [stdout] | [INFO] [stdout] 209 | if event_log.tree().len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!event_log.tree().is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicitly performing saturating subtraction [INFO] [stdout] --> src/server_helpers.rs:226:13 [INFO] [stdout] | [INFO] [stdout] 226 | / if index > 0 { [INFO] [stdout] 227 | | index -= 1; [INFO] [stdout] 228 | | } [INFO] [stdout] | |_____________^ help: try: `index = index.saturating_sub(1);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub [INFO] [stdout] = note: `#[warn(clippy::implicit_saturating_sub)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: implicitly performing saturating subtraction [INFO] [stdout] --> src/server_helpers.rs:237:13 [INFO] [stdout] | [INFO] [stdout] 237 | / if index > 0 { [INFO] [stdout] 238 | | index -= 1; [INFO] [stdout] 239 | | } [INFO] [stdout] | |_____________^ help: try: `index = index.saturating_sub(1);` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#implicit_saturating_sub [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/server_helpers.rs:368:46 [INFO] [stdout] | [INFO] [stdout] 368 | let log = storage.folder_log(&id).await?; [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_helpers.rs:384:38 [INFO] [stdout] | [INFO] [stdout] 384 | storage.merge_folder(&id, diff, &mut outcome).await?.0, [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/storage.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | storage.import_account(&account_data).await?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `account_data` [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/storage.rs:167:52 [INFO] [stdout] | [INFO] [stdout] 167 | AccountEntity::find_account_with_login(&client, account_id) [INFO] [stdout] | ^^^^^^^ help: change this to: `client` [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/storage.rs:214:32 [INFO] [stdout] | [INFO] [stdout] 214 | storage.import_account(&account_data).await?; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `account_data` [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s [INFO] running `Command { std: "docker" "inspect" "a2be145c4aac20ddcf55638c4385b6105e86e6ca86684224eadbf85eeddf160d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a2be145c4aac20ddcf55638c4385b6105e86e6ca86684224eadbf85eeddf160d", kill_on_drop: false }` [INFO] [stdout] a2be145c4aac20ddcf55638c4385b6105e86e6ca86684224eadbf85eeddf160d