[INFO] fetching crate utpm 0.2.0... [INFO] linting utpm-0.2.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate utpm 0.2.0 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate utpm 0.2.0 [INFO] finished tweaking crates.io crate utpm 0.2.0 [INFO] tweaked toml for crates.io crate utpm 0.2.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate utpm 0.2.0 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 utpm 0.2.0 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] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded kamadak-exif v0.6.1 [INFO] [stderr] Downloaded toml_write v0.1.1 [INFO] [stderr] Downloaded comemo-macros v0.4.0 [INFO] [stderr] Downloaded hyper-rustls v0.27.6 [INFO] [stderr] Downloaded typst-kit v0.13.1 [INFO] [stderr] Downloaded fmt-derive v0.1.2 [INFO] [stderr] Downloaded shadow-rs v1.1.1 [INFO] [stderr] Downloaded either v1.14.0 [INFO] [stderr] Downloaded clap_complete v4.5.51 [INFO] [stderr] Downloaded unicode-bidi-mirroring v0.3.0 [INFO] [stderr] Downloaded unicode-vo v0.1.0 [INFO] [stderr] Downloaded snafu v0.8.6 [INFO] [stderr] Downloaded pest_generator v2.8.1 [INFO] [stderr] Downloaded windows-registry v0.4.0 [INFO] [stderr] Downloaded simplecss v0.2.2 [INFO] [stderr] Downloaded pest_derive v2.8.1 [INFO] [stderr] Downloaded redox_users v0.5.0 [INFO] [stderr] Downloaded pest_meta v2.8.1 [INFO] [stderr] Downloaded serde-hjson v1.1.0 [INFO] [stderr] Downloaded tzdb v0.7.2 [INFO] [stderr] Downloaded enum-ordinalize-derive v4.3.1 [INFO] [stderr] Downloaded fontdb v0.21.0 [INFO] [stderr] Downloaded csv-core v0.1.12 [INFO] [stderr] Downloaded plist v1.7.0 [INFO] [stderr] Downloaded snafu-derive v0.8.6 [INFO] [stderr] Downloaded rustls-pki-types v1.11.0 [INFO] [stderr] Downloaded clap v4.5.39 [INFO] [stderr] Downloaded newline-converter v0.3.0 [INFO] [stderr] Downloaded clap_builder v4.5.39 [INFO] [stderr] Downloaded dyn-clone v1.0.18 [INFO] [stderr] Downloaded wasmparser v0.221.3 [INFO] [stderr] Downloaded rustybuzz v0.18.0 [INFO] [stderr] Downloaded fuzzy-matcher v0.3.7 [INFO] [stderr] Downloaded tzdb_data v0.2.2 [INFO] [stderr] Downloaded rustls v0.23.23 [INFO] [stderr] Downloaded wasmi v0.40.0 [INFO] [stderr] Downloaded hayagriva v0.8.1 [INFO] [stderr] Downloaded typst-library v0.13.1 [INFO] [stderr] Downloaded image v0.25.5 [INFO] [stderr] Downloaded quick-xml v0.36.2 [INFO] [stderr] Downloaded usvg v0.43.0 [INFO] [stderr] Downloaded pest v2.8.1 [INFO] [stderr] Downloaded git2 v0.20.2 [INFO] [stderr] Downloaded chrono v0.4.40 [INFO] [stderr] Downloaded time v0.3.38 [INFO] [stderr] Downloaded ttf-parser v0.24.1 [INFO] [stderr] Downloaded kurbo v0.11.1 [INFO] [stderr] Downloaded libz-sys v1.1.21 [INFO] [stderr] Downloaded syntect v5.2.0 [INFO] [stderr] Downloaded inquire v0.7.5 [INFO] [stderr] Downloaded ptree v0.5.2 [INFO] [stderr] Downloaded hyper-util v0.1.13 [INFO] [stderr] Downloaded spdx v0.10.8 [INFO] [stderr] Downloaded codex v0.1.1 [INFO] [stderr] Downloaded tempfile v3.16.0 [INFO] [stderr] Downloaded iri-string v0.7.7 [INFO] [stderr] Downloaded zerotrie v0.1.3 [INFO] [stderr] Downloaded zune-jpeg v0.4.14 [INFO] [stderr] Downloaded qcms v0.3.0 [INFO] [stderr] Downloaded string-interner v0.18.0 [INFO] [stderr] Downloaded wasmi_ir v0.40.0 [INFO] [stderr] Downloaded flate2 v1.1.0 [INFO] [stderr] Downloaded async-trait v0.1.83 [INFO] [stderr] Downloaded tint v1.0.1 [INFO] [stderr] Downloaded windows-strings v0.3.1 [INFO] [stderr] Downloaded tz-rs v0.7.0 [INFO] [stderr] Downloaded env_proxy v0.4.1 [INFO] [stderr] Downloaded libgit2-sys v0.18.1+1.9.0 [INFO] [stderr] Downloaded openssl-sys v0.9.108 [INFO] [stderr] Downloaded svgtypes v0.15.3 [INFO] [stderr] Downloaded biblatex v0.10.0 [INFO] [stderr] Downloaded fontconfig-parser v0.5.7 [INFO] [stderr] Downloaded imagesize v0.13.0 [INFO] [stderr] Downloaded numerals v0.1.4 [INFO] [stderr] Downloaded unicode-ccc v0.3.0 [INFO] [stderr] Downloaded const_format v0.2.34 [INFO] [stderr] Downloaded enum-ordinalize v4.3.0 [INFO] [stderr] Downloaded icu_provider_blob v1.5.0 [INFO] [stderr] Downloaded multi-stash v0.2.0 [INFO] [stderr] Downloaded log v0.4.26 [INFO] [stderr] Downloaded ecow v0.2.3 [INFO] [stderr] Downloaded chinese-number v0.7.7 [INFO] [stderr] Downloaded data-url v0.3.1 [INFO] [stderr] Downloaded native-tls v0.2.13 [INFO] [stderr] Downloaded is_debug v1.1.0 [INFO] [stderr] Downloaded xattr v1.4.0 [INFO] [stderr] Downloaded comemo v0.4.0 [INFO] [stderr] Downloaded typst-macros v0.13.1 [INFO] [stderr] Downloaded xmlwriter v0.1.0 [INFO] [stderr] Downloaded mutate_once v0.1.1 [INFO] [stderr] Downloaded wasmi_core v0.40.0 [INFO] [stderr] Downloaded fmt-derive-proc v0.1.2 [INFO] [stderr] Downloaded cc v1.2.16 [INFO] [stderr] Downloaded toml v0.8.22 [INFO] [stderr] Downloaded typst-syntax v0.13.1 [INFO] [stderr] Downloaded wasmi_collections v0.40.0 [INFO] [stderr] Downloaded typst-timing v0.13.1 [INFO] [stderr] Downloaded thin-vec v0.2.13 [INFO] [stderr] Downloaded unicode-math-class v0.1.0 [INFO] [stderr] Downloaded unscanny v0.1.0 [INFO] [stderr] Downloaded bytemuck v1.22.0 [INFO] [stderr] Downloaded typst-assets v0.13.1 [INFO] [stderr] Downloaded chinese-variant v1.1.3 [INFO] [stderr] Downloaded citationberg v0.5.0 [INFO] [stderr] Downloaded openssl-src v300.5.1+3.5.1 [INFO] [stderr] Downloaded two-face v0.4.3 [INFO] [stderr] Downloaded memmap2 v0.9.5 [INFO] [stderr] Downloaded typst-utils v0.13.1 [INFO] [stderr] Downloaded bstr v1.11.1 [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] b95d10314c813517f48412bd71fe936acb11b62fd0baf0a410146ee4b21ef213 [INFO] running `Command { std: "docker" "start" "-a" "b95d10314c813517f48412bd71fe936acb11b62fd0baf0a410146ee4b21ef213", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b95d10314c813517f48412bd71fe936acb11b62fd0baf0a410146ee4b21ef213", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b95d10314c813517f48412bd71fe936acb11b62fd0baf0a410146ee4b21ef213", kill_on_drop: false }` [INFO] [stdout] b95d10314c813517f48412bd71fe936acb11b62fd0baf0a410146ee4b21ef213 [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] 0dea9f6ae1fa2418918e3e51abde356a797c74fae33a6a8f393bdebb65a0bf5f [INFO] running `Command { std: "docker" "start" "-a" "0dea9f6ae1fa2418918e3e51abde356a797c74fae33a6a8f393bdebb65a0bf5f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling serde v1.0.218 [INFO] [stderr] Checking smallvec v1.14.0 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking log v0.4.26 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking cobs v0.2.3 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling quote v1.0.39 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling libm v0.2.11 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling writeable v0.5.5 [INFO] [stderr] Compiling time-core v0.1.3 [INFO] [stderr] Compiling litemap v0.7.5 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling crunchy v0.2.3 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.0 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Compiling icu_properties_data v1.5.0 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling write16 v1.0.0 [INFO] [stderr] Compiling syn v2.0.99 [INFO] [stderr] Checking miniz_oxide v0.8.5 [INFO] [stderr] Compiling openssl v0.10.72 [INFO] [stderr] Compiling icu_normalizer_data v1.5.0 [INFO] [stderr] Compiling utf16_iter v1.0.5 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Checking tinyvec v1.9.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Compiling time-macros v0.2.20 [INFO] [stderr] Checking deranged v0.3.11 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking toml_write v0.1.1 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Checking winnow v0.7.10 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling native-tls v0.2.13 [INFO] [stderr] Checking core_maths v0.1.1 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling const_format_proc_macros v0.2.34 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling cc v1.2.16 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking flate2 v1.1.0 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Compiling portable-atomic v1.11.0 [INFO] [stderr] Checking bytemuck v1.22.0 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking time v0.3.38 [INFO] [stderr] Checking const-random v0.1.18 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Checking ttf-parser v0.24.1 [INFO] [stderr] Checking quick-xml v0.32.0 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Compiling wasmparser v0.221.3 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking unscanny v0.1.0 [INFO] [stderr] Checking unicode-script v0.5.7 [INFO] [stderr] Compiling openssl-src v300.5.1+3.5.1 [INFO] [stderr] Compiling tz-rs v0.7.0 [INFO] [stderr] Checking either v1.14.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking float-cmp v0.9.0 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking roxmltree v0.20.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking wasmi_core v0.40.0 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Compiling indexmap v2.7.1 [INFO] [stderr] Checking yaml-rust v0.4.5 [INFO] [stderr] Compiling tzdb_data v0.2.2 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Checking dlv-list v0.5.2 [INFO] [stderr] Compiling openssl-sys v0.9.108 [INFO] [stderr] Compiling libz-sys v1.1.21 [INFO] [stderr] Compiling libssh2-sys v0.3.1 [INFO] [stderr] Compiling libgit2-sys v0.18.1+1.9.0 [INFO] [stderr] Checking fontconfig-parser v0.5.7 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking memmap2 v0.9.5 [INFO] [stderr] Checking kurbo v0.11.1 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking unicode-properties v0.1.3 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Compiling palette v0.7.6 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking unicode-ccc v0.3.0 [INFO] [stderr] Checking weezl v0.1.8 [INFO] [stderr] Compiling toml_datetime v0.6.9 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling az v1.2.1 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking unicode-math-class v0.1.0 [INFO] [stderr] Compiling iana-time-zone v0.1.61 [INFO] [stderr] Checking zune-core v0.4.12 [INFO] [stderr] Compiling codex v0.1.1 [INFO] [stderr] Checking unicode-bidi-mirroring v0.3.0 [INFO] [stderr] Compiling by_address v1.2.1 [INFO] [stderr] Checking thin-vec v0.2.13 [INFO] [stderr] Compiling rust_decimal v1.36.0 [INFO] [stderr] Checking numerals v0.1.4 [INFO] [stderr] Checking fancy-regex v0.11.0 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking svgtypes v0.15.3 [INFO] [stderr] Checking zune-jpeg v0.4.14 [INFO] [stderr] Checking gif v0.13.1 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking typst-utils v0.13.1 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking wasmi_ir v0.40.0 [INFO] [stderr] Checking ordered-multimap v0.7.3 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking fontdb v0.21.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling tzdb v0.7.2 [INFO] [stderr] Compiling const_format v0.2.34 [INFO] [stderr] Checking hashlink v0.8.4 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking csv-core v0.1.12 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Checking simplecss v0.2.2 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking arraydeque v0.5.1 [INFO] [stderr] Checking multi-stash v0.2.0 [INFO] [stderr] Checking imagesize v0.13.0 [INFO] [stderr] Checking unicode-bidi v0.3.18 [INFO] [stderr] Checking unicode-vo v0.1.0 [INFO] [stderr] Checking wasmi_collections v0.40.0 [INFO] [stderr] Checking mutate_once v0.1.1 [INFO] [stderr] Compiling is_debug v1.1.0 [INFO] [stderr] Checking fast-srgb8 v1.0.0 [INFO] [stderr] Checking xmlwriter v0.1.0 [INFO] [stderr] Checking data-url v0.3.1 [INFO] [stderr] Checking unicode-ident v1.0.18 [INFO] [stderr] Checking pico-args v0.5.0 [INFO] [stderr] Checking chinese-variant v1.1.3 [INFO] [stderr] Checking kamadak-exif v0.6.1 [INFO] [stderr] Checking yaml-rust2 v0.8.1 [INFO] [stderr] Checking clap_builder v4.5.39 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking image v0.25.5 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking rust-ini v0.20.0 [INFO] [stderr] Compiling toml_edit v0.22.26 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Checking filetime v0.2.25 [INFO] [stderr] Checking bstr v1.11.1 [INFO] [stderr] Checking typed-arena v2.0.2 [INFO] [stderr] Checking lazy_static v0.2.11 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Checking qcms v0.3.0 [INFO] [stderr] Checking bumpalo v3.17.0 [INFO] [stderr] Checking iri-string v0.7.7 [INFO] [stderr] Checking typst-assets v0.13.1 [INFO] [stderr] Checking globset v0.4.15 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking tint v1.0.1 [INFO] [stderr] Checking dirs v6.0.0 [INFO] [stderr] Checking directories v5.0.1 [INFO] [stderr] Checking crossterm v0.25.0 [INFO] [stderr] Checking fuzzy-matcher v0.3.7 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking newline-converter v0.3.0 [INFO] [stderr] Checking dyn-clone v1.0.18 [INFO] [stderr] Checking rustls-pki-types v1.11.0 [INFO] [stderr] Checking ignore v0.4.23 [INFO] [stderr] Checking spdx v0.10.8 [INFO] [stderr] Compiling serde_derive v1.0.218 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking tokio v1.45.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling enum-ordinalize-derive v4.3.1 [INFO] [stderr] Compiling palette_derive v0.7.6 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling pest v2.8.1 [INFO] [stderr] Compiling yoke v0.7.5 [INFO] [stderr] Compiling comemo-macros v0.4.0 [INFO] [stderr] Checking enum-ordinalize v4.3.0 [INFO] [stderr] Checking chinese-number v0.7.7 [INFO] [stderr] Compiling zerovec v0.10.4 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling clap_derive v4.5.32 [INFO] [stderr] Checking comemo v0.4.0 [INFO] [stderr] Checking lipsum v0.9.1 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Compiling typst-macros v0.13.1 [INFO] [stderr] Compiling fmt-derive-proc v0.1.2 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking biblatex v0.10.0 [INFO] [stderr] Compiling tinystr v0.7.6 [INFO] [stderr] Compiling icu_collections v1.5.0 [INFO] [stderr] Compiling icu_locid v1.5.0 [INFO] [stderr] Checking fmt-derive v0.1.2 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Compiling icu_provider v1.5.0 [INFO] [stderr] Checking clap v4.5.39 [INFO] [stderr] Checking clap_complete v4.5.51 [INFO] [stderr] Compiling icu_locid_transform v1.5.0 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Compiling icu_properties v1.5.1 [INFO] [stderr] Compiling pest_derive v2.8.1 [INFO] [stderr] Checking postcard v1.1.1 [INFO] [stderr] Checking serde_json v1.0.140 [INFO] [stderr] Checking serde_spanned v0.6.8 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking quick-xml v0.36.2 [INFO] [stderr] Checking rustybuzz v0.18.0 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking ecow v0.2.3 [INFO] [stderr] Checking json5 v0.4.1 [INFO] [stderr] Checking tokio-util v0.7.13 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Checking plist v1.7.0 [INFO] [stderr] Checking h2 v0.4.11 [INFO] [stderr] Checking typst-timing v0.13.1 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking zerotrie v0.1.3 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking unic-langid-impl v0.9.5 [INFO] [stderr] Checking syntect v5.2.0 [INFO] [stderr] Checking citationberg v0.5.0 [INFO] [stderr] Checking tower-http v0.6.6 [INFO] [stderr] Checking unic-langid v0.9.5 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking serde-value v0.7.0 [INFO] [stderr] Checking tracing-serde v0.2.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking tracing-subscriber v0.3.19 [INFO] [stderr] Checking inquire v0.7.5 [INFO] [stderr] Checking xattr v1.4.0 [INFO] [stderr] Checking tar v0.4.44 [INFO] [stderr] Compiling icu_normalizer v1.5.0 [INFO] [stderr] Checking usvg v0.43.0 [INFO] [stderr] Checking icu_provider_blob v1.5.0 [INFO] [stderr] Checking toml v0.8.22 [INFO] [stderr] Compiling idna_adapter v1.2.0 [INFO] [stderr] Compiling idna v1.0.3 [INFO] [stderr] Checking two-face v0.4.3 [INFO] [stderr] Checking typst-syntax v0.13.1 [INFO] [stderr] Checking config v0.14.1 [INFO] [stderr] Compiling url v2.5.4 [INFO] [stderr] Checking ptree v0.5.2 [INFO] [stderr] Compiling git2 v0.20.2 [INFO] [stderr] Checking hyper v1.6.0 [INFO] [stderr] Checking wasmi v0.40.0 [INFO] [stderr] Checking hyper-util v0.1.13 [INFO] [stderr] Checking hayagriva v0.8.1 [INFO] [stderr] Checking env_proxy v0.4.1 [INFO] [stderr] Compiling shadow-rs v1.1.1 [INFO] [stderr] Compiling utpm v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking typst-library v0.13.1 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking ureq v2.12.1 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.22 [INFO] [stderr] Checking typst-kit v0.13.1 [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg(any(feature = "publish"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "publish"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] = note: `#[warn(clippy::non_minimal_cfg)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:98:7 [INFO] [stdout] | [INFO] [stdout] 98 | #[cfg(any(feature = "unlink"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "unlink"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:103:7 [INFO] [stdout] | [INFO] [stdout] 103 | #[cfg(any(feature = "clone"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "clone"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:108:7 [INFO] [stdout] | [INFO] [stdout] 108 | #[cfg(any(feature = "clone"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "clone"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:113:7 [INFO] [stdout] | [INFO] [stdout] 113 | #[cfg(any(feature = "clone"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "clone"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:119:7 [INFO] [stdout] | [INFO] [stdout] 119 | #[cfg(any(feature = "clone"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "clone"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:126:7 [INFO] [stdout] | [INFO] [stdout] 126 | #[cfg(any(feature = "unlink"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "unlink"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:219:7 [INFO] [stdout] | [INFO] [stdout] 219 | #[cfg(any(feature = "publish"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "publish"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils/state.rs:80:11 [INFO] [stdout] | [INFO] [stdout] 80 | #[cfg(any(feature = "publish"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "publish"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils/state.rs:180:19 [INFO] [stdout] | [INFO] [stdout] 180 | #[cfg(any(feature = "publish"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "publish"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg(any(feature = "publish"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "publish"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] = note: `#[warn(clippy::non_minimal_cfg)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:98:7 [INFO] [stdout] | [INFO] [stdout] 98 | #[cfg(any(feature = "unlink"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "unlink"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:103:7 [INFO] [stdout] | [INFO] [stdout] 103 | #[cfg(any(feature = "clone"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "clone"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:108:7 [INFO] [stdout] | [INFO] [stdout] 108 | #[cfg(any(feature = "clone"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "clone"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:113:7 [INFO] [stdout] | [INFO] [stdout] 113 | #[cfg(any(feature = "clone"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "clone"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:119:7 [INFO] [stdout] | [INFO] [stdout] 119 | #[cfg(any(feature = "clone"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "clone"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:126:7 [INFO] [stdout] | [INFO] [stdout] 126 | #[cfg(any(feature = "unlink"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "unlink"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils.rs:219:7 [INFO] [stdout] | [INFO] [stdout] 219 | #[cfg(any(feature = "publish"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "publish"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils/state.rs:80:11 [INFO] [stdout] | [INFO] [stdout] 80 | #[cfg(any(feature = "publish"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "publish"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded sub `cfg` when there is only one condition [INFO] [stdout] --> src/utils/state.rs:180:19 [INFO] [stdout] | [INFO] [stdout] 180 | #[cfg(any(feature = "publish"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `feature = "publish"` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_minimal_cfg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/utils/macros.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | if !crate::utils::dryrun::get_dry_run() { [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] = note: `#[warn(clippy::crate_in_macro_def)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/utils/macros.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | if !crate::utils::dryrun::get_dry_run() { [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] = note: `#[warn(clippy::crate_in_macro_def)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/commands/add.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | if cmd.uri.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `cmd.uri.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/commands/get.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | if cmd.packages.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!cmd.packages.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: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/commands/init.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | extra.namespace = cmd.namespace.to_owned(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `utils::specs::Extra { namespace: cmd.namespace.to_owned(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/commands/init.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | let mut extra = Extra::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/init.rs:66:18 [INFO] [stdout] | [INFO] [stdout] 66 | license: if let Some(yes) = &cmd.license { [INFO] [stdout] | __________________^ [INFO] [stdout] 67 | | Some(yes.into()) [INFO] [stdout] 68 | | } else { [INFO] [stdout] 69 | | None [INFO] [stdout] 70 | | }, [INFO] [stdout] | |_________^ help: try: `cmd.license.as_ref().map(|yes| yes.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/init.rs:71:22 [INFO] [stdout] | [INFO] [stdout] 71 | description: if let Some(yes) = &cmd.description { [INFO] [stdout] | ______________________^ [INFO] [stdout] 72 | | Some(yes.into()) [INFO] [stdout] 73 | | } else { [INFO] [stdout] 74 | | None [INFO] [stdout] 75 | | }, [INFO] [stdout] | |_________^ help: try: `cmd.description.as_ref().map(|yes| yes.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/init.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | repository: if let Some(yes) = &cmd.repository { [INFO] [stdout] | _____________________^ [INFO] [stdout] 77 | | Some(yes.into()) [INFO] [stdout] 78 | | } else { [INFO] [stdout] 79 | | None [INFO] [stdout] 80 | | }, [INFO] [stdout] | |_________^ help: try: `cmd.repository.as_ref().map(|yes| yes.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/init.rs:81:19 [INFO] [stdout] | [INFO] [stdout] 81 | homepage: if let Some(yes) = &cmd.homepage { [INFO] [stdout] | ___________________^ [INFO] [stdout] 82 | | Some(yes.into()) [INFO] [stdout] 83 | | } else { [INFO] [stdout] 84 | | None [INFO] [stdout] 85 | | }, [INFO] [stdout] | |_________^ help: try: `cmd.homepage.as_ref().map(|yes| yes.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/init.rs:91:19 [INFO] [stdout] | [INFO] [stdout] 91 | compiler: if let Some(yes) = &cmd.compiler { [INFO] [stdout] | ___________________^ [INFO] [stdout] 92 | | Some(VersionBound { [INFO] [stdout] 93 | | major: yes.major as u32, [INFO] [stdout] 94 | | minor: Some(yes.minor as u32), [INFO] [stdout] ... | [INFO] [stdout] 98 | | None [INFO] [stdout] 99 | | }, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 91 ~ compiler: cmd.compiler.as_ref().map(|yes| VersionBound { [INFO] [stdout] 92 + major: yes.major as u32, [INFO] [stdout] 93 + minor: Some(yes.minor as u32), [INFO] [stdout] 94 + patch: Some(yes.patch as u32), [INFO] [stdout] 95 ~ }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/init.rs:192:37 [INFO] [stdout] | [INFO] [stdout] 192 | .with_validator(&|obj: &str| match spdx::Expression::parse(obj) { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 193 | | Ok(val) => { [INFO] [stdout] 194 | | for x in val.requirements() { [INFO] [stdout] 195 | | let id = x.req.license.id().unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 204 | | Err(_) => Ok(Validation::Invalid("Can't parse your expression".into())), [INFO] [stdout] 205 | | }) [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] 192 ~ .with_validator(|obj: &str| match spdx::Expression::parse(obj) { [INFO] [stdout] 193 + Ok(val) => { [INFO] [stdout] 194 + for x in val.requirements() { [INFO] [stdout] 195 + let id = x.req.license.id().unwrap(); [INFO] [stdout] 196 + if !id.is_osi_approved() { [INFO] [stdout] 197 + return Ok(Validation::Invalid( [INFO] [stdout] 198 + "It must be an OSI approved!".into(), [INFO] [stdout] 199 + )); [INFO] [stdout] 200 + } [INFO] [stdout] 201 + } [INFO] [stdout] 202 + Ok(Validation::Valid) [INFO] [stdout] 203 + } [INFO] [stdout] 204 + Err(_) => Ok(Validation::Invalid("Can't parse your expression".into())), [INFO] [stdout] 205 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/commands/init.rs:256:29 [INFO] [stdout] | [INFO] [stdout] 256 | .filter(|f| f.len() > 0) [INFO] [stdout] | ^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!f.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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/commands/init.rs:292:32 [INFO] [stdout] | [INFO] [stdout] 292 | pkg.version.clone().to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/commands/install.rs:157:8 [INFO] [stdout] | [INFO] [stdout] 157 | if !cmd.url.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `cmd.url.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/commands/install.rs:93:34 [INFO] [stdout] | [INFO] [stdout] 93 | ... .unwrap_or(String::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` 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/commands/install.rs:105:27 [INFO] [stdout] | [INFO] [stdout] 105 | builder.clone(&x, Path::new(&path))?; [INFO] [stdout] | ^^ help: change this to: `x` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/install.rs:108:26 [INFO] [stdout] | [INFO] [stdout] 108 | copy_dir_all(&x, &path)?; [INFO] [stdout] | ^^ help: change this to: `x` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/install.rs:126:23 [INFO] [stdout] | [INFO] [stdout] 126 | if check_path_dir(&format!( [INFO] [stdout] | _______________________^ [INFO] [stdout] 127 | | "{}/{}/{}/{}", [INFO] [stdout] 128 | | d_packages()?, [INFO] [stdout] 129 | | namespace, [INFO] [stdout] 130 | | &file.package.name, [INFO] [stdout] 131 | | &file.package.version [INFO] [stdout] 132 | | )) { [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] 126 ~ if check_path_dir(format!( [INFO] [stdout] 127 + "{}/{}/{}/{}", [INFO] [stdout] 128 + d_packages()?, [INFO] [stdout] 129 + namespace, [INFO] [stdout] 130 + &file.package.name, [INFO] [stdout] 131 + &file.package.version [INFO] [stdout] 132 ~ )) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/list.rs:190:33 [INFO] [stdout] | [INFO] [stdout] 190 | for dir_res in fs::read_dir(&typ)? { [INFO] [stdout] | ^^^^ help: change this to: `typ` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/list.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | for dir_res in fs::read_dir(&typ)? { [INFO] [stdout] | ^^^^ help: change this to: `typ` [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: length comparison to zero [INFO] [stdout] --> src/commands/sync.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | if cmd.files.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `cmd.files.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: this `if` statement can be collapsed [INFO] [stdout] --> src/commands/sync.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | / if let Some(file_type) = result.file_type() { [INFO] [stdout] 42 | | if !file_type.is_dir() { [INFO] [stdout] 43 | | utpm_log!(info, "Syncing {}...", result.file_name().to_str().unwrap()); [INFO] [stdout] 44 | | file_run(result.path(), cmd).await?; [INFO] [stdout] 45 | | } [INFO] [stdout] 46 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 41 ~ if let Some(file_type) = result.file_type() [INFO] [stdout] 42 ~ && !file_type.is_dir() { [INFO] [stdout] 43 | utpm_log!(info, "Syncing {}...", result.file_name().to_str().unwrap()); [INFO] [stdout] 44 | file_run(result.path(), cmd).await?; [INFO] [stdout] 45 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/commands.rs:415:1 [INFO] [stdout] | [INFO] [stdout] 415 | / pub enum Workspace { [INFO] [stdout] 416 | | /// Link the current project to the local package directory. [INFO] [stdout] 417 | | #[command(visible_alias = "l")] [INFO] [stdout] 418 | | #[cfg(feature = "link")] [INFO] [stdout] ... | [INFO] [stdout] 439 | | Init(InitArgs), [INFO] [stdout] | | -------------- the largest variant contains at least 448 bytes [INFO] [stdout] ... | [INFO] [stdout] 455 | | Bump(BumpArgs), [INFO] [stdout] | | -------------- the second-largest variant contains at least 72 bytes [INFO] [stdout] ... | [INFO] [stdout] 460 | | Sync(SyncArgs), [INFO] [stdout] 461 | | } [INFO] [stdout] | |_^ the entire enum is at least 448 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] 439 - Init(InitArgs), [INFO] [stdout] 439 + Init(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/commands.rs:465:1 [INFO] [stdout] | [INFO] [stdout] 465 | / pub enum Commands { [INFO] [stdout] 466 | | /// Subcommands for managing the project workspace. [INFO] [stdout] 467 | | #[command(subcommand)] [INFO] [stdout] 468 | | #[command(visible_alias = "ws")] [INFO] [stdout] ... | [INFO] [stdout] 481 | | Workspace(Workspace), [INFO] [stdout] | | -------------------- the largest variant contains at least 448 bytes [INFO] [stdout] ... | [INFO] [stdout] 494 | | Packages(Packages), [INFO] [stdout] | | ------------------ the second-largest variant contains at least 48 bytes [INFO] [stdout] ... | [INFO] [stdout] 499 | | Generate(GenerateArgs), [INFO] [stdout] 500 | | } [INFO] [stdout] | |_^ the entire enum is at least 448 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] 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] 481 - Workspace(Workspace), [INFO] [stdout] 481 + Workspace(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/utils/paths.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | Ok(fs::read_dir(path)?.collect::, _>>()?.len() > 0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!fs::read_dir(path)?.collect::, _>>()?.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: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:54:28 [INFO] [stdout] | [INFO] [stdout] 54 | namespace: if let Some(b) = a.get("namespace") { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 55 | | Some(b.to_string()) [INFO] [stdout] 56 | | } else { [INFO] [stdout] 57 | | None [INFO] [stdout] 58 | | }, [INFO] [stdout] | |_________________^ help: try: `a.get("namespace").map(|b| b.to_string())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:59:31 [INFO] [stdout] | [INFO] [stdout] 59 | dependencies: if let Some(b) = a.get("dependencies") { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 60 | | Some( [INFO] [stdout] 61 | | b.as_array() [INFO] [stdout] 62 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 68 | | None [INFO] [stdout] 69 | | }, [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 59 ~ dependencies: a.get("dependencies").map(|b| b.as_array() [INFO] [stdout] 60 + .unwrap() [INFO] [stdout] 61 + .iter() [INFO] [stdout] 62 + .map(|f| f.to_string()) [INFO] [stdout] 63 ~ .collect()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:70:26 [INFO] [stdout] | [INFO] [stdout] 70 | exclude: if let Some(b) = a.get("exclude") { [INFO] [stdout] | __________________________^ [INFO] [stdout] 71 | | Some( [INFO] [stdout] 72 | | b.as_array() [INFO] [stdout] 73 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 79 | | None [INFO] [stdout] 80 | | }, [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 70 ~ exclude: a.get("exclude").map(|b| b.as_array() [INFO] [stdout] 71 + .unwrap() [INFO] [stdout] 72 + .iter() [INFO] [stdout] 73 + .map(|f| f.to_string()) [INFO] [stdout] 74 ~ .collect()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:97:24 [INFO] [stdout] | [INFO] [stdout] 97 | namespace: if let Some(b) = a.get("namespace") { [INFO] [stdout] | ________________________^ [INFO] [stdout] 98 | | Some(b.to_string()) [INFO] [stdout] 99 | | } else { [INFO] [stdout] 100 | | None [INFO] [stdout] 101 | | }, [INFO] [stdout] | |_____________^ help: try: `a.get("namespace").map(|b| b.to_string())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:102:27 [INFO] [stdout] | [INFO] [stdout] 102 | dependencies: if let Some(b) = a.get("dependencies") { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 103 | | Some( [INFO] [stdout] 104 | | b.as_array() [INFO] [stdout] 105 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 111 | | None [INFO] [stdout] 112 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 102 ~ dependencies: a.get("dependencies").map(|b| b.as_array() [INFO] [stdout] 103 + .unwrap() [INFO] [stdout] 104 + .iter() [INFO] [stdout] 105 + .map(|f| f.to_string()) [INFO] [stdout] 106 ~ .collect()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:113:22 [INFO] [stdout] | [INFO] [stdout] 113 | exclude: if let Some(b) = a.get("exclude") { [INFO] [stdout] | ______________________^ [INFO] [stdout] 114 | | Some( [INFO] [stdout] 115 | | b.as_array() [INFO] [stdout] 116 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 122 | | None [INFO] [stdout] 123 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 113 ~ exclude: a.get("exclude").map(|b| b.as_array() [INFO] [stdout] 114 + .unwrap() [INFO] [stdout] 115 + .iter() [INFO] [stdout] 116 + .map(|f| f.to_string()) [INFO] [stdout] 117 ~ .collect()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/state.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | return st.end(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 158 - return st.end(); [INFO] [stdout] 158 + st.end() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 181 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 181 - return Ok(()); [INFO] [stdout] 181 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/commands/list.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | fn children(&self) -> Cow<[Namespace]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 46 | fn children(&self) -> Cow<'_, [Namespace]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/commands/list.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | fn children(&self) -> Cow<[Package]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 80 | fn children(&self) -> Cow<'_, [Package]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/commands/list.rs:114:17 [INFO] [stdout] | [INFO] [stdout] 114 | fn children(&self) -> Cow<[Self::Child]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 114 | fn children(&self) -> Cow<'_, [Self::Child]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/commands/add.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | if cmd.uri.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `cmd.uri.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/commands/get.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | if cmd.packages.len() != 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!cmd.packages.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: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/commands/init.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | extra.namespace = cmd.namespace.to_owned(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `utils::specs::Extra { namespace: cmd.namespace.to_owned(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/commands/init.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | let mut extra = Extra::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/init.rs:66:18 [INFO] [stdout] | [INFO] [stdout] 66 | license: if let Some(yes) = &cmd.license { [INFO] [stdout] | __________________^ [INFO] [stdout] 67 | | Some(yes.into()) [INFO] [stdout] 68 | | } else { [INFO] [stdout] 69 | | None [INFO] [stdout] 70 | | }, [INFO] [stdout] | |_________^ help: try: `cmd.license.as_ref().map(|yes| yes.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/init.rs:71:22 [INFO] [stdout] | [INFO] [stdout] 71 | description: if let Some(yes) = &cmd.description { [INFO] [stdout] | ______________________^ [INFO] [stdout] 72 | | Some(yes.into()) [INFO] [stdout] 73 | | } else { [INFO] [stdout] 74 | | None [INFO] [stdout] 75 | | }, [INFO] [stdout] | |_________^ help: try: `cmd.description.as_ref().map(|yes| yes.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/init.rs:76:21 [INFO] [stdout] | [INFO] [stdout] 76 | repository: if let Some(yes) = &cmd.repository { [INFO] [stdout] | _____________________^ [INFO] [stdout] 77 | | Some(yes.into()) [INFO] [stdout] 78 | | } else { [INFO] [stdout] 79 | | None [INFO] [stdout] 80 | | }, [INFO] [stdout] | |_________^ help: try: `cmd.repository.as_ref().map(|yes| yes.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/init.rs:81:19 [INFO] [stdout] | [INFO] [stdout] 81 | homepage: if let Some(yes) = &cmd.homepage { [INFO] [stdout] | ___________________^ [INFO] [stdout] 82 | | Some(yes.into()) [INFO] [stdout] 83 | | } else { [INFO] [stdout] 84 | | None [INFO] [stdout] 85 | | }, [INFO] [stdout] | |_________^ help: try: `cmd.homepage.as_ref().map(|yes| yes.into())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/commands/init.rs:91:19 [INFO] [stdout] | [INFO] [stdout] 91 | compiler: if let Some(yes) = &cmd.compiler { [INFO] [stdout] | ___________________^ [INFO] [stdout] 92 | | Some(VersionBound { [INFO] [stdout] 93 | | major: yes.major as u32, [INFO] [stdout] 94 | | minor: Some(yes.minor as u32), [INFO] [stdout] ... | [INFO] [stdout] 98 | | None [INFO] [stdout] 99 | | }, [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 91 ~ compiler: cmd.compiler.as_ref().map(|yes| VersionBound { [INFO] [stdout] 92 + major: yes.major as u32, [INFO] [stdout] 93 + minor: Some(yes.minor as u32), [INFO] [stdout] 94 + patch: Some(yes.patch as u32), [INFO] [stdout] 95 ~ }), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/init.rs:192:37 [INFO] [stdout] | [INFO] [stdout] 192 | .with_validator(&|obj: &str| match spdx::Expression::parse(obj) { [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 193 | | Ok(val) => { [INFO] [stdout] 194 | | for x in val.requirements() { [INFO] [stdout] 195 | | let id = x.req.license.id().unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 204 | | Err(_) => Ok(Validation::Invalid("Can't parse your expression".into())), [INFO] [stdout] 205 | | }) [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] 192 ~ .with_validator(|obj: &str| match spdx::Expression::parse(obj) { [INFO] [stdout] 193 + Ok(val) => { [INFO] [stdout] 194 + for x in val.requirements() { [INFO] [stdout] 195 + let id = x.req.license.id().unwrap(); [INFO] [stdout] 196 + if !id.is_osi_approved() { [INFO] [stdout] 197 + return Ok(Validation::Invalid( [INFO] [stdout] 198 + "It must be an OSI approved!".into(), [INFO] [stdout] 199 + )); [INFO] [stdout] 200 + } [INFO] [stdout] 201 + } [INFO] [stdout] 202 + Ok(Validation::Valid) [INFO] [stdout] 203 + } [INFO] [stdout] 204 + Err(_) => Ok(Validation::Invalid("Can't parse your expression".into())), [INFO] [stdout] 205 ~ }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/commands/init.rs:256:29 [INFO] [stdout] | [INFO] [stdout] 256 | .filter(|f| f.len() > 0) [INFO] [stdout] | ^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!f.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: `to_string` applied to a type that implements `Display` in `format!` args [INFO] [stdout] --> src/commands/init.rs:292:32 [INFO] [stdout] | [INFO] [stdout] 292 | pkg.version.clone().to_string() [INFO] [stdout] | ^^^^^^^^^^^^ help: remove this [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#to_string_in_format_args [INFO] [stdout] = note: `#[warn(clippy::to_string_in_format_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/commands/install.rs:157:8 [INFO] [stdout] | [INFO] [stdout] 157 | if !cmd.url.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `cmd.url.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/commands/install.rs:93:34 [INFO] [stdout] | [INFO] [stdout] 93 | ... .unwrap_or(String::new()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` 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/commands/install.rs:105:27 [INFO] [stdout] | [INFO] [stdout] 105 | builder.clone(&x, Path::new(&path))?; [INFO] [stdout] | ^^ help: change this to: `x` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/install.rs:108:26 [INFO] [stdout] | [INFO] [stdout] 108 | copy_dir_all(&x, &path)?; [INFO] [stdout] | ^^ help: change this to: `x` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/install.rs:126:23 [INFO] [stdout] | [INFO] [stdout] 126 | if check_path_dir(&format!( [INFO] [stdout] | _______________________^ [INFO] [stdout] 127 | | "{}/{}/{}/{}", [INFO] [stdout] 128 | | d_packages()?, [INFO] [stdout] 129 | | namespace, [INFO] [stdout] 130 | | &file.package.name, [INFO] [stdout] 131 | | &file.package.version [INFO] [stdout] 132 | | )) { [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] 126 ~ if check_path_dir(format!( [INFO] [stdout] 127 + "{}/{}/{}/{}", [INFO] [stdout] 128 + d_packages()?, [INFO] [stdout] 129 + namespace, [INFO] [stdout] 130 + &file.package.name, [INFO] [stdout] 131 + &file.package.version [INFO] [stdout] 132 ~ )) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/list.rs:190:33 [INFO] [stdout] | [INFO] [stdout] 190 | for dir_res in fs::read_dir(&typ)? { [INFO] [stdout] | ^^^^ help: change this to: `typ` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/list.rs:202:33 [INFO] [stdout] | [INFO] [stdout] 202 | for dir_res in fs::read_dir(&typ)? { [INFO] [stdout] | ^^^^ help: change this to: `typ` [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: length comparison to zero [INFO] [stdout] --> src/commands/sync.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | if cmd.files.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `cmd.files.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: this `if` statement can be collapsed [INFO] [stdout] --> src/commands/sync.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | / if let Some(file_type) = result.file_type() { [INFO] [stdout] 42 | | if !file_type.is_dir() { [INFO] [stdout] 43 | | utpm_log!(info, "Syncing {}...", result.file_name().to_str().unwrap()); [INFO] [stdout] 44 | | file_run(result.path(), cmd).await?; [INFO] [stdout] 45 | | } [INFO] [stdout] 46 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 41 ~ if let Some(file_type) = result.file_type() [INFO] [stdout] 42 ~ && !file_type.is_dir() { [INFO] [stdout] 43 | utpm_log!(info, "Syncing {}...", result.file_name().to_str().unwrap()); [INFO] [stdout] 44 | file_run(result.path(), cmd).await?; [INFO] [stdout] 45 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/commands.rs:415:1 [INFO] [stdout] | [INFO] [stdout] 415 | / pub enum Workspace { [INFO] [stdout] 416 | | /// Link the current project to the local package directory. [INFO] [stdout] 417 | | #[command(visible_alias = "l")] [INFO] [stdout] 418 | | #[cfg(feature = "link")] [INFO] [stdout] ... | [INFO] [stdout] 439 | | Init(InitArgs), [INFO] [stdout] | | -------------- the largest variant contains at least 448 bytes [INFO] [stdout] ... | [INFO] [stdout] 455 | | Bump(BumpArgs), [INFO] [stdout] | | -------------- the second-largest variant contains at least 72 bytes [INFO] [stdout] ... | [INFO] [stdout] 460 | | Sync(SyncArgs), [INFO] [stdout] 461 | | } [INFO] [stdout] | |_^ the entire enum is at least 448 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] 439 - Init(InitArgs), [INFO] [stdout] 439 + Init(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> src/commands.rs:465:1 [INFO] [stdout] | [INFO] [stdout] 465 | / pub enum Commands { [INFO] [stdout] 466 | | /// Subcommands for managing the project workspace. [INFO] [stdout] 467 | | #[command(subcommand)] [INFO] [stdout] 468 | | #[command(visible_alias = "ws")] [INFO] [stdout] ... | [INFO] [stdout] 481 | | Workspace(Workspace), [INFO] [stdout] | | -------------------- the largest variant contains at least 448 bytes [INFO] [stdout] ... | [INFO] [stdout] 494 | | Packages(Packages), [INFO] [stdout] | | ------------------ the second-largest variant contains at least 48 bytes [INFO] [stdout] ... | [INFO] [stdout] 499 | | Generate(GenerateArgs), [INFO] [stdout] 500 | | } [INFO] [stdout] | |_^ the entire enum is at least 448 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] 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] 481 - Workspace(Workspace), [INFO] [stdout] 481 + Workspace(Box), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/utils/paths.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | Ok(fs::read_dir(path)?.collect::, _>>()?.len() > 0) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!fs::read_dir(path)?.collect::, _>>()?.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: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:54:28 [INFO] [stdout] | [INFO] [stdout] 54 | namespace: if let Some(b) = a.get("namespace") { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 55 | | Some(b.to_string()) [INFO] [stdout] 56 | | } else { [INFO] [stdout] 57 | | None [INFO] [stdout] 58 | | }, [INFO] [stdout] | |_________________^ help: try: `a.get("namespace").map(|b| b.to_string())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:59:31 [INFO] [stdout] | [INFO] [stdout] 59 | dependencies: if let Some(b) = a.get("dependencies") { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 60 | | Some( [INFO] [stdout] 61 | | b.as_array() [INFO] [stdout] 62 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 68 | | None [INFO] [stdout] 69 | | }, [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 59 ~ dependencies: a.get("dependencies").map(|b| b.as_array() [INFO] [stdout] 60 + .unwrap() [INFO] [stdout] 61 + .iter() [INFO] [stdout] 62 + .map(|f| f.to_string()) [INFO] [stdout] 63 ~ .collect()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:70:26 [INFO] [stdout] | [INFO] [stdout] 70 | exclude: if let Some(b) = a.get("exclude") { [INFO] [stdout] | __________________________^ [INFO] [stdout] 71 | | Some( [INFO] [stdout] 72 | | b.as_array() [INFO] [stdout] 73 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 79 | | None [INFO] [stdout] 80 | | }, [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 70 ~ exclude: a.get("exclude").map(|b| b.as_array() [INFO] [stdout] 71 + .unwrap() [INFO] [stdout] 72 + .iter() [INFO] [stdout] 73 + .map(|f| f.to_string()) [INFO] [stdout] 74 ~ .collect()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:97:24 [INFO] [stdout] | [INFO] [stdout] 97 | namespace: if let Some(b) = a.get("namespace") { [INFO] [stdout] | ________________________^ [INFO] [stdout] 98 | | Some(b.to_string()) [INFO] [stdout] 99 | | } else { [INFO] [stdout] 100 | | None [INFO] [stdout] 101 | | }, [INFO] [stdout] | |_____________^ help: try: `a.get("namespace").map(|b| b.to_string())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:102:27 [INFO] [stdout] | [INFO] [stdout] 102 | dependencies: if let Some(b) = a.get("dependencies") { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 103 | | Some( [INFO] [stdout] 104 | | b.as_array() [INFO] [stdout] 105 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 111 | | None [INFO] [stdout] 112 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 102 ~ dependencies: a.get("dependencies").map(|b| b.as_array() [INFO] [stdout] 103 + .unwrap() [INFO] [stdout] 104 + .iter() [INFO] [stdout] 105 + .map(|f| f.to_string()) [INFO] [stdout] 106 ~ .collect()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/utils/specs.rs:113:22 [INFO] [stdout] | [INFO] [stdout] 113 | exclude: if let Some(b) = a.get("exclude") { [INFO] [stdout] | ______________________^ [INFO] [stdout] 114 | | Some( [INFO] [stdout] 115 | | b.as_array() [INFO] [stdout] 116 | | .unwrap() [INFO] [stdout] ... | [INFO] [stdout] 122 | | None [INFO] [stdout] 123 | | }, [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 113 ~ exclude: a.get("exclude").map(|b| b.as_array() [INFO] [stdout] 114 + .unwrap() [INFO] [stdout] 115 + .iter() [INFO] [stdout] 116 + .map(|f| f.to_string()) [INFO] [stdout] 117 ~ .collect()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/utils/state.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | return st.end(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 158 - return st.end(); [INFO] [stdout] 158 + st.end() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 181 | return Ok(()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 181 - return Ok(()); [INFO] [stdout] 181 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/commands/list.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | fn children(&self) -> Cow<[Namespace]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 46 | fn children(&self) -> Cow<'_, [Namespace]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/commands/list.rs:80:17 [INFO] [stdout] | [INFO] [stdout] 80 | fn children(&self) -> Cow<[Package]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 80 | fn children(&self) -> Cow<'_, [Package]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/commands/list.rs:114:17 [INFO] [stdout] | [INFO] [stdout] 114 | fn children(&self) -> Cow<[Self::Child]> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 114 | fn children(&self) -> Cow<'_, [Self::Child]> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 12s [INFO] running `Command { std: "docker" "inspect" "0dea9f6ae1fa2418918e3e51abde356a797c74fae33a6a8f393bdebb65a0bf5f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0dea9f6ae1fa2418918e3e51abde356a797c74fae33a6a8f393bdebb65a0bf5f", kill_on_drop: false }` [INFO] [stdout] 0dea9f6ae1fa2418918e3e51abde356a797c74fae33a6a8f393bdebb65a0bf5f