[INFO] cloning repository https://github.com/NeroReflex/embuer [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NeroReflex/embuer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNeroReflex%2Fembuer", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNeroReflex%2Fembuer'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6027d3201786ca1fab3f8974946ccfccf2013401 [INFO] linting NeroReflex/embuer against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNeroReflex%2Fembuer" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/NeroReflex/embuer [INFO] finished tweaking git repo https://github.com/NeroReflex/embuer [INFO] tweaked toml for git repo https://github.com/NeroReflex/embuer written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/NeroReflex/embuer 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/NeroReflex/embuer 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] Downloading crates ... [INFO] [stderr] Downloaded deflate64 v0.1.11 [INFO] [stderr] Downloaded smart-default v0.7.1 [INFO] [stderr] Downloaded argh_shared v0.1.18 [INFO] [stderr] Downloaded env_filter v1.0.0 [INFO] [stderr] Downloaded loopdev-3 v0.5.3 [INFO] [stderr] Downloaded sys-mount v3.1.0 [INFO] [stderr] Downloaded argh v0.1.18 [INFO] [stderr] Downloaded argh_derive v0.1.18 [INFO] [stderr] Downloaded astral-tokio-tar v0.5.6 [INFO] [stderr] Downloaded ppmd-rust v1.4.0 [INFO] [stderr] Downloaded jiff-static v0.2.23 [INFO] [stderr] Downloaded typed-path v0.12.3 [INFO] [stderr] Downloaded env_logger v0.11.9 [INFO] [stderr] Downloaded zip v7.2.0 [INFO] [stderr] Downloaded bzip2 v0.6.1 [INFO] [stderr] Downloaded zlib-rs v0.6.3 [INFO] [stderr] Downloaded lzma-rust2 v0.15.7 [INFO] [stderr] Downloaded jiff v0.2.23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 0f57170c2826427ec483013a43a281b52ecd5b9e522a65f82c4539c739a67ff4 [INFO] running `Command { std: "docker" "start" "-a" "0f57170c2826427ec483013a43a281b52ecd5b9e522a65f82c4539c739a67ff4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0f57170c2826427ec483013a43a281b52ecd5b9e522a65f82c4539c739a67ff4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f57170c2826427ec483013a43a281b52ecd5b9e522a65f82c4539c739a67ff4", kill_on_drop: false }` [INFO] [stdout] 0f57170c2826427ec483013a43a281b52ecd5b9e522a65f82c4539c739a67ff4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 32ceb3eb8a57d5d4a90e1849f0bde78e202b74efea34570b4983847ee14379a0 [INFO] running `Command { std: "docker" "start" "-a" "32ceb3eb8a57d5d4a90e1849f0bde78e202b74efea34570b4983847ee14379a0", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Checking futures-io v0.3.32 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Checking linux-raw-sys v0.12.1 [INFO] [stderr] Compiling toml_datetime v1.0.0+spec-1.1.0 [INFO] [stderr] Checking simd-adler32 v0.3.8 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Checking crc32fast v1.5.0 [INFO] [stderr] Checking unicode-ident v1.0.24 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling libloading v0.8.9 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Checking zlib-rs v0.6.3 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Compiling bindgen v0.72.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Checking base64ct v1.8.3 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Checking pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling async-io v2.6.0 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Checking num-traits v0.2.19 [INFO] [stderr] Compiling endi v1.1.1 [INFO] [stderr] Checking compression-core v0.4.31 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking socket2 v0.6.3 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Checking flate2 v1.1.9 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0 [INFO] [stderr] Checking compression-codecs v0.4.37 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Checking deranged v0.5.8 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Compiling toml_edit v0.25.4+spec-1.1.0 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking async-lock v3.4.2 [INFO] [stderr] Checking piper v0.2.5 [INFO] [stderr] Checking num-conv v0.2.0 [INFO] [stderr] Checking libbz2-rs-sys v0.2.2 [INFO] [stderr] Checking time-core v0.1.8 [INFO] [stderr] Checking bumpalo v3.20.2 [INFO] [stderr] Checking anstyle v1.0.14 [INFO] [stderr] Compiling argh_shared v0.1.18 [INFO] [stderr] Checking iri-string v0.7.10 [INFO] [stderr] Checking is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling owo-colors v4.3.0 [INFO] [stderr] Checking anstream v0.6.21 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Checking bzip2 v0.6.1 [INFO] [stderr] Checking time v0.3.47 [INFO] [stderr] Checking zopfli v0.8.3 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling proc-macro-crate v3.5.0 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking pbkdf2 v0.12.2 [INFO] [stderr] Checking lzma-rust2 v0.15.7 [INFO] [stderr] Checking env_filter v1.0.0 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking async-executor v1.14.0 [INFO] [stderr] Checking filetime v0.2.27 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking async-broadcast v0.7.2 [INFO] [stderr] Checking uuid v1.22.0 [INFO] [stderr] Checking ordered-stream v0.2.0 [INFO] [stderr] Checking deflate64 v0.1.11 [INFO] [stderr] Checking ppmd-rust v1.4.0 [INFO] [stderr] Compiling embuer v0.2.25 (/opt/rustwide/workdir) [INFO] [stderr] Checking iana-time-zone v0.1.65 [INFO] [stderr] Checking typed-path v0.12.3 [INFO] [stderr] Checking jiff v0.2.23 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking polling v3.11.0 [INFO] [stderr] Checking xattr v1.6.1 [INFO] [stderr] Checking chrono v0.4.44 [INFO] [stderr] Checking users v0.11.0 [INFO] [stderr] Checking getrandom v0.4.2 [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Checking async-signal v0.2.13 [INFO] [stderr] Checking async-process v2.5.0 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Checking rustls-pki-types v1.14.0 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking der v0.7.10 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking webpki-roots v1.0.6 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Compiling smart-default v0.7.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling argh_derive v0.1.18 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Checking rustls-webpki v0.103.9 [INFO] [stderr] Checking num-bigint-dig v0.8.6 [INFO] [stderr] Checking pkcs8 v0.10.2 [INFO] [stderr] Checking pkcs1 v0.7.5 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Checking env_logger v0.11.9 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking rsa v0.9.10 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking zstd v0.13.3 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking zip v7.2.0 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking async-compression v0.4.41 [INFO] [stderr] Checking tokio-stream v0.1.18 [INFO] [stderr] Compiling zvariant_utils v3.3.0 [INFO] [stderr] Compiling enumflags2 v0.7.12 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking astral-tokio-tar v0.5.6 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking argh v0.1.18 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Compiling zvariant_derive v5.10.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Compiling zvariant v5.10.0 [INFO] [stderr] Compiling loopdev-3 v0.5.3 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking zbus_names v4.3.1 [INFO] [stderr] Checking sys-mount v3.1.0 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Compiling zbus_macros v5.14.0 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking zbus v5.14.0 [INFO] [stdout] warning: fields `config` and `btrfs` are never read [INFO] [stdout] --> src/service.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct Service { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 125 | config: Config, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | btrfs: Arc, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config` and `btrfs` are never read [INFO] [stdout] --> src/service.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct Service { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 125 | config: Config, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | btrfs: Arc, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/core.rs:33:20 [INFO] [stdout] | [INFO] [stdout] 33 | let key_size = (n.bits() + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `n.bits().div_ceil(8)` [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: manually reimplementing `div_ceil` [INFO] [stdout] --> src/core.rs:33:20 [INFO] [stdout] | [INFO] [stdout] 33 | let key_size = (n.bits() + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `n.bits().div_ceil(8)` [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: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | pub unsafe extern "C" fn embuer_client_new() -> *mut embuer_client_t { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | pub unsafe extern "C" fn embuer_client_free(client: *mut embuer_client_t) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:89:1 [INFO] [stdout] | [INFO] [stdout] 89 | / pub unsafe extern "C" fn embuer_get_boot_info( [INFO] [stdout] 90 | | client: *mut embuer_client_t, [INFO] [stdout] 91 | | boot_id_out: *mut u64, [INFO] [stdout] 92 | | boot_name_out: *mut *mut c_char, [INFO] [stdout] 93 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:133:1 [INFO] [stdout] | [INFO] [stdout] 133 | / pub unsafe extern "C" fn embuer_get_status( [INFO] [stdout] 134 | | client: *mut embuer_client_t, [INFO] [stdout] 135 | | status_out: *mut *mut c_char, [INFO] [stdout] 136 | | details_out: *mut *mut c_char, [INFO] [stdout] 137 | | progress_out: *mut c_int, [INFO] [stdout] 138 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:183:1 [INFO] [stdout] | [INFO] [stdout] 183 | / pub unsafe extern "C" fn embuer_install_from_file( [INFO] [stdout] 184 | | client: *mut embuer_client_t, [INFO] [stdout] 185 | | file_path: *const c_char, [INFO] [stdout] 186 | | result_out: *mut *mut c_char, [INFO] [stdout] 187 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:231:1 [INFO] [stdout] | [INFO] [stdout] 231 | / pub unsafe extern "C" fn embuer_install_from_url( [INFO] [stdout] 232 | | client: *mut embuer_client_t, [INFO] [stdout] 233 | | url: *const c_char, [INFO] [stdout] 234 | | result_out: *mut *mut c_char, [INFO] [stdout] 235 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:272:1 [INFO] [stdout] | [INFO] [stdout] 272 | pub unsafe extern "C" fn embuer_free_string(s: *mut c_char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | / pub unsafe extern "C" fn embuer_get_pending_update( [INFO] [stdout] 291 | | client: *mut embuer_client_t, [INFO] [stdout] 292 | | version_out: *mut *mut c_char, [INFO] [stdout] 293 | | changelog_out: *mut *mut c_char, [INFO] [stdout] 294 | | source_out: *mut *mut c_char, [INFO] [stdout] 295 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:346:1 [INFO] [stdout] | [INFO] [stdout] 346 | / pub unsafe extern "C" fn embuer_confirm_update( [INFO] [stdout] 347 | | client: *mut embuer_client_t, [INFO] [stdout] 348 | | accepted: c_int, [INFO] [stdout] 349 | | result_out: *mut *mut c_char, [INFO] [stdout] 350 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:390:1 [INFO] [stdout] | [INFO] [stdout] 390 | / pub unsafe extern "C" fn embuer_watch_status( [INFO] [stdout] 391 | | client: *mut embuer_client_t, [INFO] [stdout] 392 | | callback: StatusCallback, [INFO] [stdout] 393 | | user_data: *mut std::ffi::c_void, [INFO] [stdout] 394 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | pub unsafe extern "C" fn embuer_client_new() -> *mut embuer_client_t { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] = note: `#[warn(clippy::missing_safety_doc)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | pub unsafe extern "C" fn embuer_client_free(client: *mut embuer_client_t) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:89:1 [INFO] [stdout] | [INFO] [stdout] 89 | / pub unsafe extern "C" fn embuer_get_boot_info( [INFO] [stdout] 90 | | client: *mut embuer_client_t, [INFO] [stdout] 91 | | boot_id_out: *mut u64, [INFO] [stdout] 92 | | boot_name_out: *mut *mut c_char, [INFO] [stdout] 93 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:133:1 [INFO] [stdout] | [INFO] [stdout] 133 | / pub unsafe extern "C" fn embuer_get_status( [INFO] [stdout] 134 | | client: *mut embuer_client_t, [INFO] [stdout] 135 | | status_out: *mut *mut c_char, [INFO] [stdout] 136 | | details_out: *mut *mut c_char, [INFO] [stdout] 137 | | progress_out: *mut c_int, [INFO] [stdout] 138 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:183:1 [INFO] [stdout] | [INFO] [stdout] 183 | / pub unsafe extern "C" fn embuer_install_from_file( [INFO] [stdout] 184 | | client: *mut embuer_client_t, [INFO] [stdout] 185 | | file_path: *const c_char, [INFO] [stdout] 186 | | result_out: *mut *mut c_char, [INFO] [stdout] 187 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:231:1 [INFO] [stdout] | [INFO] [stdout] 231 | / pub unsafe extern "C" fn embuer_install_from_url( [INFO] [stdout] 232 | | client: *mut embuer_client_t, [INFO] [stdout] 233 | | url: *const c_char, [INFO] [stdout] 234 | | result_out: *mut *mut c_char, [INFO] [stdout] 235 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:272:1 [INFO] [stdout] | [INFO] [stdout] 272 | pub unsafe extern "C" fn embuer_free_string(s: *mut c_char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | / pub unsafe extern "C" fn embuer_get_pending_update( [INFO] [stdout] 291 | | client: *mut embuer_client_t, [INFO] [stdout] 292 | | version_out: *mut *mut c_char, [INFO] [stdout] 293 | | changelog_out: *mut *mut c_char, [INFO] [stdout] 294 | | source_out: *mut *mut c_char, [INFO] [stdout] 295 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:346:1 [INFO] [stdout] | [INFO] [stdout] 346 | / pub unsafe extern "C" fn embuer_confirm_update( [INFO] [stdout] 347 | | client: *mut embuer_client_t, [INFO] [stdout] 348 | | accepted: c_int, [INFO] [stdout] 349 | | result_out: *mut *mut c_char, [INFO] [stdout] 350 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe function's docs are missing a `# Safety` section [INFO] [stdout] --> src/ffi.rs:390:1 [INFO] [stdout] | [INFO] [stdout] 390 | / pub unsafe extern "C" fn embuer_watch_status( [INFO] [stdout] 391 | | client: *mut embuer_client_t, [INFO] [stdout] 392 | | callback: StatusCallback, [INFO] [stdout] 393 | | user_data: *mut std::ffi::c_void, [INFO] [stdout] 394 | | ) -> c_int { [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_safety_doc [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/service.rs:554:9 [INFO] [stdout] | [INFO] [stdout] 554 | total_size.map(|size| info!("Download size: {size} bytes")); [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] 554 - total_size.map(|size| info!("Download size: {size} bytes")); [INFO] [stdout] 554 + if let Some(size) = total_size { ... } [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/service.rs:577:9 [INFO] [stdout] | [INFO] [stdout] 577 | total_size.map(|size| info!("File size: {} bytes", size)); [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] 577 - total_size.map(|size| info!("File size: {} bytes", size)); [INFO] [stdout] 577 + if let Some(size) = total_size { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/service.rs:810:5 [INFO] [stdout] | [INFO] [stdout] 810 | / async fn process_update_entry( [INFO] [stdout] 811 | | data: &Arc>, [INFO] [stdout] 812 | | btrfs: &Arc, [INFO] [stdout] 813 | | config: Config, [INFO] [stdout] ... | [INFO] [stdout] 819 | | source_desc: String, [INFO] [stdout] 820 | | ) -> 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: called `map(f)` on an `Option` value where `f` is a closure that returns the unit type `()` [INFO] [stdout] --> src/service.rs:554:9 [INFO] [stdout] | [INFO] [stdout] 554 | total_size.map(|size| info!("Download size: {size} bytes")); [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] 554 - total_size.map(|size| info!("Download size: {size} bytes")); [INFO] [stdout] 554 + if let Some(size) = total_size { ... } [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/service.rs:577:9 [INFO] [stdout] | [INFO] [stdout] 577 | total_size.map(|size| info!("File size: {} bytes", size)); [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] 577 - total_size.map(|size| info!("File size: {} bytes", size)); [INFO] [stdout] 577 + if let Some(size) = total_size { ... } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> src/service.rs:810:5 [INFO] [stdout] | [INFO] [stdout] 810 | / async fn process_update_entry( [INFO] [stdout] 811 | | data: &Arc>, [INFO] [stdout] 812 | | btrfs: &Arc, [INFO] [stdout] 813 | | config: Config, [INFO] [stdout] ... | [INFO] [stdout] 819 | | source_desc: String, [INFO] [stdout] 820 | | ) -> 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: redundant closure [INFO] [stdout] --> tests/pem_tests.rs:57:14 [INFO] [stdout] | [INFO] [stdout] 57 | .map(|p| std::fs::read_to_string(p)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `std::fs::read_to_string` [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: redundant closure [INFO] [stdout] --> tests/pem_tests.rs:100:14 [INFO] [stdout] | [INFO] [stdout] 100 | .map(|p| std::fs::read_to_string(p)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the function itself: `std::fs::read_to_string` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> tests/integration_signature_tests.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | let key_size = (n.bits() + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `n.bits().div_ceil(8)` [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: the borrowed expression implements the required traits [INFO] [stdout] --> tests/integration_signature_tests.rs:148:15 [INFO] [stdout] | [INFO] [stdout] 148 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 149 | | "dgst", [INFO] [stdout] 150 | | "-sha512", [INFO] [stdout] 151 | | "-sign", [INFO] [stdout] ... | [INFO] [stdout] 155 | | test_file.to_str().unwrap(), [INFO] [stdout] 156 | | ]) [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] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 148 ~ .args([ [INFO] [stdout] 149 + "dgst", [INFO] [stdout] 150 + "-sha512", [INFO] [stdout] 151 + "-sign", [INFO] [stdout] 152 + key_file.to_str().unwrap(), [INFO] [stdout] 153 + "-out", [INFO] [stdout] 154 + sig_file.to_str().unwrap(), [INFO] [stdout] 155 + test_file.to_str().unwrap(), [INFO] [stdout] 156 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/bin/test-signature.rs:116:20 [INFO] [stdout] | [INFO] [stdout] 116 | let key_size = (n.bits() + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `n.bits().div_ceil(8)` [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: the borrowed expression implements the required traits [INFO] [stdout] --> tests/integration_signature_tests.rs:228:15 [INFO] [stdout] | [INFO] [stdout] 228 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 229 | | "dgst", [INFO] [stdout] 230 | | "-sha512", [INFO] [stdout] 231 | | "-sign", [INFO] [stdout] ... | [INFO] [stdout] 235 | | test_file.to_str().unwrap(), [INFO] [stdout] 236 | | ]) [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] 228 ~ .args([ [INFO] [stdout] 229 + "dgst", [INFO] [stdout] 230 + "-sha512", [INFO] [stdout] 231 + "-sign", [INFO] [stdout] 232 + key_file.to_str().unwrap(), [INFO] [stdout] 233 + "-out", [INFO] [stdout] 234 + sig_file.to_str().unwrap(), [INFO] [stdout] 235 + test_file.to_str().unwrap(), [INFO] [stdout] 236 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> tests/integration_signature_tests.rs:270:15 [INFO] [stdout] | [INFO] [stdout] 270 | .args(&["dgst", "-sha512", "-hex", test_file.to_str().unwrap()]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["dgst", "-sha512", "-hex", test_file.to_str().unwrap()]` [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: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> tests/integration_signature_tests.rs:274:24 [INFO] [stdout] | [INFO] [stdout] 274 | let openssl_hash = String::from_utf8_lossy(&openssl_output.stdout) [INFO] [stdout] | ________________________^ [INFO] [stdout] 275 | | .trim() [INFO] [stdout] 276 | | .split(' ') [INFO] [stdout] 277 | | .last() [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 277 - .last() [INFO] [stdout] 277 + .next_back() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> tests/signature_tests.rs:47:20 [INFO] [stdout] | [INFO] [stdout] 47 | let key_size = (n.bits() + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `n.bits().div_ceil(8)` [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: the borrowed expression implements the required traits [INFO] [stdout] --> tests/signature_tests.rs:177:15 [INFO] [stdout] | [INFO] [stdout] 177 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 178 | | "dgst", [INFO] [stdout] 179 | | "-sha512", [INFO] [stdout] 180 | | "-sign", [INFO] [stdout] ... | [INFO] [stdout] 184 | | test_file.to_str().unwrap(), [INFO] [stdout] 185 | | ]) [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] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 177 ~ .args([ [INFO] [stdout] 178 + "dgst", [INFO] [stdout] 179 + "-sha512", [INFO] [stdout] 180 + "-sign", [INFO] [stdout] 181 + key_file.to_str().unwrap(), [INFO] [stdout] 182 + "-out", [INFO] [stdout] 183 + sig_file.to_str().unwrap(), [INFO] [stdout] 184 + test_file.to_str().unwrap(), [INFO] [stdout] 185 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> tests/signature_tests.rs:232:15 [INFO] [stdout] | [INFO] [stdout] 232 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 233 | | "dgst", [INFO] [stdout] 234 | | "-sha512", [INFO] [stdout] 235 | | "-sign", [INFO] [stdout] ... | [INFO] [stdout] 239 | | test_file.to_str().unwrap(), [INFO] [stdout] 240 | | ]) [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] 232 ~ .args([ [INFO] [stdout] 233 + "dgst", [INFO] [stdout] 234 + "-sha512", [INFO] [stdout] 235 + "-sign", [INFO] [stdout] 236 + key_file.to_str().unwrap(), [INFO] [stdout] 237 + "-out", [INFO] [stdout] 238 + sig_file.to_str().unwrap(), [INFO] [stdout] 239 + test_file.to_str().unwrap(), [INFO] [stdout] 240 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> tests/signature_tests.rs:284:15 [INFO] [stdout] | [INFO] [stdout] 284 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 285 | | "dgst", [INFO] [stdout] 286 | | "-sha512", [INFO] [stdout] 287 | | "-sign", [INFO] [stdout] ... | [INFO] [stdout] 291 | | test_file.to_str().unwrap(), [INFO] [stdout] 292 | | ]) [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] 284 ~ .args([ [INFO] [stdout] 285 + "dgst", [INFO] [stdout] 286 + "-sha512", [INFO] [stdout] 287 + "-sign", [INFO] [stdout] 288 + key_file.to_str().unwrap(), [INFO] [stdout] 289 + "-out", [INFO] [stdout] 290 + sig_file.to_str().unwrap(), [INFO] [stdout] 291 + test_file.to_str().unwrap(), [INFO] [stdout] 292 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> tests/signature_tests.rs:346:15 [INFO] [stdout] | [INFO] [stdout] 346 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 347 | | "dgst", [INFO] [stdout] 348 | | "-sha512", [INFO] [stdout] 349 | | "-sign", [INFO] [stdout] ... | [INFO] [stdout] 353 | | test_file.to_str().unwrap(), [INFO] [stdout] 354 | | ]) [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] 346 ~ .args([ [INFO] [stdout] 347 + "dgst", [INFO] [stdout] 348 + "-sha512", [INFO] [stdout] 349 + "-sign", [INFO] [stdout] 350 + key_file.to_str().unwrap(), [INFO] [stdout] 351 + "-out", [INFO] [stdout] 352 + sig_file.to_str().unwrap(), [INFO] [stdout] 353 + test_file.to_str().unwrap(), [INFO] [stdout] 354 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> tests/signature_tests.rs:401:15 [INFO] [stdout] | [INFO] [stdout] 401 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 402 | | "dgst", [INFO] [stdout] 403 | | "-sha512", [INFO] [stdout] 404 | | "-sign", [INFO] [stdout] ... | [INFO] [stdout] 408 | | test_file.to_str().unwrap(), [INFO] [stdout] 409 | | ]) [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] 401 ~ .args([ [INFO] [stdout] 402 + "dgst", [INFO] [stdout] 403 + "-sha512", [INFO] [stdout] 404 + "-sign", [INFO] [stdout] 405 + key_file.to_str().unwrap(), [INFO] [stdout] 406 + "-out", [INFO] [stdout] 407 + sig_file.to_str().unwrap(), [INFO] [stdout] 408 + test_file.to_str().unwrap(), [INFO] [stdout] 409 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> tests/signature_tests.rs:527:15 [INFO] [stdout] | [INFO] [stdout] 527 | .args(&[ [INFO] [stdout] | _______________^ [INFO] [stdout] 528 | | "dgst", [INFO] [stdout] 529 | | "-sha256", [INFO] [stdout] 530 | | "-sign", [INFO] [stdout] ... | [INFO] [stdout] 534 | | test_file.to_str().unwrap(), [INFO] [stdout] 535 | | ]) [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] 527 ~ .args([ [INFO] [stdout] 528 + "dgst", [INFO] [stdout] 529 + "-sha256", [INFO] [stdout] 530 + "-sign", [INFO] [stdout] 531 + key_file.to_str().unwrap(), [INFO] [stdout] 532 + "-out", [INFO] [stdout] 533 + sig_file.to_str().unwrap(), [INFO] [stdout] 534 + test_file.to_str().unwrap(), [INFO] [stdout] 535 ~ ]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manually reimplementing `div_ceil` [INFO] [stdout] --> src/bin/test-signature.rs:116:20 [INFO] [stdout] | [INFO] [stdout] 116 | let key_size = (n.bits() + 7) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `.div_ceil()`: `n.bits().div_ceil(8)` [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: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/bin/embuer-installer.rs:431:26 [INFO] [stdout] | [INFO] [stdout] 431 | Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 431 - Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] 431 + Box::new(std::io::Error::other(msg)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/bin/embuer-installer.rs:454:26 [INFO] [stdout] | [INFO] [stdout] 454 | Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 454 - Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] 454 + Box::new(std::io::Error::other(msg)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/bin/embuer-installer.rs:501:26 [INFO] [stdout] | [INFO] [stdout] 501 | Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 501 - Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] 501 + Box::new(std::io::Error::other(msg)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/bin/embuer-installer.rs:431:26 [INFO] [stdout] | [INFO] [stdout] 431 | Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 431 - Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] 431 + Box::new(std::io::Error::other(msg)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/bin/embuer-installer.rs:454:26 [INFO] [stdout] | [INFO] [stdout] 454 | Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 454 - Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] 454 + Box::new(std::io::Error::other(msg)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> src/bin/embuer-installer.rs:501:26 [INFO] [stdout] | [INFO] [stdout] 501 | Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 501 - Box::new(std::io::Error::new(std::io::ErrorKind::Other, msg)) [INFO] [stdout] 501 + Box::new(std::io::Error::other(msg)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/bin/embuer-installer.rs:920:52 [INFO] [stdout] | [INFO] [stdout] 920 | let btrfs_send_file = btrfs_send_path.join(format!("update.btrfs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"update.btrfs".to_string()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/bin/embuer-installer.rs:922:56 [INFO] [stdout] | [INFO] [stdout] 922 | ...and_get_stdout(&["send", deployment_rootfs_dir.to_str().unwrap(), "-f", btrfs_send_file.to_str().unwrap()]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["send", deployment_rootfs_dir.to_str().unwrap(), "-f", btrfs_send_file.to_str().unwrap()]` [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: useless use of `format!` [INFO] [stdout] --> src/bin/embuer-installer.rs:920:52 [INFO] [stdout] | [INFO] [stdout] 920 | let btrfs_send_file = btrfs_send_path.join(format!("update.btrfs")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `.to_string()`: `"update.btrfs".to_string()` [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] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/bin/embuer-installer.rs:922:56 [INFO] [stdout] | [INFO] [stdout] 922 | ...and_get_stdout(&["send", deployment_rootfs_dir.to_str().unwrap(), "-f", btrfs_send_file.to_str().unwrap()]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["send", deployment_rootfs_dir.to_str().unwrap(), "-f", btrfs_send_file.to_str().unwrap()]` [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: calls to `push` immediately after creation [INFO] [stdout] --> src/bin/embuer-installer.rs:992:5 [INFO] [stdout] | [INFO] [stdout] 992 | / let mut build_args: Vec = Vec::new(); [INFO] [stdout] 993 | | build_args.push("-j".to_string()); [INFO] [stdout] 994 | | build_args.push(nproc.clone()); [INFO] [stdout] 995 | | build_args.push("bzImage".to_string()); [INFO] [stdout] 996 | | build_args.push("modules".to_string()); [INFO] [stdout] | |___________________________________________^ help: consider using the `vec![]` macro: `let build_args: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/bin/embuer-installer.rs:1015:5 [INFO] [stdout] | [INFO] [stdout] 1015 | / let mut mod_args: Vec = Vec::new(); [INFO] [stdout] 1016 | | mod_args.push("DEPMOD=/doesnt/exist".to_string()); [INFO] [stdout] 1017 | | mod_args.push(install_mod_arg); [INFO] [stdout] 1018 | | mod_args.push("modules_install".to_string()); [INFO] [stdout] | |_________________________________________________^ help: consider using the `vec![]` macro: `let mod_args: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/bin/embuer-installer.rs:992:5 [INFO] [stdout] | [INFO] [stdout] 992 | / let mut build_args: Vec = Vec::new(); [INFO] [stdout] 993 | | build_args.push("-j".to_string()); [INFO] [stdout] 994 | | build_args.push(nproc.clone()); [INFO] [stdout] 995 | | build_args.push("bzImage".to_string()); [INFO] [stdout] 996 | | build_args.push("modules".to_string()); [INFO] [stdout] | |___________________________________________^ help: consider using the `vec![]` macro: `let build_args: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] = note: `#[warn(clippy::vec_init_then_push)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `push` immediately after creation [INFO] [stdout] --> src/bin/embuer-installer.rs:1015:5 [INFO] [stdout] | [INFO] [stdout] 1015 | / let mut mod_args: Vec = Vec::new(); [INFO] [stdout] 1016 | | mod_args.push("DEPMOD=/doesnt/exist".to_string()); [INFO] [stdout] 1017 | | mod_args.push(install_mod_arg); [INFO] [stdout] 1018 | | mod_args.push("modules_install".to_string()); [INFO] [stdout] | |_________________________________________________^ help: consider using the `vec![]` macro: `let mod_args: Vec = vec![..];` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#vec_init_then_push [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 28s [INFO] running `Command { std: "docker" "inspect" "32ceb3eb8a57d5d4a90e1849f0bde78e202b74efea34570b4983847ee14379a0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "32ceb3eb8a57d5d4a90e1849f0bde78e202b74efea34570b4983847ee14379a0", kill_on_drop: false }` [INFO] [stdout] 32ceb3eb8a57d5d4a90e1849f0bde78e202b74efea34570b4983847ee14379a0