[INFO] fetching crate elifrs 0.13.0... [INFO] linting elifrs-0.13.0 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate elifrs 0.13.0 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate elifrs 0.13.0 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate elifrs 0.13.0 [INFO] tweaked toml for crates.io crate elifrs 0.13.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate elifrs 0.13.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 elifrs 0.13.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 toml_write v0.1.2 [INFO] [stderr] Downloaded cfg-if v1.0.3 [INFO] [stderr] Downloaded humansize v2.1.3 [INFO] [stderr] Downloaded libredox v0.1.9 [INFO] [stderr] Downloaded hashlink v0.8.4 [INFO] [stderr] Downloaded atoi v2.0.0 [INFO] [stderr] Downloaded crc v3.3.0 [INFO] [stderr] Downloaded elif-macros v0.2.4 [INFO] [stderr] Downloaded tracing-log v0.2.0 [INFO] [stderr] Downloaded html-escape v0.2.13 [INFO] [stderr] Downloaded mime_guess v2.0.5 [INFO] [stderr] Downloaded arrayref v0.3.9 [INFO] [stderr] Downloaded pem v3.0.5 [INFO] [stderr] Downloaded cipher v0.4.4 [INFO] [stderr] Downloaded elif-core v0.5.0 [INFO] [stderr] Downloaded elif-cache v0.3.0 [INFO] [stderr] Downloaded http-body v0.4.6 [INFO] [stderr] Downloaded tinytemplate v1.2.1 [INFO] [stderr] Downloaded elif-openapi-derive v0.2.0 [INFO] [stderr] Downloaded elif-introspect v0.3.0 [INFO] [stderr] Downloaded anstyle-query v1.1.4 [INFO] [stderr] Downloaded once_cell_polyfill v1.70.1 [INFO] [stderr] Downloaded anstyle-parse v0.2.7 [INFO] [stderr] Downloaded windows_aarch64_msvc v0.53.0 [INFO] [stderr] Downloaded hyper-util v0.1.16 [INFO] [stderr] Downloaded brotli v8.0.2 [INFO] [stderr] Downloaded is_terminal_polyfill v1.70.1 [INFO] [stderr] Downloaded windows_aarch64_gnullvm v0.48.5 [INFO] [stderr] Downloaded windows_x86_64_gnullvm v0.48.5 [INFO] [stderr] Downloaded anstyle v1.0.11 [INFO] [stderr] Downloaded hyper v1.7.0 [INFO] [stderr] Downloaded clap_derive v4.5.45 [INFO] [stderr] Downloaded libssh2-sys v0.3.1 [INFO] [stderr] Downloaded axum v0.7.9 [INFO] [stderr] Downloaded web-sys v0.3.77 [INFO] [stderr] Downloaded clap v4.5.45 [INFO] [stderr] Downloaded csv-core v0.1.12 [INFO] [stderr] Downloaded windows_i686_gnu v0.53.0 [INFO] [stderr] Downloaded windows_x86_64_gnu v0.48.5 [INFO] [stderr] Downloaded windows_x86_64_msvc v0.48.5 [INFO] [stderr] Downloaded windows_aarch64_msvc v0.48.5 [INFO] [stderr] Downloaded windows_i686_gnu v0.48.5 [INFO] [stderr] Downloaded libz-sys v1.1.22 [INFO] [stderr] Downloaded windows_i686_msvc v0.48.5 [INFO] [stderr] Downloaded windows_i686_msvc v0.53.0 [INFO] [stderr] Downloaded blake3 v1.8.2 [INFO] [stderr] Downloaded anstyle-wincon v3.0.10 [INFO] [stderr] Downloaded colorchoice v1.0.4 [INFO] [stderr] Downloaded utf8parse v0.2.2 [INFO] [stderr] Downloaded anstream v0.6.20 [INFO] [stderr] Downloaded winreg v0.50.0 [INFO] [stderr] Downloaded headers v0.4.1 [INFO] [stderr] Downloaded h2 v0.4.12 [INFO] [stderr] Downloaded windows_i686_gnullvm v0.53.0 [INFO] [stderr] Downloaded windows_x86_64_gnu v0.53.0 [INFO] [stderr] Downloaded windows_x86_64_msvc v0.53.0 [INFO] [stderr] Downloaded libc v0.2.175 [INFO] [stderr] Downloaded encoding_rs v0.8.35 [INFO] [stderr] Downloaded tokio v1.47.1 [INFO] [stderr] Downloaded clap_lex v0.7.5 [INFO] [stderr] Downloaded hyper-tls v0.5.0 [INFO] [stderr] Downloaded windows_aarch64_gnullvm v0.53.0 [INFO] [stderr] Downloaded windows_x86_64_gnullvm v0.53.0 [INFO] [stderr] Downloaded inventory v0.3.21 [INFO] [stderr] Downloaded ipnet v2.11.0 [INFO] [stderr] Downloaded libgit2-sys v0.17.0+1.8.1 [INFO] [stderr] Downloaded elif-openapi v0.2.1 [INFO] [stderr] Downloaded tower v0.5.2 [INFO] [stderr] Downloaded unicode-width v0.2.1 [INFO] [stderr] Downloaded unicode-width v0.1.14 [INFO] [stderr] Downloaded try-lock v0.2.5 [INFO] [stderr] Downloaded h2 v0.3.27 [INFO] [stderr] Downloaded http v0.2.12 [INFO] [stderr] Downloaded qrcode v0.14.1 [INFO] [stderr] Downloaded sync_wrapper v0.1.2 [INFO] [stderr] Downloaded system-configuration-sys v0.5.0 [INFO] [stderr] Downloaded num-bigint v0.4.6 [INFO] [stderr] Downloaded system-configuration v0.5.1 [INFO] [stderr] Downloaded image v0.25.6 [INFO] [stderr] Downloaded windows-sys v0.48.0 [INFO] [stderr] Downloaded tokio-native-tls v0.3.1 [INFO] [stderr] Downloaded elif-core v0.6.1 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.50 [INFO] [stderr] Downloaded inout v0.1.4 [INFO] [stderr] Downloaded bytemuck v1.23.2 [INFO] [stderr] Downloaded totp-lite v2.0.1 [INFO] [stderr] Downloaded elif-codegen v0.4.0 [INFO] [stderr] Downloaded want v0.3.1 [INFO] [stderr] Downloaded base32 v0.5.1 [INFO] [stderr] Downloaded jsonwebtoken v9.3.1 [INFO] [stderr] Downloaded regex-automata v0.4.9 [INFO] [stderr] Downloaded deranged v0.4.0 [INFO] [stderr] Downloaded time-core v0.1.4 [INFO] [stderr] Downloaded windows v0.57.0 [INFO] [stderr] Downloaded time v0.3.41 [INFO] [stderr] Downloaded time-macros v0.2.22 [INFO] [stderr] Downloaded hyper v0.14.32 [INFO] [stderr] Downloaded simple_asn1 v0.6.3 [INFO] [stderr] Downloaded byteorder-lite v0.1.0 [INFO] [stderr] Downloaded reqwest v0.11.27 [INFO] [stderr] Downloaded brotli-decompressor v5.0.0 [INFO] [stderr] Downloaded sqlparser v0.49.0 [INFO] [stderr] Downloaded elif-orm v0.7.1 [INFO] [stderr] Downloaded git2 v0.19.0 [INFO] [stderr] Downloaded clap_builder v4.5.44 [INFO] [stderr] Downloaded csv v1.3.1 [INFO] [stderr] Downloaded portable-atomic v1.11.1 [INFO] [stderr] Downloaded hkdf v0.12.4 [INFO] [stderr] Downloaded blake2 v0.10.6 [INFO] [stderr] Downloaded password-hash v0.5.0 [INFO] [stderr] Downloaded argon2 v0.5.3 [INFO] [stderr] Downloaded matchit v0.7.3 [INFO] [stderr] Downloaded serde_path_to_error v0.1.17 [INFO] [stderr] Downloaded tower v0.4.13 [INFO] [stderr] Downloaded async-compression v0.4.27 [INFO] [stderr] Downloaded regex-syntax v0.6.29 [INFO] [stderr] Downloaded regex-automata v0.1.10 [INFO] [stderr] Downloaded scc v2.4.0 [INFO] [stderr] Downloaded unicode-normalization v0.1.24 [INFO] [stderr] Downloaded wildmatch v2.4.0 [INFO] [stderr] Downloaded axum-core v0.4.5 [INFO] [stderr] Downloaded serde_urlencoded v0.7.1 [INFO] [stderr] Downloaded flate2 v1.1.2 [INFO] [stderr] Downloaded elif-core v0.7.1 [INFO] [stderr] Downloaded tokio-util v0.7.16 [INFO] [stderr] Downloaded crossterm v0.25.0 [INFO] [stderr] Downloaded num-bigint-dig v0.8.4 [INFO] [stderr] Downloaded rustix v1.0.8 [INFO] [stderr] Downloaded blowfish v0.9.1 [INFO] [stderr] Downloaded bcrypt v0.15.1 [INFO] [stderr] Downloaded elif-auth v0.4.1 [INFO] [stderr] Downloaded tungstenite v0.24.0 [INFO] [stderr] Downloaded tungstenite v0.23.0 [INFO] [stderr] Downloaded indicatif v0.17.11 [INFO] [stderr] Downloaded inquire v0.7.5 [INFO] [stderr] Downloaded mio v0.8.11 [INFO] [stderr] Downloaded chrono-tz v0.9.0 [INFO] [stderr] Downloaded bstr v1.12.0 [INFO] [stderr] Downloaded regex-syntax v0.8.5 [INFO] [stderr] Downloaded tokio-tungstenite v0.24.0 [INFO] [stderr] Downloaded headers-core v0.3.0 [INFO] [stderr] Downloaded multer v3.1.0 [INFO] [stderr] Downloaded sync_wrapper v1.0.2 [INFO] [stderr] Downloaded axum-extra v0.9.6 [INFO] [stderr] Downloaded ctor v0.2.9 [INFO] [stderr] Downloaded utf8-width v0.1.7 [INFO] [stderr] Downloaded tokio-tungstenite v0.23.1 [INFO] [stderr] Downloaded alloc-stdlib v0.2.2 [INFO] [stderr] Downloaded http-body v1.0.1 [INFO] [stderr] Downloaded tower-layer v0.3.3 [INFO] [stderr] Downloaded tower-http v0.5.2 [INFO] [stderr] Downloaded tracing-subscriber v0.3.19 [INFO] [stderr] Downloaded elif-http v0.8.8 [INFO] [stderr] Downloaded anyhow v1.0.99 [INFO] [stderr] Downloaded tokio-postgres v0.7.13 [INFO] [stderr] Downloaded encode_unicode v1.0.0 [INFO] [stderr] Downloaded unsafe-libyaml v0.2.11 [INFO] [stderr] Downloaded serde_yaml v0.9.34+deprecated [INFO] [stderr] Downloaded darling_core v0.20.11 [INFO] [stderr] Downloaded der v0.7.10 [INFO] [stderr] Downloaded rsa v0.9.8 [INFO] [stderr] Downloaded hmac v0.12.1 [INFO] [stderr] Downloaded unicode-bidi v0.3.18 [INFO] [stderr] Downloaded tinyvec v1.10.0 [INFO] [stderr] Downloaded unicode-properties v0.1.3 [INFO] [stderr] Downloaded zerocopy v0.8.26 [INFO] [stderr] Downloaded constant_time_eq v0.3.1 [INFO] [stderr] Downloaded lru v0.12.5 [INFO] [stderr] Downloaded alloc-no-stdlib v2.0.4 [INFO] [stderr] Downloaded http-body-util v0.1.3 [INFO] [stderr] Downloaded postgres-protocol v0.6.8 [INFO] [stderr] Downloaded postgres-types v0.2.9 [INFO] [stderr] Downloaded humantime v2.2.0 [INFO] [stderr] Downloaded termcolor v1.4.1 [INFO] [stderr] Downloaded console v0.15.11 [INFO] [stderr] Downloaded web-time v1.1.0 [INFO] [stderr] Downloaded kqueue v1.1.1 [INFO] [stderr] Downloaded notify v6.1.1 [INFO] [stderr] Downloaded futures v0.3.31 [INFO] [stderr] Downloaded sdd v3.0.10 [INFO] [stderr] Downloaded sqlx-macros-core v0.7.4 [INFO] [stderr] Downloaded pkcs1 v0.7.5 [INFO] [stderr] Downloaded pkcs8 v0.10.2 [INFO] [stderr] Downloaded sqlx-mysql v0.7.4 [INFO] [stderr] Downloaded dotenvy v0.15.7 [INFO] [stderr] Downloaded md-5 v0.10.6 [INFO] [stderr] Downloaded sqlx-postgres v0.7.4 [INFO] [stderr] Downloaded rustls v0.21.12 [INFO] [stderr] Downloaded webpki-roots v0.25.4 [INFO] [stderr] Downloaded rayon v1.11.0 [INFO] [stderr] Downloaded sysinfo v0.32.1 [INFO] [stderr] Downloaded aho-corasick v1.1.3 [INFO] [stderr] Downloaded regex v1.11.1 [INFO] [stderr] Downloaded syn v2.0.106 [INFO] [stderr] Downloaded tower-service v0.3.3 [INFO] [stderr] Downloaded overload v0.1.1 [INFO] [stderr] Downloaded dashmap v5.5.3 [INFO] [stderr] Downloaded num_cpus v1.17.0 [INFO] [stderr] Downloaded fallible-iterator v0.2.0 [INFO] [stderr] Downloaded env_logger v0.10.2 [INFO] [stderr] Downloaded elif-web v0.8.7 [INFO] [stderr] Downloaded crossterm_winapi v0.9.1 [INFO] [stderr] Downloaded fuzzy-matcher v0.3.7 [INFO] [stderr] Downloaded newline-converter v0.3.0 [INFO] [stderr] Downloaded filetime v0.2.26 [INFO] [stderr] Downloaded inotify-sys v0.1.5 [INFO] [stderr] Downloaded inotify v0.9.6 [INFO] [stderr] Downloaded kqueue-sys v1.0.4 [INFO] [stderr] Downloaded darling v0.20.11 [INFO] [stderr] Downloaded base64ct v1.8.0 [INFO] [stderr] Downloaded pem-rfc7468 v0.7.0 [INFO] [stderr] Downloaded spki v0.7.3 [INFO] [stderr] Downloaded zeroize v1.8.1 [INFO] [stderr] Downloaded windows-targets v0.48.5 [INFO] [stderr] Downloaded tinyvec_macros v0.1.1 [INFO] [stderr] Downloaded flume v0.11.1 [INFO] [stderr] Downloaded rustls-webpki v0.101.7 [INFO] [stderr] Downloaded sqlx v0.7.4 [INFO] [stderr] Downloaded ntapi v0.4.1 [INFO] [stderr] Downloaded cc v1.2.33 [INFO] [stderr] Downloaded libm v0.2.15 [INFO] [stderr] Downloaded tera v1.20.0 [INFO] [stderr] Downloaded winnow v0.7.12 [INFO] [stderr] Downloaded http-range-header v0.4.2 [INFO] [stderr] Downloaded unicase v2.8.1 [INFO] [stderr] Downloaded matchers v0.1.0 [INFO] [stderr] Downloaded nu-ansi-term v0.46.0 [INFO] [stderr] Downloaded tungstenite v0.21.0 [INFO] [stderr] Downloaded elif-http-derive v0.2.11 [INFO] [stderr] Downloaded is-terminal v0.4.16 [INFO] [stderr] Downloaded number_prefix v0.4.0 [INFO] [stderr] Downloaded signal-hook-mio v0.2.4 [INFO] [stderr] Downloaded dyn-clone v1.0.20 [INFO] [stderr] Downloaded fsevent-sys v4.1.0 [INFO] [stderr] Downloaded strsim v0.11.1 [INFO] [stderr] Downloaded service-builder-macro v0.3.0 [INFO] [stderr] Downloaded sqlx-macros v0.7.4 [INFO] [stderr] Downloaded num-integer v0.1.46 [INFO] [stderr] Downloaded etcetera v0.8.0 [INFO] [stderr] Downloaded stringprep v0.1.5 [INFO] [stderr] Downloaded futures-intrusive v0.5.0 [INFO] [stderr] Downloaded nom v7.1.3 [INFO] [stderr] Downloaded sqlx-core v0.7.4 [INFO] [stderr] Downloaded parse-zoneinfo v0.3.1 [INFO] [stderr] Downloaded pest v2.8.1 [INFO] [stderr] Downloaded typenum v1.18.0 [INFO] [stderr] Downloaded zerovec v0.11.4 [INFO] [stderr] Downloaded tracing-serde v0.2.0 [INFO] [stderr] Downloaded serial_test v3.2.0 [INFO] [stderr] Downloaded darling_macro v0.20.11 [INFO] [stderr] Downloaded service-builder v0.3.0 [INFO] [stderr] Downloaded num-iter v0.1.45 [INFO] [stderr] Downloaded unicode_categories v0.1.1 [INFO] [stderr] Downloaded uuid v1.18.0 [INFO] [stderr] Downloaded windows-core v0.57.0 [INFO] [stderr] Downloaded ignore v0.4.23 [INFO] [stderr] Downloaded ucd-trie v0.1.7 [INFO] [stderr] Downloaded pest_derive v2.8.1 [INFO] [stderr] Downloaded zerocopy-derive v0.8.26 [INFO] [stderr] Downloaded serde_json v1.0.143 [INFO] [stderr] Downloaded deunicode v1.6.2 [INFO] [stderr] Downloaded redox_syscall v0.5.17 [INFO] [stderr] Downloaded serial_test_derive v3.2.0 [INFO] [stderr] Downloaded signature v2.2.0 [INFO] [stderr] Downloaded whoami v1.6.1 [INFO] [stderr] Downloaded crc-catalog v2.4.0 [INFO] [stderr] Downloaded libsqlite3-sys v0.27.0 [INFO] [stderr] Downloaded base64 v0.21.7 [INFO] [stderr] Downloaded either v1.15.0 [INFO] [stderr] Downloaded crossbeam-deque v0.8.6 [INFO] [stderr] Downloaded globset v0.4.16 [INFO] [stderr] Downloaded unic-ucd-segment v0.9.0 [INFO] [stderr] Downloaded io-uring v0.7.9 [INFO] [stderr] Downloaded minimal-lexical v0.2.1 [INFO] [stderr] Downloaded valuable v0.1.1 [INFO] [stderr] Downloaded sqlx-sqlite v0.7.4 [INFO] [stderr] Downloaded rayon-core v1.13.0 [INFO] [stderr] Downloaded jobserver v0.1.34 [INFO] [stderr] Downloaded const-oid v0.9.6 [INFO] [stderr] Downloaded bitflags v2.9.2 [INFO] [stderr] Downloaded indexmap v2.10.0 [INFO] [stderr] Downloaded event-listener v2.5.3 [INFO] [stderr] Downloaded sct v0.7.1 [INFO] [stderr] Downloaded windows-implement v0.57.0 [INFO] [stderr] Downloaded windows-result v0.1.2 [INFO] [stderr] Downloaded tempfile v3.21.0 [INFO] [stderr] Downloaded chrono-tz-build v0.3.0 [INFO] [stderr] Downloaded crossbeam-epoch v0.9.18 [INFO] [stderr] Downloaded pest_generator v2.8.1 [INFO] [stderr] Downloaded unic-char-range v0.9.0 [INFO] [stderr] Downloaded unic-common v0.9.0 [INFO] [stderr] Downloaded unic-ucd-version v0.9.0 [INFO] [stderr] Downloaded unic-segment v0.9.0 [INFO] [stderr] Downloaded socket2 v0.6.0 [INFO] [stderr] Downloaded proc-macro2 v1.0.101 [INFO] [stderr] Downloaded rustls-pemfile v1.0.4 [INFO] [stderr] Downloaded sqlformat v0.2.6 [INFO] [stderr] Downloaded tokio-stream v0.1.17 [INFO] [stderr] Downloaded sha1_smol v1.0.1 [INFO] [stderr] Downloaded errno v0.3.13 [INFO] [stderr] Downloaded globwalk v0.9.1 [INFO] [stderr] Downloaded spin v0.9.8 [INFO] [stderr] Downloaded thiserror v2.0.16 [INFO] [stderr] Downloaded pest_meta v2.8.1 [INFO] [stderr] Downloaded unic-char-property v0.9.0 [INFO] [stderr] Downloaded rustc-demangle v0.1.26 [INFO] [stderr] Downloaded toml_datetime v0.6.11 [INFO] [stderr] Downloaded toml_edit v0.22.27 [INFO] [stderr] Downloaded wasite v0.1.0 [INFO] [stderr] Downloaded crossbeam-queue v0.3.12 [INFO] [stderr] Downloaded paste v1.0.15 [INFO] [stderr] Downloaded windows-interface v0.57.0 [INFO] [stderr] Downloaded windows-targets v0.53.3 [INFO] [stderr] Downloaded winapi-util v0.1.10 [INFO] [stderr] Downloaded thiserror-impl v2.0.16 [INFO] [stderr] Downloaded slug v0.1.6 [INFO] [stderr] Downloaded toml v0.8.23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8839ed0a7d98ce0f3f1d1f0013f070c2804073b91a64e330ab9dc5dab5aef5d0 [INFO] running `Command { std: "docker" "start" "-a" "8839ed0a7d98ce0f3f1d1f0013f070c2804073b91a64e330ab9dc5dab5aef5d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8839ed0a7d98ce0f3f1d1f0013f070c2804073b91a64e330ab9dc5dab5aef5d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8839ed0a7d98ce0f3f1d1f0013f070c2804073b91a64e330ab9dc5dab5aef5d0", kill_on_drop: false }` [INFO] [stdout] 8839ed0a7d98ce0f3f1d1f0013f070c2804073b91a64e330ab9dc5dab5aef5d0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 95e87d6d7b758d60ee345442e37b52f71647364906a6cbf28b42e4bd2fc16404 [INFO] running `Command { std: "docker" "start" "-a" "95e87d6d7b758d60ee345442e37b52f71647364906a6cbf28b42e4bd2fc16404", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Checking cfg-if v1.0.3 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Checking tracing-core v0.1.34 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking slab v0.4.11 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling cc v1.2.33 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking foldhash v0.1.5 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Checking indexmap v2.10.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Checking cpufeatures v0.2.17 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking http v1.3.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking bitflags v2.9.2 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking litemap v0.8.0 [INFO] [stderr] Checking writeable v0.6.1 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Checking iana-time-zone v0.1.63 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Checking sha1_smol v1.0.1 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Checking tokio v1.47.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Checking zerovec v0.11.4 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling service-builder-macro v0.3.0 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.2 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling rustix v1.0.8 [INFO] [stderr] Checking tokio-util v0.7.16 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking tinyvec v1.10.0 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking service-builder v0.3.0 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking uuid v1.18.0 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking data-encoding v2.9.0 [INFO] [stderr] Checking unicode-properties v0.1.3 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Checking unicode-bidi v0.3.18 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling crc v3.3.0 [INFO] [stderr] Checking stringprep v0.1.5 [INFO] [stderr] Compiling sqlformat v0.2.6 [INFO] [stderr] Compiling rustls-pemfile v1.0.4 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling hashlink v0.8.4 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Checking md-5 v0.10.6 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Checking siphasher v1.0.1 [INFO] [stderr] Compiling webpki-roots v0.25.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking tower-layer v0.3.3 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling whoami v1.6.1 [INFO] [stderr] Checking atomic-waker v1.1.2 [INFO] [stderr] Compiling home v0.5.11 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling sqlx-core v0.7.4 [INFO] [stderr] Compiling anyhow v1.0.99 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking h2 v0.4.12 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Compiling tempfile v3.21.0 [INFO] [stderr] Compiling libz-sys v1.1.22 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Checking fallible-iterator v0.2.0 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking postgres-protocol v0.6.8 [INFO] [stderr] Compiling sqlx-postgres v0.7.4 [INFO] [stderr] Checking brotli-decompressor v5.0.0 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Checking tungstenite v0.24.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking base64ct v1.8.0 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking openssl-probe v0.1.6 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Compiling time-macros v0.2.22 [INFO] [stderr] Checking deranged v0.4.0 [INFO] [stderr] Checking hyper v1.7.0 [INFO] [stderr] Checking tokio-tungstenite v0.24.0 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Checking hyper-util v0.1.16 [INFO] [stderr] Checking brotli v8.0.2 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Compiling sqlx-macros-core v0.7.4 [INFO] [stderr] Checking postgres-types v0.2.9 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Compiling parse-zoneinfo v0.3.1 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking elif-core v0.7.1 [INFO] [stderr] Checking serde_path_to_error v0.1.17 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Checking headers-core v0.3.0 [INFO] [stderr] Compiling libssh2-sys v0.3.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking matchit v0.7.3 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling sqlx-macros v0.7.4 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Compiling pest v2.8.1 [INFO] [stderr] Checking axum v0.7.9 [INFO] [stderr] Checking async-compression v0.4.27 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking time v0.3.41 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking headers v0.4.1 [INFO] [stderr] Compiling chrono-tz-build v0.3.0 [INFO] [stderr] Checking tokio-postgres v0.7.13 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking tungstenite v0.23.0 [INFO] [stderr] Checking tracing-serde v0.2.0 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Compiling blake3 v1.8.2 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking bstr v1.12.0 [INFO] [stderr] Checking sqlparser v0.49.0 [INFO] [stderr] Checking unic-common v0.9.0 [INFO] [stderr] Checking unic-char-range v0.9.0 [INFO] [stderr] Checking bytemuck v1.23.2 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Checking sqlx v0.7.4 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Checking utf8-width v0.1.7 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking http-range-header v0.4.2 [INFO] [stderr] Checking image v0.25.6 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Checking tower-http v0.5.2 [INFO] [stderr] Checking html-escape v0.2.13 [INFO] [stderr] Checking globset v0.4.16 [INFO] [stderr] Checking unic-char-property v0.9.0 [INFO] [stderr] Checking unic-ucd-version v0.9.0 [INFO] [stderr] Checking tracing-subscriber v0.3.19 [INFO] [stderr] Checking tokio-tungstenite v0.23.1 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking simple_asn1 v0.6.3 [INFO] [stderr] Compiling chrono-tz v0.9.0 [INFO] [stderr] Compiling pest_meta v2.8.1 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking blowfish v0.9.1 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking tungstenite v0.21.0 [INFO] [stderr] Checking axum-extra v0.9.6 [INFO] [stderr] Checking elif-core v0.5.0 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Compiling ctor v0.2.9 [INFO] [stderr] Checking pem v3.0.5 [INFO] [stderr] Compiling libgit2-sys v0.17.0+1.8.1 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking anstyle-query v1.1.4 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Checking constant_time_eq v0.3.1 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Checking winnow v0.7.12 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Compiling humantime v2.2.0 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking anstream v0.6.20 [INFO] [stderr] Compiling env_logger v0.10.2 [INFO] [stderr] Checking bcrypt v0.15.1 [INFO] [stderr] Checking elif-http v0.8.8 [INFO] [stderr] Checking jsonwebtoken v9.3.1 [INFO] [stderr] Compiling pest_generator v2.8.1 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking qrcode v0.14.1 [INFO] [stderr] Checking unic-ucd-segment v0.9.0 [INFO] [stderr] Checking ignore v0.4.23 [INFO] [stderr] Checking elif-orm v0.7.1 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking totp-lite v2.0.1 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking wildmatch v2.4.0 [INFO] [stderr] Checking unicode-width v0.2.1 [INFO] [stderr] Checking ipnet v2.11.0 [INFO] [stderr] Checking sync_wrapper v0.1.2 [INFO] [stderr] Checking base32 v0.5.1 [INFO] [stderr] Checking deunicode v1.6.2 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking humansize v2.1.3 [INFO] [stderr] Checking newline-converter v0.3.0 [INFO] [stderr] Checking clap_builder v4.5.44 [INFO] [stderr] Checking slug v0.1.6 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Compiling clap_derive v4.5.45 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking elif-cache v0.3.0 [INFO] [stderr] Checking inotify v0.9.6 [INFO] [stderr] Checking globwalk v0.9.1 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking unic-segment v0.9.0 [INFO] [stderr] Compiling pest_derive v2.8.1 [INFO] [stderr] Checking crossterm v0.25.0 [INFO] [stderr] Compiling elif-macros v0.2.4 [INFO] [stderr] Checking fuzzy-matcher v0.3.7 [INFO] [stderr] Compiling elif-openapi-derive v0.2.0 [INFO] [stderr] Checking elif-core v0.6.1 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Compiling elif-http-derive v0.2.11 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking filetime v0.2.26 [INFO] [stderr] Checking csv-core v0.1.12 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Checking inventory v0.3.21 [INFO] [stderr] Checking sdd v3.0.10 [INFO] [stderr] Checking dyn-clone v1.0.20 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking elif-auth v0.4.1 [INFO] [stderr] Checking inquire v0.7.5 [INFO] [stderr] Checking sysinfo v0.32.1 [INFO] [stderr] Checking elif-openapi v0.2.1 [INFO] [stderr] Checking scc v2.4.0 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking tera v1.20.0 [INFO] [stderr] Checking elif-web v0.8.7 [INFO] [stderr] Checking indicatif v0.17.11 [INFO] [stderr] Checking notify v6.1.1 [INFO] [stderr] Checking elif-introspect v0.3.0 [INFO] [stderr] Checking elif-codegen v0.4.0 [INFO] [stderr] Checking clap v4.5.45 [INFO] [stderr] Compiling serial_test_derive v3.2.0 [INFO] [stderr] Checking serial_test v3.2.0 [INFO] [stderr] Checking git2 v0.19.0 [INFO] [stderr] Checking elifrs v0.13.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary `if let` since only the `Ok` variant of the iterator element is used [INFO] [stdout] --> examples/cli_usage_demo.rs:417:17 [INFO] [stdout] | [INFO] [stdout] 417 | / for entry in entries { [INFO] [stdout] 418 | | if let Ok(entry) = entry { [INFO] [stdout] 419 | | let name = entry.file_name().to_string_lossy().to_string(); [INFO] [stdout] 420 | | if entry.path().is_dir() { [INFO] [stdout] ... | [INFO] [stdout] 426 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] help: try `.flatten()` and remove the `if let` statement in the for loop [INFO] [stdout] --> examples/cli_usage_demo.rs:418:21 [INFO] [stdout] | [INFO] [stdout] 418 | / if let Ok(entry) = entry { [INFO] [stdout] 419 | | let name = entry.file_name().to_string_lossy().to_string(); [INFO] [stdout] 420 | | if entry.path().is_dir() { [INFO] [stdout] 421 | | println!("{}📁 {}/", indent_str, name); [INFO] [stdout] ... | [INFO] [stdout] 425 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_flatten [INFO] [stdout] = note: `#[warn(clippy::manual_flatten)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 417 ~ for entry in entries.flatten() { [INFO] [stdout] 418 + let name = entry.file_name().to_string_lossy().to_string(); [INFO] [stdout] 419 + if entry.path().is_dir() { [INFO] [stdout] 420 ~ println!("{}📁 {}/", indent_str, name); [INFO] [stdout] 421 + } else { [INFO] [stdout] 422 ~ println!("{}📄 {}", indent_str, name); [INFO] [stdout] 423 + } [INFO] [stdout] 424 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `table` after checking its variant with `is_some` [INFO] [stdout] --> src/commands/add.rs:208:26 [INFO] [stdout] | [INFO] [stdout] 207 | let seeder_content = if factory && table.is_some() { [INFO] [stdout] | --------------- the check is happening here [INFO] [stdout] 208 | let table_name = table.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/build.rs:83:39 [INFO] [stdout] | [INFO] [stdout] 83 | let output = cmd.output().map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/build.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | cmd.args(&["build", "-t", &image_tag, "."]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["build", "-t", &image_tag, "."]` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/build.rs:114:18 [INFO] [stdout] | [INFO] [stdout] 114 | cmd.args(&["--build-arg", "RUST_PROFILE=release"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["--build-arg", "RUST_PROFILE=release"]` [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/build.rs:116:18 [INFO] [stdout] | [INFO] [stdout] 116 | cmd.args(&["--build-arg", "RUST_PROFILE=debug"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["--build-arg", "RUST_PROFILE=debug"]` [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: redundant closure [INFO] [stdout] --> src/commands/build.rs:121:39 [INFO] [stdout] | [INFO] [stdout] 121 | let output = cmd.output().map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/build.rs:144:18 [INFO] [stdout] | [INFO] [stdout] 144 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/build.rs:142:15 [INFO] [stdout] | [INFO] [stdout] 142 | .args(&["target", "list", "--installed"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["target", "list", "--installed"]` [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: redundant closure [INFO] [stdout] --> src/commands/build.rs:152:22 [INFO] [stdout] | [INFO] [stdout] 152 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/build.rs:150:19 [INFO] [stdout] | [INFO] [stdout] 150 | .args(&["target", "add", "wasm32-unknown-unknown"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["target", "add", "wasm32-unknown-unknown"]` [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/build.rs:163:14 [INFO] [stdout] | [INFO] [stdout] 163 | cmd.args(&["build", "--target", "wasm32-unknown-unknown"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["build", "--target", "wasm32-unknown-unknown"]` [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: redundant closure [INFO] [stdout] --> src/commands/build.rs:169:39 [INFO] [stdout] | [INFO] [stdout] 169 | let output = cmd.output().map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/build.rs:236:18 [INFO] [stdout] | [INFO] [stdout] 236 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: called `unwrap` on `module` after checking its variant with `is_none` [INFO] [stdout] --> src/commands/check.rs:40:50 [INFO] [stdout] | [INFO] [stdout] 36 | if module.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = module` [INFO] [stdout] ... [INFO] [stdout] 40 | println!("🔗 Checking module: {}...", module.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `module` after checking its variant with `is_none` [INFO] [stdout] --> src/commands/check.rs:41:49 [INFO] [stdout] | [INFO] [stdout] 36 | if module.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = module` [INFO] [stdout] ... [INFO] [stdout] 41 | check_specific_module(&mut results, module.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/db.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | .unwrap_or_else(|| SeederManager::current_environment()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `SeederManager::current_environment` [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: redundant closure [INFO] [stdout] --> src/commands/db.rs:30:18 [INFO] [stdout] | [INFO] [stdout] 30 | .map(|e| Environment::from_str(e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Environment::from_str` [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: redundant closure [INFO] [stdout] --> src/commands/db.rs:81:22 [INFO] [stdout] | [INFO] [stdout] 81 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/db.rs:88:22 [INFO] [stdout] | [INFO] [stdout] 88 | .map_err(|e| ElifError::Io(e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/commands/db.rs:429:22 [INFO] [stdout] | [INFO] [stdout] 429 | let masked_url = database_url.split('@').last().unwrap_or("localhost:5432/elif_dev"); [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] 429 - let masked_url = database_url.split('@').last().unwrap_or("localhost:5432/elif_dev"); [INFO] [stdout] 429 + let masked_url = database_url.split('@').next_back().unwrap_or("localhost:5432/elif_dev"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/commands/db.rs:457:22 [INFO] [stdout] | [INFO] [stdout] 457 | let masked_url = database_url.split('@').last().unwrap_or("localhost:5432/elif_dev"); [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] help: try [INFO] [stdout] | [INFO] [stdout] 457 - let masked_url = database_url.split('@').last().unwrap_or("localhost:5432/elif_dev"); [INFO] [stdout] 457 + let masked_url = database_url.split('@').next_back().unwrap_or("localhost:5432/elif_dev"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/commands/doctor.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | / if self.verbose { [INFO] [stdout] 201 | | println!(" ⚠️ rustfmt not available, skipping format check"); [INFO] [stdout] 202 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 199 ~ Err(_) [INFO] [stdout] 200 ~ if self.verbose => { [INFO] [stdout] 201 | println!(" ⚠️ rustfmt not available, skipping format check"); [INFO] [stdout] 202 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/commands/doctor.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | / if self.verbose { [INFO] [stdout] 239 | | println!(" ⚠️ clippy not available, skipping lint check"); [INFO] [stdout] 240 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 237 ~ Err(_) [INFO] [stdout] 238 ~ if self.verbose => { [INFO] [stdout] 239 | println!(" ⚠️ clippy not available, skipping lint check"); [INFO] [stdout] 240 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/commands/doctor.rs:312:17 [INFO] [stdout] | [INFO] [stdout] 312 | / if self.verbose { [INFO] [stdout] 313 | | println!(" ⚠️ cargo-outdated not available (install with: cargo install cargo-outdated)"); [INFO] [stdout] 314 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 311 ~ Err(_) [INFO] [stdout] 312 ~ if self.verbose => { [INFO] [stdout] 313 | println!(" ⚠️ cargo-outdated not available (install with: cargo install cargo-outdated)"); [INFO] [stdout] 314 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/commands/doctor.rs:663:25 [INFO] [stdout] | [INFO] [stdout] 663 | / if issue.description.contains("workspace.dev-dependencies") { [INFO] [stdout] 664 | | println!( [INFO] [stdout] 665 | | " → Remove unused 'workspace.dev-dependencies' from Cargo.toml" [INFO] [stdout] 666 | | ); [INFO] [stdout] 667 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 662 ~ IssueCategory::Configuration [INFO] [stdout] 663 ~ if issue.description.contains("workspace.dev-dependencies") => { [INFO] [stdout] 664 | println!( [INFO] [stdout] 665 | " → Remove unused 'workspace.dev-dependencies' from Cargo.toml" [INFO] [stdout] 666 | ); [INFO] [stdout] 667 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/info.rs:108:18 [INFO] [stdout] | [INFO] [stdout] 108 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:194:64 [INFO] [stdout] | [INFO] [stdout] 194 | let mut entries = tokio::fs::read_dir("src").await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:196:64 [INFO] [stdout] | [INFO] [stdout] 196 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:224:67 [INFO] [stdout] | [INFO] [stdout] 224 | let mut entries = tokio::fs::read_dir(dir_path).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:226:64 [INFO] [stdout] | [INFO] [stdout] 226 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:258:70 [INFO] [stdout] | [INFO] [stdout] 258 | let content = tokio::fs::read_to_string(file_path).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/commands/info.rs:396:40 [INFO] [stdout] | [INFO] [stdout] 396 | ...e(dir: &str) -> std::pin::Pin> + Send + '_>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/info.rs:401:66 [INFO] [stdout] | [INFO] [stdout] 401 | let mut entries = tokio::fs::read_dir(dir).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:403:68 [INFO] [stdout] | [INFO] [stdout] 403 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:429:18 [INFO] [stdout] | [INFO] [stdout] 429 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/info.rs:427:15 [INFO] [stdout] | [INFO] [stdout] 427 | .args(&["check", "--quiet"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["check", "--quiet"]` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:186:66 [INFO] [stdout] | [INFO] [stdout] 186 | let mut entries = tokio::fs::read_dir(dir).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:188:68 [INFO] [stdout] | [INFO] [stdout] 188 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:264:18 [INFO] [stdout] | [INFO] [stdout] 264 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/commands/optimize.rs:314:47 [INFO] [stdout] | [INFO] [stdout] 314 | ...dir: &str) -> std::pin::Pin> + Send + '_>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:320:66 [INFO] [stdout] | [INFO] [stdout] 320 | let mut entries = tokio::fs::read_dir(dir).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:322:68 [INFO] [stdout] | [INFO] [stdout] 322 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:379:55 [INFO] [stdout] | [INFO] [stdout] 379 | tokio::fs::create_dir_all("assets").await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:382:18 [INFO] [stdout] | [INFO] [stdout] 382 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:435:62 [INFO] [stdout] | [INFO] [stdout] 435 | let mut entries = tokio::fs::read_dir(dir).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:437:64 [INFO] [stdout] | [INFO] [stdout] 437 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:506:18 [INFO] [stdout] | [INFO] [stdout] 506 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:576:18 [INFO] [stdout] | [INFO] [stdout] 576 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:667:18 [INFO] [stdout] | [INFO] [stdout] 667 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:676:34 [INFO] [stdout] | [INFO] [stdout] 676 | io::stdout().flush().map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:679:47 [INFO] [stdout] | [INFO] [stdout] 679 | io::stdin().read_line(&mut input).map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/status.rs:147:18 [INFO] [stdout] | [INFO] [stdout] 147 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/status.rs:145:15 [INFO] [stdout] | [INFO] [stdout] 145 | .args(&["check", "--quiet"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["check", "--quiet"]` [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: redundant closure [INFO] [stdout] --> src/commands/status.rs:171:18 [INFO] [stdout] | [INFO] [stdout] 171 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/status.rs:169:15 [INFO] [stdout] | [INFO] [stdout] 169 | .args(&["test", "--quiet", "--no-run"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["test", "--quiet", "--no-run"]` [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: redundant closure [INFO] [stdout] --> src/commands/status.rs:319:75 [INFO] [stdout] | [INFO] [stdout] 319 | let mut entries = tokio::fs::read_dir("migrations").await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/status.rs:323:68 [INFO] [stdout] | [INFO] [stdout] 323 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/status.rs:350:18 [INFO] [stdout] | [INFO] [stdout] 350 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/status.rs:348:15 [INFO] [stdout] | [INFO] [stdout] 348 | .args(&["check", "--quiet"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["check", "--quiet"]` [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: you seem to want to iterate on a map's values [INFO] [stdout] --> src/commands/status.rs:617:25 [INFO] [stdout] | [INFO] [stdout] 617 | for (_, service) in services { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 617 - for (_, service) in services { [INFO] [stdout] 617 + for service in services.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/commands/status.rs:727:25 [INFO] [stdout] | [INFO] [stdout] 727 | for (_, service) in &status.service_status { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 727 - for (_, service) in &status.service_status { [INFO] [stdout] 727 + for service in status.service_status.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/status.rs:778:18 [INFO] [stdout] | [INFO] [stdout] 778 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: this boolean expression can be simplified [INFO] [stdout] --> src/commands/test.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | if unit || (!unit && !integration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 87 - if unit || (!unit && !integration) { [INFO] [stdout] 87 + if !(!unit && integration) { [INFO] [stdout] | [INFO] [stdout] 87 - if unit || (!unit && !integration) { [INFO] [stdout] 87 + if unit || !integration { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/commands/test.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | if integration || (!unit && !integration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 93 - if integration || (!unit && !integration) { [INFO] [stdout] 93 + if !(!integration && unit) { [INFO] [stdout] | [INFO] [stdout] 93 - if integration || (!unit && !integration) { [INFO] [stdout] 93 + if integration || !unit { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/commands/test.rs:386:61 [INFO] [stdout] | [INFO] [stdout] 386 | unit_tests.entry(file_name.to_string()).or_insert_with(Vec::new).extend(tests); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `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 boolean expression can be simplified [INFO] [stdout] --> src/commands/test.rs:471:12 [INFO] [stdout] | [INFO] [stdout] 471 | if unit || (!unit && !integration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 471 - if unit || (!unit && !integration) { [INFO] [stdout] 471 + if !(!unit && integration) { [INFO] [stdout] | [INFO] [stdout] 471 - if unit || (!unit && !integration) { [INFO] [stdout] 471 + if unit || !integration { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/commands/test.rs:481:12 [INFO] [stdout] | [INFO] [stdout] 481 | if integration || (!unit && !integration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 481 - if integration || (!unit && !integration) { [INFO] [stdout] 481 + if !(!integration && unit) { [INFO] [stdout] | [INFO] [stdout] 481 - if integration || (!unit && !integration) { [INFO] [stdout] 481 + if integration || !unit { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's keys [INFO] [stdout] --> src/commands/test.rs:566:36 [INFO] [stdout] | [INFO] [stdout] 566 | for (test_file, _tests) in &discovery.integration_tests { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 566 - for (test_file, _tests) in &discovery.integration_tests { [INFO] [stdout] 566 + for test_file in discovery.integration_tests.keys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/test.rs:794:45 [INFO] [stdout] | [INFO] [stdout] 794 | if changed_file.starts_with(&module.path.parent().unwrap_or(Path::new("."))) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `module.path.parent().unwrap_or(Path::new("."))` [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/update.rs:337:15 [INFO] [stdout] | [INFO] [stdout] 337 | .args(&["outdated", "--format", "json"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["outdated", "--format", "json"]` [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/update.rs:408:15 [INFO] [stdout] | [INFO] [stdout] 408 | .args(&["audit", "--format", "json"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["audit", "--format", "json"]` [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/update.rs:457:15 [INFO] [stdout] | [INFO] [stdout] 457 | .args(&["update"]) [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `["update"]` [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/update.rs:480:15 [INFO] [stdout] | [INFO] [stdout] 480 | .args(&["check", "--quiet"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["check", "--quiet"]` [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/update.rs:581:15 [INFO] [stdout] | [INFO] [stdout] 581 | .args(&["audit", "--version"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["audit", "--version"]` [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/update.rs:590:15 [INFO] [stdout] | [INFO] [stdout] 590 | .args(&["outdated", "--version"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["outdated", "--version"]` [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: redundant closure [INFO] [stdout] --> src/commands/update.rs:727:18 [INFO] [stdout] | [INFO] [stdout] 727 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/module.rs:78:43 [INFO] [stdout] | [INFO] [stdout] 78 | std::io::stdout().flush().map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/module.rs:81:56 [INFO] [stdout] | [INFO] [stdout] 81 | std::io::stdin().read_line(&mut input).map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: consider using `sort_by_key` [INFO] [stdout] --> src/commands/module.rs:625:5 [INFO] [stdout] | [INFO] [stdout] 625 | dep_counts.sort_by(|a, b| b.1.cmp(&a.1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 625 - dep_counts.sort_by(|a, b| b.1.cmp(&a.1)); [INFO] [stdout] 625 + dep_counts.sort_by_key(|b| std::cmp::Reverse(b.1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/commands/module.rs:761:5 [INFO] [stdout] | [INFO] [stdout] 761 | dot.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `dot.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/commands/make.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pub async fn resource( [INFO] [stdout] 12 | | name: &str, [INFO] [stdout] 13 | | fields_str: &str, [INFO] [stdout] 14 | | relationships_str: Option<&str>, [INFO] [stdout] ... | [INFO] [stdout] 21 | | soft_delete: bool, [INFO] [stdout] 22 | | ) -> Result<(), ElifError> { [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] --> src/commands/make.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:82:18 [INFO] [stdout] | [INFO] [stdout] 82 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:180:26 [INFO] [stdout] | [INFO] [stdout] 180 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:185:22 [INFO] [stdout] | [INFO] [stdout] 185 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:200:18 [INFO] [stdout] | [INFO] [stdout] 200 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:246:18 [INFO] [stdout] | [INFO] [stdout] 246 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:326:18 [INFO] [stdout] | [INFO] [stdout] 326 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:368:22 [INFO] [stdout] | [INFO] [stdout] 368 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:383:18 [INFO] [stdout] | [INFO] [stdout] 383 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:412:18 [INFO] [stdout] | [INFO] [stdout] 412 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:422:22 [INFO] [stdout] | [INFO] [stdout] 422 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:445:18 [INFO] [stdout] | [INFO] [stdout] 445 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:633:22 [INFO] [stdout] | [INFO] [stdout] 633 | .map_err(|e| ElifError::Io(e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:658:22 [INFO] [stdout] | [INFO] [stdout] 658 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:663:18 [INFO] [stdout] | [INFO] [stdout] 663 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:82:57 [INFO] [stdout] | [INFO] [stdout] 82 | for entry in fs::read_dir(&modules_dir).map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:83:39 [INFO] [stdout] | [INFO] [stdout] 83 | let entry = entry.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:175:64 [INFO] [stdout] | [INFO] [stdout] 175 | for entry in fs::read_dir(&migrations_dir).map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:176:43 [INFO] [stdout] | [INFO] [stdout] 176 | let entry = entry.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:197:48 [INFO] [stdout] | [INFO] [stdout] 197 | for entry in fs::read_dir(dir).map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:198:39 [INFO] [stdout] | [INFO] [stdout] 198 | let entry = entry.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:214:61 [INFO] [stdout] | [INFO] [stdout] 214 | let content = fs::read_to_string(file_path).map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: you seem to want to iterate on a map's keys [INFO] [stdout] --> src/generators/project_analyzer.rs:508:33 [INFO] [stdout] | [INFO] [stdout] 508 | for (module_name, _) in &structure.modules { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 508 - for (module_name, _) in &structure.modules { [INFO] [stdout] 508 + for module_name in structure.modules.keys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/utils.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | / match tokio::time::timeout(Duration::from_millis(1000), async move { [INFO] [stdout] 48 | | TcpStream::connect(addr).await [INFO] [stdout] 49 | | }).await { [INFO] [stdout] 50 | | Ok(Ok(_)) => true, [INFO] [stdout] 51 | | _ => false, [INFO] [stdout] 52 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 47 ~ matches!(tokio::time::timeout(Duration::from_millis(1000), async move { [INFO] [stdout] 48 + TcpStream::connect(addr).await [INFO] [stdout] 49 + }).await, Ok(Ok(_))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `table` after checking its variant with `is_some` [INFO] [stdout] --> src/commands/add.rs:208:26 [INFO] [stdout] | [INFO] [stdout] 207 | let seeder_content = if factory && table.is_some() { [INFO] [stdout] | --------------- the check is happening here [INFO] [stdout] 208 | let table_name = table.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/build.rs:83:39 [INFO] [stdout] | [INFO] [stdout] 83 | let output = cmd.output().map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/build.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | cmd.args(&["build", "-t", &image_tag, "."]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["build", "-t", &image_tag, "."]` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/build.rs:114:18 [INFO] [stdout] | [INFO] [stdout] 114 | cmd.args(&["--build-arg", "RUST_PROFILE=release"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["--build-arg", "RUST_PROFILE=release"]` [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/build.rs:116:18 [INFO] [stdout] | [INFO] [stdout] 116 | cmd.args(&["--build-arg", "RUST_PROFILE=debug"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["--build-arg", "RUST_PROFILE=debug"]` [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: redundant closure [INFO] [stdout] --> src/commands/build.rs:121:39 [INFO] [stdout] | [INFO] [stdout] 121 | let output = cmd.output().map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/build.rs:144:18 [INFO] [stdout] | [INFO] [stdout] 144 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/build.rs:142:15 [INFO] [stdout] | [INFO] [stdout] 142 | .args(&["target", "list", "--installed"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["target", "list", "--installed"]` [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: redundant closure [INFO] [stdout] --> src/commands/build.rs:152:22 [INFO] [stdout] | [INFO] [stdout] 152 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/build.rs:150:19 [INFO] [stdout] | [INFO] [stdout] 150 | .args(&["target", "add", "wasm32-unknown-unknown"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["target", "add", "wasm32-unknown-unknown"]` [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/build.rs:163:14 [INFO] [stdout] | [INFO] [stdout] 163 | cmd.args(&["build", "--target", "wasm32-unknown-unknown"]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["build", "--target", "wasm32-unknown-unknown"]` [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: redundant closure [INFO] [stdout] --> src/commands/build.rs:169:39 [INFO] [stdout] | [INFO] [stdout] 169 | let output = cmd.output().map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/build.rs:236:18 [INFO] [stdout] | [INFO] [stdout] 236 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: called `unwrap` on `module` after checking its variant with `is_none` [INFO] [stdout] --> src/commands/check.rs:40:50 [INFO] [stdout] | [INFO] [stdout] 36 | if module.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = module` [INFO] [stdout] ... [INFO] [stdout] 40 | println!("🔗 Checking module: {}...", module.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `module` after checking its variant with `is_none` [INFO] [stdout] --> src/commands/check.rs:41:49 [INFO] [stdout] | [INFO] [stdout] 36 | if module.is_none() { [INFO] [stdout] | ------------------- help: try: `if let Some() = module` [INFO] [stdout] ... [INFO] [stdout] 41 | check_specific_module(&mut results, module.unwrap())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/db.rs:31:29 [INFO] [stdout] | [INFO] [stdout] 31 | .unwrap_or_else(|| SeederManager::current_environment()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `SeederManager::current_environment` [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: redundant closure [INFO] [stdout] --> src/commands/db.rs:30:18 [INFO] [stdout] | [INFO] [stdout] 30 | .map(|e| Environment::from_str(e)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the associated function itself: `Environment::from_str` [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: redundant closure [INFO] [stdout] --> src/commands/db.rs:81:22 [INFO] [stdout] | [INFO] [stdout] 81 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/db.rs:88:22 [INFO] [stdout] | [INFO] [stdout] 88 | .map_err(|e| ElifError::Io(e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/commands/db.rs:429:22 [INFO] [stdout] | [INFO] [stdout] 429 | let masked_url = database_url.split('@').last().unwrap_or("localhost:5432/elif_dev"); [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] 429 - let masked_url = database_url.split('@').last().unwrap_or("localhost:5432/elif_dev"); [INFO] [stdout] 429 + let masked_url = database_url.split('@').next_back().unwrap_or("localhost:5432/elif_dev"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/commands/db.rs:457:22 [INFO] [stdout] | [INFO] [stdout] 457 | let masked_url = database_url.split('@').last().unwrap_or("localhost:5432/elif_dev"); [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] help: try [INFO] [stdout] | [INFO] [stdout] 457 - let masked_url = database_url.split('@').last().unwrap_or("localhost:5432/elif_dev"); [INFO] [stdout] 457 + let masked_url = database_url.split('@').next_back().unwrap_or("localhost:5432/elif_dev"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/commands/doctor.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | / if self.verbose { [INFO] [stdout] 201 | | println!(" ⚠️ rustfmt not available, skipping format check"); [INFO] [stdout] 202 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 199 ~ Err(_) [INFO] [stdout] 200 ~ if self.verbose => { [INFO] [stdout] 201 | println!(" ⚠️ rustfmt not available, skipping format check"); [INFO] [stdout] 202 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/commands/doctor.rs:238:17 [INFO] [stdout] | [INFO] [stdout] 238 | / if self.verbose { [INFO] [stdout] 239 | | println!(" ⚠️ clippy not available, skipping lint check"); [INFO] [stdout] 240 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 237 ~ Err(_) [INFO] [stdout] 238 ~ if self.verbose => { [INFO] [stdout] 239 | println!(" ⚠️ clippy not available, skipping lint check"); [INFO] [stdout] 240 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/commands/doctor.rs:312:17 [INFO] [stdout] | [INFO] [stdout] 312 | / if self.verbose { [INFO] [stdout] 313 | | println!(" ⚠️ cargo-outdated not available (install with: cargo install cargo-outdated)"); [INFO] [stdout] 314 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 311 ~ Err(_) [INFO] [stdout] 312 ~ if self.verbose => { [INFO] [stdout] 313 | println!(" ⚠️ cargo-outdated not available (install with: cargo install cargo-outdated)"); [INFO] [stdout] 314 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/commands/doctor.rs:663:25 [INFO] [stdout] | [INFO] [stdout] 663 | / if issue.description.contains("workspace.dev-dependencies") { [INFO] [stdout] 664 | | println!( [INFO] [stdout] 665 | | " → Remove unused 'workspace.dev-dependencies' from Cargo.toml" [INFO] [stdout] 666 | | ); [INFO] [stdout] 667 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 662 ~ IssueCategory::Configuration [INFO] [stdout] 663 ~ if issue.description.contains("workspace.dev-dependencies") => { [INFO] [stdout] 664 | println!( [INFO] [stdout] 665 | " → Remove unused 'workspace.dev-dependencies' from Cargo.toml" [INFO] [stdout] 666 | ); [INFO] [stdout] 667 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/info.rs:108:18 [INFO] [stdout] | [INFO] [stdout] 108 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:194:64 [INFO] [stdout] | [INFO] [stdout] 194 | let mut entries = tokio::fs::read_dir("src").await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:196:64 [INFO] [stdout] | [INFO] [stdout] 196 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:224:67 [INFO] [stdout] | [INFO] [stdout] 224 | let mut entries = tokio::fs::read_dir(dir_path).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:226:64 [INFO] [stdout] | [INFO] [stdout] 226 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:258:70 [INFO] [stdout] | [INFO] [stdout] 258 | let content = tokio::fs::read_to_string(file_path).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/commands/info.rs:396:40 [INFO] [stdout] | [INFO] [stdout] 396 | ...e(dir: &str) -> std::pin::Pin> + Send + '_>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/info.rs:401:66 [INFO] [stdout] | [INFO] [stdout] 401 | let mut entries = tokio::fs::read_dir(dir).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:403:68 [INFO] [stdout] | [INFO] [stdout] 403 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/info.rs:429:18 [INFO] [stdout] | [INFO] [stdout] 429 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/info.rs:427:15 [INFO] [stdout] | [INFO] [stdout] 427 | .args(&["check", "--quiet"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["check", "--quiet"]` [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: useless use of `format!` [INFO] [stdout] --> src/main.rs:1270:25 [INFO] [stdout] | [INFO] [stdout] 1270 | let app_module_rs = format!(r#"use elif_web::prelude::*; [INFO] [stdout] | _________________________^ [INFO] [stdout] 1271 | | use crate::controllers::HealthController; [INFO] [stdout] 1272 | | [INFO] [stdout] 1273 | | #[module( [INFO] [stdout] ... | [INFO] [stdout] 1276 | | pub struct AppModule; [INFO] [stdout] 1277 | | "#); [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 1270 ~ let app_module_rs = r#"use elif_web::prelude::*; [INFO] [stdout] 1271 + use crate::controllers::HealthController; [INFO] [stdout] 1272 + [INFO] [stdout] 1273 + #[module( [INFO] [stdout] 1274 + controllers: [HealthController] [INFO] [stdout] 1275 + )] [INFO] [stdout] 1276 + pub struct AppModule; [INFO] [stdout] 1277 ~ "#.to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:1284:27 [INFO] [stdout] | [INFO] [stdout] 1284 | let users_module_rs = format!(r#"use elif_web::prelude::*; [INFO] [stdout] | ___________________________^ [INFO] [stdout] 1285 | | use super::users_controller::UsersController; [INFO] [stdout] 1286 | | use super::users_service::UsersService; [INFO] [stdout] ... | [INFO] [stdout] 1292 | | pub struct UsersModule; [INFO] [stdout] 1293 | | "#); [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 1284 ~ let users_module_rs = r#"use elif_web::prelude::*; [INFO] [stdout] 1285 + use super::users_controller::UsersController; [INFO] [stdout] 1286 + use super::users_service::UsersService; [INFO] [stdout] 1287 + [INFO] [stdout] 1288 + #[module( [INFO] [stdout] 1289 + controllers: [UsersController], [INFO] [stdout] 1290 + providers: [UsersService] [INFO] [stdout] 1291 + )] [INFO] [stdout] 1292 + pub struct UsersModule; [INFO] [stdout] 1293 ~ "#.to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:186:66 [INFO] [stdout] | [INFO] [stdout] 186 | let mut entries = tokio::fs::read_dir(dir).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:188:68 [INFO] [stdout] | [INFO] [stdout] 188 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: useless use of `format!` [INFO] [stdout] --> src/main.rs:1295:31 [INFO] [stdout] | [INFO] [stdout] 1295 | let users_controller_rs = format!(r#"use elif_web::prelude::*; [INFO] [stdout] | _______________________________^ [INFO] [stdout] 1296 | | use elif_http::response::response; [INFO] [stdout] 1297 | | use serde_json::json; [INFO] [stdout] 1298 | | use super::users_service::UsersService; [INFO] [stdout] ... | [INFO] [stdout] 1374 | | }} [INFO] [stdout] 1375 | | "#); [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 1295 ~ let users_controller_rs = r#"use elif_web::prelude::*; [INFO] [stdout] 1296 + use elif_http::response::response; [INFO] [stdout] 1297 + use serde_json::json; [INFO] [stdout] 1298 + use super::users_service::UsersService; [INFO] [stdout] 1299 + use super::dto::{CreateUserDto, UpdateUserDto}; [INFO] [stdout] 1300 + [INFO] [stdout] 1301 + #[derive(Default)] [INFO] [stdout] 1302 + pub struct UsersController { [INFO] [stdout] 1303 + users_service: UsersService, [INFO] [stdout] 1304 + } [INFO] [stdout] 1305 + [INFO] [stdout] 1306 + #[controller("/api/users")] [INFO] [stdout] 1307 + impl UsersController { [INFO] [stdout] 1308 + #[get("/")] [INFO] [stdout] 1309 + pub async fn index(&self, _req: ElifRequest) -> HttpResult { [INFO] [stdout] 1310 + let users = self.users_service.find_all().await [INFO] [stdout] 1311 + .map_err(|e| HttpError::internal(format!("Failed to fetch users: {}", e)))?; [INFO] [stdout] 1312 + [INFO] [stdout] 1313 + response().json(json!({ [INFO] [stdout] 1314 + "users": users, [INFO] [stdout] 1315 + "total": users.len() [INFO] [stdout] 1316 + })).send() [INFO] [stdout] 1317 + } [INFO] [stdout] 1318 + [INFO] [stdout] 1319 + #[post("/")] [INFO] [stdout] 1320 + #[body(dto: CreateUserDto)] [INFO] [stdout] 1321 + pub async fn create(&self, dto: CreateUserDto) -> HttpResult { [INFO] [stdout] 1322 + let user = self.users_service.create(dto).await [INFO] [stdout] 1323 + .map_err(|e| HttpError::bad_request(format!("Failed to create user: {}", e)))?; [INFO] [stdout] 1324 + [INFO] [stdout] 1325 + response().json(json!({ [INFO] [stdout] 1326 + "message": "User created successfully", [INFO] [stdout] 1327 + "user": user [INFO] [stdout] 1328 + })).created().send() [INFO] [stdout] 1329 + } [INFO] [stdout] 1330 + [INFO] [stdout] 1331 + #[get("/{id}")] [INFO] [stdout] 1332 + #[param(id: u32)] [INFO] [stdout] 1333 + pub async fn show(&self, id: u32, _req: ElifRequest) -> HttpResult { [INFO] [stdout] 1334 + let user = self.users_service.find_by_id(id).await [INFO] [stdout] 1335 + .map_err(|e| HttpError::internal(format!("Failed to fetch user: {}", e)))?; [INFO] [stdout] 1336 + [INFO] [stdout] 1337 + match user { [INFO] [stdout] 1338 + Some(user) => response().json(json!({ "user": user })).send(), [INFO] [stdout] 1339 + None => Err(HttpError::not_found(format!("User with id {} not found", id))) [INFO] [stdout] 1340 + } [INFO] [stdout] 1341 + } [INFO] [stdout] 1342 + [INFO] [stdout] 1343 + #[put("/{id}")] [INFO] [stdout] 1344 + #[param(id: u32)] [INFO] [stdout] 1345 + #[body(dto: UpdateUserDto)] [INFO] [stdout] 1346 + pub async fn update(&self, id: u32, dto: UpdateUserDto) -> HttpResult { [INFO] [stdout] 1347 + let user = self.users_service.update(id, dto).await [INFO] [stdout] 1348 + .map_err(|e| HttpError::bad_request(format!("Failed to update user: {}", e)))?; [INFO] [stdout] 1349 + [INFO] [stdout] 1350 + match user { [INFO] [stdout] 1351 + Some(user) => response().json(json!({ [INFO] [stdout] 1352 + "message": "User updated successfully", [INFO] [stdout] 1353 + "user": user [INFO] [stdout] 1354 + })).send(), [INFO] [stdout] 1355 + None => Err(HttpError::not_found(format!("User with id {} not found", id))) [INFO] [stdout] 1356 + } [INFO] [stdout] 1357 + } [INFO] [stdout] 1358 + [INFO] [stdout] 1359 + #[delete("/{id}")] [INFO] [stdout] 1360 + #[param(id: u32)] [INFO] [stdout] 1361 + pub async fn destroy(&self, id: u32, _req: ElifRequest) -> HttpResult { [INFO] [stdout] 1362 + let was_deleted = self.users_service.delete(id).await [INFO] [stdout] 1363 + .map_err(|e| HttpError::bad_request(format!("Failed to delete user: {}", e)))?; [INFO] [stdout] 1364 + [INFO] [stdout] 1365 + if was_deleted { [INFO] [stdout] 1366 + response().json(json!({ [INFO] [stdout] 1367 + "message": "User deleted successfully", [INFO] [stdout] 1368 + "deleted_id": id [INFO] [stdout] 1369 + })).send() [INFO] [stdout] 1370 + } else { [INFO] [stdout] 1371 + Err(HttpError::not_found(format!("User with id {} not found", id))) [INFO] [stdout] 1372 + } [INFO] [stdout] 1373 + } [INFO] [stdout] 1374 + } [INFO] [stdout] 1375 ~ "#.to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:1377:28 [INFO] [stdout] | [INFO] [stdout] 1377 | let users_service_rs = format!(r#"use super::dto::{{CreateUserDto, UpdateUserDto}}; [INFO] [stdout] | ____________________________^ [INFO] [stdout] 1378 | | use serde::{{Serialize, Deserialize}}; [INFO] [stdout] 1379 | | [INFO] [stdout] 1380 | | #[derive(Default)] [INFO] [stdout] ... | [INFO] [stdout] 1449 | | }} [INFO] [stdout] 1450 | | "#); [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 1377 ~ let users_service_rs = r#"use super::dto::{CreateUserDto, UpdateUserDto}; [INFO] [stdout] 1378 + use serde::{Serialize, Deserialize}; [INFO] [stdout] 1379 + [INFO] [stdout] 1380 + #[derive(Default)] [INFO] [stdout] 1381 + pub struct UsersService; [INFO] [stdout] 1382 + [INFO] [stdout] 1383 + impl UsersService { [INFO] [stdout] 1384 + pub async fn find_all(&self) -> Result, String> { [INFO] [stdout] 1385 + // TODO: Implement database query [INFO] [stdout] 1386 + // Example: Return sample data for now [INFO] [stdout] 1387 + Ok(vec![ [INFO] [stdout] 1388 + User { id: 1, name: "Alice".to_string(), email: "alice@example.com".to_string() }, [INFO] [stdout] 1389 + User { id: 2, name: "Bob".to_string(), email: "bob@example.com".to_string() }, [INFO] [stdout] 1390 + ]) [INFO] [stdout] 1391 + } [INFO] [stdout] 1392 + [INFO] [stdout] 1393 + pub async fn find_by_id(&self, id: u32) -> Result, String> { [INFO] [stdout] 1394 + // TODO: Implement database query [INFO] [stdout] 1395 + // Example: Return sample data if id exists [INFO] [stdout] 1396 + if id > 0 && id <= 10 { [INFO] [stdout] 1397 + Ok(Some(User { [INFO] [stdout] 1398 + id, [INFO] [stdout] 1399 + name: format!("User {}", id), [INFO] [stdout] 1400 + email: format!("user{}@example.com", id) [INFO] [stdout] 1401 + })) [INFO] [stdout] 1402 + } else { [INFO] [stdout] 1403 + Ok(None) [INFO] [stdout] 1404 + } [INFO] [stdout] 1405 + } [INFO] [stdout] 1406 + [INFO] [stdout] 1407 + pub async fn create(&self, dto: CreateUserDto) -> Result { [INFO] [stdout] 1408 + // TODO: Implement database insertion [INFO] [stdout] 1409 + // Example: Generate new user from DTO [INFO] [stdout] 1410 + Ok(User { [INFO] [stdout] 1411 + id: 123, // TODO: Get next ID from database [INFO] [stdout] 1412 + name: dto.name, [INFO] [stdout] 1413 + email: dto.email [INFO] [stdout] 1414 + }) [INFO] [stdout] 1415 + } [INFO] [stdout] 1416 + [INFO] [stdout] 1417 + pub async fn update(&self, id: u32, dto: UpdateUserDto) -> Result, String> { [INFO] [stdout] 1418 + // TODO: Implement database update [INFO] [stdout] 1419 + // Example: Update existing user if found [INFO] [stdout] 1420 + if id > 0 && id <= 10 { [INFO] [stdout] 1421 + Ok(Some(User { [INFO] [stdout] 1422 + id, [INFO] [stdout] 1423 + name: dto.name.unwrap_or_else(|| format!("Updated User {}", id)), [INFO] [stdout] 1424 + email: dto.email.unwrap_or_else(|| format!("updated{}@example.com", id)) [INFO] [stdout] 1425 + })) [INFO] [stdout] 1426 + } else { [INFO] [stdout] 1427 + Ok(None) [INFO] [stdout] 1428 + } [INFO] [stdout] 1429 + } [INFO] [stdout] 1430 + [INFO] [stdout] 1431 + pub async fn delete(&self, id: u32) -> Result { [INFO] [stdout] 1432 + // TODO: Implement database deletion [INFO] [stdout] 1433 + // Example: Return true if user existed and was deleted, false if not found [INFO] [stdout] 1434 + if id > 0 && id <= 10 { [INFO] [stdout] 1435 + println!("Deleted user with id: {}", id); [INFO] [stdout] 1436 + Ok(true) [INFO] [stdout] 1437 + } else { [INFO] [stdout] 1438 + Ok(false) [INFO] [stdout] 1439 + } [INFO] [stdout] 1440 + } [INFO] [stdout] 1441 + } [INFO] [stdout] 1442 + [INFO] [stdout] 1443 + // TODO: Replace with your actual User model from database/ORM [INFO] [stdout] 1444 + #[derive(Debug, Clone, Serialize, Deserialize)] [INFO] [stdout] 1445 + pub struct User { [INFO] [stdout] 1446 + pub id: u32, [INFO] [stdout] 1447 + pub name: String, [INFO] [stdout] 1448 + pub email: String, [INFO] [stdout] 1449 + } [INFO] [stdout] 1450 ~ "#.to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1735:15 [INFO] [stdout] | [INFO] [stdout] 1735 | .args(&["init"]) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `["init"]` [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/main.rs:1736:22 [INFO] [stdout] | [INFO] [stdout] 1736 | .current_dir(&project_path) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `project_path` [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/main.rs:1744:15 [INFO] [stdout] | [INFO] [stdout] 1744 | .args(&["add", "."]) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `["add", "."]` [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/main.rs:1745:22 [INFO] [stdout] | [INFO] [stdout] 1745 | .current_dir(&project_path) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `project_path` [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/main.rs:1752:15 [INFO] [stdout] | [INFO] [stdout] 1752 | .args(&["commit", "-m", "Initial commit from elifrs CLI"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["commit", "-m", "Initial commit from elifrs CLI"]` [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/main.rs:1753:22 [INFO] [stdout] | [INFO] [stdout] 1753 | .current_dir(&project_path) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `project_path` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:264:18 [INFO] [stdout] | [INFO] [stdout] 264 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1785:15 [INFO] [stdout] | [INFO] [stdout] 1785 | .args(&["search", "elifrs", "--limit", "1"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["search", "elifrs", "--limit", "1"]` [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/main.rs:1787:44 [INFO] [stdout] | [INFO] [stdout] 1787 | .map_err(|e| ElifError::validation(&format!("Failed to check for updates: {}", e)))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Failed to check for updates: {}", e)` [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/main.rs:1816:15 [INFO] [stdout] | [INFO] [stdout] 1816 | .args(&["install", "elifrs", "--force"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["install", "elifrs", "--force"]` [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/main.rs:1818:44 [INFO] [stdout] | [INFO] [stdout] 1818 | .map_err(|e| ElifError::validation(&format!("Failed to install update: {}", e)))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Failed to install update: {}", e)` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/commands/optimize.rs:314:47 [INFO] [stdout] | [INFO] [stdout] 314 | ...dir: &str) -> std::pin::Pin> + Send + '_>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1822:42 [INFO] [stdout] | [INFO] [stdout] 1822 | return Err(ElifError::validation(&format!("Installation failed: {}", error_msg))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Installation failed: {}", error_msg)` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:320:66 [INFO] [stdout] | [INFO] [stdout] 320 | let mut entries = tokio::fs::read_dir(dir).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:322:68 [INFO] [stdout] | [INFO] [stdout] 322 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:379:55 [INFO] [stdout] | [INFO] [stdout] 379 | tokio::fs::create_dir_all("assets").await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:382:18 [INFO] [stdout] | [INFO] [stdout] 382 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:435:62 [INFO] [stdout] | [INFO] [stdout] 435 | let mut entries = tokio::fs::read_dir(dir).await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:437:64 [INFO] [stdout] | [INFO] [stdout] 437 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:506:18 [INFO] [stdout] | [INFO] [stdout] 506 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:576:18 [INFO] [stdout] | [INFO] [stdout] 576 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:667:18 [INFO] [stdout] | [INFO] [stdout] 667 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:676:34 [INFO] [stdout] | [INFO] [stdout] 676 | io::stdout().flush().map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/optimize.rs:679:47 [INFO] [stdout] | [INFO] [stdout] 679 | io::stdin().read_line(&mut input).map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/status.rs:147:18 [INFO] [stdout] | [INFO] [stdout] 147 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/status.rs:145:15 [INFO] [stdout] | [INFO] [stdout] 145 | .args(&["check", "--quiet"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["check", "--quiet"]` [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: redundant closure [INFO] [stdout] --> src/commands/status.rs:171:18 [INFO] [stdout] | [INFO] [stdout] 171 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/status.rs:169:15 [INFO] [stdout] | [INFO] [stdout] 169 | .args(&["test", "--quiet", "--no-run"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["test", "--quiet", "--no-run"]` [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: redundant closure [INFO] [stdout] --> src/commands/status.rs:319:75 [INFO] [stdout] | [INFO] [stdout] 319 | let mut entries = tokio::fs::read_dir("migrations").await.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/status.rs:323:68 [INFO] [stdout] | [INFO] [stdout] 323 | while let Some(entry) = entries.next_entry().await.map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/status.rs:350:18 [INFO] [stdout] | [INFO] [stdout] 350 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/status.rs:348:15 [INFO] [stdout] | [INFO] [stdout] 348 | .args(&["check", "--quiet"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["check", "--quiet"]` [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: you seem to want to iterate on a map's values [INFO] [stdout] --> src/commands/status.rs:617:25 [INFO] [stdout] | [INFO] [stdout] 617 | for (_, service) in services { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] = note: `#[warn(clippy::for_kv_map)]` on by default [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 617 - for (_, service) in services { [INFO] [stdout] 617 + for service in services.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's values [INFO] [stdout] --> src/commands/status.rs:727:25 [INFO] [stdout] | [INFO] [stdout] 727 | for (_, service) in &status.service_status { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 727 - for (_, service) in &status.service_status { [INFO] [stdout] 727 + for service in status.service_status.values() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/commands/status.rs:778:18 [INFO] [stdout] | [INFO] [stdout] 778 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: this boolean expression can be simplified [INFO] [stdout] --> src/commands/test.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | if unit || (!unit && !integration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 87 - if unit || (!unit && !integration) { [INFO] [stdout] 87 + if !(!unit && integration) { [INFO] [stdout] | [INFO] [stdout] 87 - if unit || (!unit && !integration) { [INFO] [stdout] 87 + if unit || !integration { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/commands/test.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | if integration || (!unit && !integration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 93 - if integration || (!unit && !integration) { [INFO] [stdout] 93 + if !(!integration && unit) { [INFO] [stdout] | [INFO] [stdout] 93 - if integration || (!unit && !integration) { [INFO] [stdout] 93 + if integration || !unit { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `or_insert_with` to construct default value [INFO] [stdout] --> src/commands/test.rs:386:61 [INFO] [stdout] | [INFO] [stdout] 386 | unit_tests.entry(file_name.to_string()).or_insert_with(Vec::new).extend(tests); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `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 boolean expression can be simplified [INFO] [stdout] --> src/commands/test.rs:471:12 [INFO] [stdout] | [INFO] [stdout] 471 | if unit || (!unit && !integration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 471 - if unit || (!unit && !integration) { [INFO] [stdout] 471 + if !(!unit && integration) { [INFO] [stdout] | [INFO] [stdout] 471 - if unit || (!unit && !integration) { [INFO] [stdout] 471 + if unit || !integration { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/commands/test.rs:481:12 [INFO] [stdout] | [INFO] [stdout] 481 | if integration || (!unit && !integration) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 481 - if integration || (!unit && !integration) { [INFO] [stdout] 481 + if !(!integration && unit) { [INFO] [stdout] | [INFO] [stdout] 481 - if integration || (!unit && !integration) { [INFO] [stdout] 481 + if integration || !unit { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to want to iterate on a map's keys [INFO] [stdout] --> src/commands/test.rs:566:36 [INFO] [stdout] | [INFO] [stdout] 566 | for (test_file, _tests) in &discovery.integration_tests { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 566 - for (test_file, _tests) in &discovery.integration_tests { [INFO] [stdout] 566 + for test_file in discovery.integration_tests.keys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/commands/test.rs:794:45 [INFO] [stdout] | [INFO] [stdout] 794 | if changed_file.starts_with(&module.path.parent().unwrap_or(Path::new("."))) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `module.path.parent().unwrap_or(Path::new("."))` [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/update.rs:337:15 [INFO] [stdout] | [INFO] [stdout] 337 | .args(&["outdated", "--format", "json"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["outdated", "--format", "json"]` [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/update.rs:408:15 [INFO] [stdout] | [INFO] [stdout] 408 | .args(&["audit", "--format", "json"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["audit", "--format", "json"]` [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/update.rs:457:15 [INFO] [stdout] | [INFO] [stdout] 457 | .args(&["update"]) [INFO] [stdout] | ^^^^^^^^^^^ help: change this to: `["update"]` [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/update.rs:480:15 [INFO] [stdout] | [INFO] [stdout] 480 | .args(&["check", "--quiet"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["check", "--quiet"]` [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/update.rs:581:15 [INFO] [stdout] | [INFO] [stdout] 581 | .args(&["audit", "--version"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["audit", "--version"]` [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/update.rs:590:15 [INFO] [stdout] | [INFO] [stdout] 590 | .args(&["outdated", "--version"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["outdated", "--version"]` [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: redundant closure [INFO] [stdout] --> src/commands/update.rs:727:18 [INFO] [stdout] | [INFO] [stdout] 727 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/module.rs:78:43 [INFO] [stdout] | [INFO] [stdout] 78 | std::io::stdout().flush().map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/module.rs:81:56 [INFO] [stdout] | [INFO] [stdout] 81 | std::io::stdin().read_line(&mut input).map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: consider using `sort_by_key` [INFO] [stdout] --> src/commands/module.rs:625:5 [INFO] [stdout] | [INFO] [stdout] 625 | dep_counts.sort_by(|a, b| b.1.cmp(&a.1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [INFO] [stdout] = note: `#[warn(clippy::unnecessary_sort_by)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 625 - dep_counts.sort_by(|a, b| b.1.cmp(&a.1)); [INFO] [stdout] 625 + dep_counts.sort_by_key(|b| std::cmp::Reverse(b.1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling `push_str()` using a single-character string literal [INFO] [stdout] --> src/commands/module.rs:761:5 [INFO] [stdout] | [INFO] [stdout] 761 | dot.push_str("\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider using `push` with a character literal: `dot.push('\n')` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_add_str [INFO] [stdout] = note: `#[warn(clippy::single_char_add_str)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> src/commands/make.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | / pub async fn resource( [INFO] [stdout] 12 | | name: &str, [INFO] [stdout] 13 | | fields_str: &str, [INFO] [stdout] 14 | | relationships_str: Option<&str>, [INFO] [stdout] ... | [INFO] [stdout] 21 | | soft_delete: bool, [INFO] [stdout] 22 | | ) -> Result<(), ElifError> { [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] --> src/commands/make.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:82:18 [INFO] [stdout] | [INFO] [stdout] 82 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:180:26 [INFO] [stdout] | [INFO] [stdout] 180 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:185:22 [INFO] [stdout] | [INFO] [stdout] 185 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:200:18 [INFO] [stdout] | [INFO] [stdout] 200 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:246:18 [INFO] [stdout] | [INFO] [stdout] 246 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:326:18 [INFO] [stdout] | [INFO] [stdout] 326 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:368:22 [INFO] [stdout] | [INFO] [stdout] 368 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:383:18 [INFO] [stdout] | [INFO] [stdout] 383 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:412:18 [INFO] [stdout] | [INFO] [stdout] 412 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:422:22 [INFO] [stdout] | [INFO] [stdout] 422 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:445:18 [INFO] [stdout] | [INFO] [stdout] 445 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:633:22 [INFO] [stdout] | [INFO] [stdout] 633 | .map_err(|e| ElifError::Io(e))? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:658:22 [INFO] [stdout] | [INFO] [stdout] 658 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/commands/make.rs:663:18 [INFO] [stdout] | [INFO] [stdout] 663 | .map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:82:57 [INFO] [stdout] | [INFO] [stdout] 82 | for entry in fs::read_dir(&modules_dir).map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:83:39 [INFO] [stdout] | [INFO] [stdout] 83 | let entry = entry.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:175:64 [INFO] [stdout] | [INFO] [stdout] 175 | for entry in fs::read_dir(&migrations_dir).map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:176:43 [INFO] [stdout] | [INFO] [stdout] 176 | let entry = entry.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:197:48 [INFO] [stdout] | [INFO] [stdout] 197 | for entry in fs::read_dir(dir).map_err(|e| ElifError::Io(e))? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:198:39 [INFO] [stdout] | [INFO] [stdout] 198 | let entry = entry.map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: redundant closure [INFO] [stdout] --> src/generators/project_analyzer.rs:214:61 [INFO] [stdout] | [INFO] [stdout] 214 | let content = fs::read_to_string(file_path).map_err(|e| ElifError::Io(e))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace the closure with the tuple variant itself: `ElifError::Io` [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: you seem to want to iterate on a map's keys [INFO] [stdout] --> src/generators/project_analyzer.rs:508:33 [INFO] [stdout] | [INFO] [stdout] 508 | for (module_name, _) in &structure.modules { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stdout] help: use the corresponding method [INFO] [stdout] | [INFO] [stdout] 508 - for (module_name, _) in &structure.modules { [INFO] [stdout] 508 + for module_name in structure.modules.keys() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/utils.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | / match tokio::time::timeout(Duration::from_millis(1000), async move { [INFO] [stdout] 48 | | TcpStream::connect(addr).await [INFO] [stdout] 49 | | }).await { [INFO] [stdout] 50 | | Ok(Ok(_)) => true, [INFO] [stdout] 51 | | _ => false, [INFO] [stdout] 52 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 47 ~ matches!(tokio::time::timeout(Duration::from_millis(1000), async move { [INFO] [stdout] 48 + TcpStream::connect(addr).await [INFO] [stdout] 49 + }).await, Ok(Ok(_))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:1270:25 [INFO] [stdout] | [INFO] [stdout] 1270 | let app_module_rs = format!(r#"use elif_web::prelude::*; [INFO] [stdout] | _________________________^ [INFO] [stdout] 1271 | | use crate::controllers::HealthController; [INFO] [stdout] 1272 | | [INFO] [stdout] 1273 | | #[module( [INFO] [stdout] ... | [INFO] [stdout] 1276 | | pub struct AppModule; [INFO] [stdout] 1277 | | "#); [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] = note: `#[warn(clippy::useless_format)]` on by default [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 1270 ~ let app_module_rs = r#"use elif_web::prelude::*; [INFO] [stdout] 1271 + use crate::controllers::HealthController; [INFO] [stdout] 1272 + [INFO] [stdout] 1273 + #[module( [INFO] [stdout] 1274 + controllers: [HealthController] [INFO] [stdout] 1275 + )] [INFO] [stdout] 1276 + pub struct AppModule; [INFO] [stdout] 1277 ~ "#.to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:1284:27 [INFO] [stdout] | [INFO] [stdout] 1284 | let users_module_rs = format!(r#"use elif_web::prelude::*; [INFO] [stdout] | ___________________________^ [INFO] [stdout] 1285 | | use super::users_controller::UsersController; [INFO] [stdout] 1286 | | use super::users_service::UsersService; [INFO] [stdout] ... | [INFO] [stdout] 1292 | | pub struct UsersModule; [INFO] [stdout] 1293 | | "#); [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 1284 ~ let users_module_rs = r#"use elif_web::prelude::*; [INFO] [stdout] 1285 + use super::users_controller::UsersController; [INFO] [stdout] 1286 + use super::users_service::UsersService; [INFO] [stdout] 1287 + [INFO] [stdout] 1288 + #[module( [INFO] [stdout] 1289 + controllers: [UsersController], [INFO] [stdout] 1290 + providers: [UsersService] [INFO] [stdout] 1291 + )] [INFO] [stdout] 1292 + pub struct UsersModule; [INFO] [stdout] 1293 ~ "#.to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:1295:31 [INFO] [stdout] | [INFO] [stdout] 1295 | let users_controller_rs = format!(r#"use elif_web::prelude::*; [INFO] [stdout] | _______________________________^ [INFO] [stdout] 1296 | | use elif_http::response::response; [INFO] [stdout] 1297 | | use serde_json::json; [INFO] [stdout] 1298 | | use super::users_service::UsersService; [INFO] [stdout] ... | [INFO] [stdout] 1374 | | }} [INFO] [stdout] 1375 | | "#); [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 1295 ~ let users_controller_rs = r#"use elif_web::prelude::*; [INFO] [stdout] 1296 + use elif_http::response::response; [INFO] [stdout] 1297 + use serde_json::json; [INFO] [stdout] 1298 + use super::users_service::UsersService; [INFO] [stdout] 1299 + use super::dto::{CreateUserDto, UpdateUserDto}; [INFO] [stdout] 1300 + [INFO] [stdout] 1301 + #[derive(Default)] [INFO] [stdout] 1302 + pub struct UsersController { [INFO] [stdout] 1303 + users_service: UsersService, [INFO] [stdout] 1304 + } [INFO] [stdout] 1305 + [INFO] [stdout] 1306 + #[controller("/api/users")] [INFO] [stdout] 1307 + impl UsersController { [INFO] [stdout] 1308 + #[get("/")] [INFO] [stdout] 1309 + pub async fn index(&self, _req: ElifRequest) -> HttpResult { [INFO] [stdout] 1310 + let users = self.users_service.find_all().await [INFO] [stdout] 1311 + .map_err(|e| HttpError::internal(format!("Failed to fetch users: {}", e)))?; [INFO] [stdout] 1312 + [INFO] [stdout] 1313 + response().json(json!({ [INFO] [stdout] 1314 + "users": users, [INFO] [stdout] 1315 + "total": users.len() [INFO] [stdout] 1316 + })).send() [INFO] [stdout] 1317 + } [INFO] [stdout] 1318 + [INFO] [stdout] 1319 + #[post("/")] [INFO] [stdout] 1320 + #[body(dto: CreateUserDto)] [INFO] [stdout] 1321 + pub async fn create(&self, dto: CreateUserDto) -> HttpResult { [INFO] [stdout] 1322 + let user = self.users_service.create(dto).await [INFO] [stdout] 1323 + .map_err(|e| HttpError::bad_request(format!("Failed to create user: {}", e)))?; [INFO] [stdout] 1324 + [INFO] [stdout] 1325 + response().json(json!({ [INFO] [stdout] 1326 + "message": "User created successfully", [INFO] [stdout] 1327 + "user": user [INFO] [stdout] 1328 + })).created().send() [INFO] [stdout] 1329 + } [INFO] [stdout] 1330 + [INFO] [stdout] 1331 + #[get("/{id}")] [INFO] [stdout] 1332 + #[param(id: u32)] [INFO] [stdout] 1333 + pub async fn show(&self, id: u32, _req: ElifRequest) -> HttpResult { [INFO] [stdout] 1334 + let user = self.users_service.find_by_id(id).await [INFO] [stdout] 1335 + .map_err(|e| HttpError::internal(format!("Failed to fetch user: {}", e)))?; [INFO] [stdout] 1336 + [INFO] [stdout] 1337 + match user { [INFO] [stdout] 1338 + Some(user) => response().json(json!({ "user": user })).send(), [INFO] [stdout] 1339 + None => Err(HttpError::not_found(format!("User with id {} not found", id))) [INFO] [stdout] 1340 + } [INFO] [stdout] 1341 + } [INFO] [stdout] 1342 + [INFO] [stdout] 1343 + #[put("/{id}")] [INFO] [stdout] 1344 + #[param(id: u32)] [INFO] [stdout] 1345 + #[body(dto: UpdateUserDto)] [INFO] [stdout] 1346 + pub async fn update(&self, id: u32, dto: UpdateUserDto) -> HttpResult { [INFO] [stdout] 1347 + let user = self.users_service.update(id, dto).await [INFO] [stdout] 1348 + .map_err(|e| HttpError::bad_request(format!("Failed to update user: {}", e)))?; [INFO] [stdout] 1349 + [INFO] [stdout] 1350 + match user { [INFO] [stdout] 1351 + Some(user) => response().json(json!({ [INFO] [stdout] 1352 + "message": "User updated successfully", [INFO] [stdout] 1353 + "user": user [INFO] [stdout] 1354 + })).send(), [INFO] [stdout] 1355 + None => Err(HttpError::not_found(format!("User with id {} not found", id))) [INFO] [stdout] 1356 + } [INFO] [stdout] 1357 + } [INFO] [stdout] 1358 + [INFO] [stdout] 1359 + #[delete("/{id}")] [INFO] [stdout] 1360 + #[param(id: u32)] [INFO] [stdout] 1361 + pub async fn destroy(&self, id: u32, _req: ElifRequest) -> HttpResult { [INFO] [stdout] 1362 + let was_deleted = self.users_service.delete(id).await [INFO] [stdout] 1363 + .map_err(|e| HttpError::bad_request(format!("Failed to delete user: {}", e)))?; [INFO] [stdout] 1364 + [INFO] [stdout] 1365 + if was_deleted { [INFO] [stdout] 1366 + response().json(json!({ [INFO] [stdout] 1367 + "message": "User deleted successfully", [INFO] [stdout] 1368 + "deleted_id": id [INFO] [stdout] 1369 + })).send() [INFO] [stdout] 1370 + } else { [INFO] [stdout] 1371 + Err(HttpError::not_found(format!("User with id {} not found", id))) [INFO] [stdout] 1372 + } [INFO] [stdout] 1373 + } [INFO] [stdout] 1374 + } [INFO] [stdout] 1375 ~ "#.to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `format!` [INFO] [stdout] --> src/main.rs:1377:28 [INFO] [stdout] | [INFO] [stdout] 1377 | let users_service_rs = format!(r#"use super::dto::{{CreateUserDto, UpdateUserDto}}; [INFO] [stdout] | ____________________________^ [INFO] [stdout] 1378 | | use serde::{{Serialize, Deserialize}}; [INFO] [stdout] 1379 | | [INFO] [stdout] 1380 | | #[derive(Default)] [INFO] [stdout] ... | [INFO] [stdout] 1449 | | }} [INFO] [stdout] 1450 | | "#); [INFO] [stdout] | |___^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stdout] help: consider using `.to_string()` [INFO] [stdout] | [INFO] [stdout] 1377 ~ let users_service_rs = r#"use super::dto::{CreateUserDto, UpdateUserDto}; [INFO] [stdout] 1378 + use serde::{Serialize, Deserialize}; [INFO] [stdout] 1379 + [INFO] [stdout] 1380 + #[derive(Default)] [INFO] [stdout] 1381 + pub struct UsersService; [INFO] [stdout] 1382 + [INFO] [stdout] 1383 + impl UsersService { [INFO] [stdout] 1384 + pub async fn find_all(&self) -> Result, String> { [INFO] [stdout] 1385 + // TODO: Implement database query [INFO] [stdout] 1386 + // Example: Return sample data for now [INFO] [stdout] 1387 + Ok(vec![ [INFO] [stdout] 1388 + User { id: 1, name: "Alice".to_string(), email: "alice@example.com".to_string() }, [INFO] [stdout] 1389 + User { id: 2, name: "Bob".to_string(), email: "bob@example.com".to_string() }, [INFO] [stdout] 1390 + ]) [INFO] [stdout] 1391 + } [INFO] [stdout] 1392 + [INFO] [stdout] 1393 + pub async fn find_by_id(&self, id: u32) -> Result, String> { [INFO] [stdout] 1394 + // TODO: Implement database query [INFO] [stdout] 1395 + // Example: Return sample data if id exists [INFO] [stdout] 1396 + if id > 0 && id <= 10 { [INFO] [stdout] 1397 + Ok(Some(User { [INFO] [stdout] 1398 + id, [INFO] [stdout] 1399 + name: format!("User {}", id), [INFO] [stdout] 1400 + email: format!("user{}@example.com", id) [INFO] [stdout] 1401 + })) [INFO] [stdout] 1402 + } else { [INFO] [stdout] 1403 + Ok(None) [INFO] [stdout] 1404 + } [INFO] [stdout] 1405 + } [INFO] [stdout] 1406 + [INFO] [stdout] 1407 + pub async fn create(&self, dto: CreateUserDto) -> Result { [INFO] [stdout] 1408 + // TODO: Implement database insertion [INFO] [stdout] 1409 + // Example: Generate new user from DTO [INFO] [stdout] 1410 + Ok(User { [INFO] [stdout] 1411 + id: 123, // TODO: Get next ID from database [INFO] [stdout] 1412 + name: dto.name, [INFO] [stdout] 1413 + email: dto.email [INFO] [stdout] 1414 + }) [INFO] [stdout] 1415 + } [INFO] [stdout] 1416 + [INFO] [stdout] 1417 + pub async fn update(&self, id: u32, dto: UpdateUserDto) -> Result, String> { [INFO] [stdout] 1418 + // TODO: Implement database update [INFO] [stdout] 1419 + // Example: Update existing user if found [INFO] [stdout] 1420 + if id > 0 && id <= 10 { [INFO] [stdout] 1421 + Ok(Some(User { [INFO] [stdout] 1422 + id, [INFO] [stdout] 1423 + name: dto.name.unwrap_or_else(|| format!("Updated User {}", id)), [INFO] [stdout] 1424 + email: dto.email.unwrap_or_else(|| format!("updated{}@example.com", id)) [INFO] [stdout] 1425 + })) [INFO] [stdout] 1426 + } else { [INFO] [stdout] 1427 + Ok(None) [INFO] [stdout] 1428 + } [INFO] [stdout] 1429 + } [INFO] [stdout] 1430 + [INFO] [stdout] 1431 + pub async fn delete(&self, id: u32) -> Result { [INFO] [stdout] 1432 + // TODO: Implement database deletion [INFO] [stdout] 1433 + // Example: Return true if user existed and was deleted, false if not found [INFO] [stdout] 1434 + if id > 0 && id <= 10 { [INFO] [stdout] 1435 + println!("Deleted user with id: {}", id); [INFO] [stdout] 1436 + Ok(true) [INFO] [stdout] 1437 + } else { [INFO] [stdout] 1438 + Ok(false) [INFO] [stdout] 1439 + } [INFO] [stdout] 1440 + } [INFO] [stdout] 1441 + } [INFO] [stdout] 1442 + [INFO] [stdout] 1443 + // TODO: Replace with your actual User model from database/ORM [INFO] [stdout] 1444 + #[derive(Debug, Clone, Serialize, Deserialize)] [INFO] [stdout] 1445 + pub struct User { [INFO] [stdout] 1446 + pub id: u32, [INFO] [stdout] 1447 + pub name: String, [INFO] [stdout] 1448 + pub email: String, [INFO] [stdout] 1449 + } [INFO] [stdout] 1450 ~ "#.to_string(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/main.rs:1735:15 [INFO] [stdout] | [INFO] [stdout] 1735 | .args(&["init"]) [INFO] [stdout] | ^^^^^^^^^ help: change this to: `["init"]` [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/main.rs:1736:22 [INFO] [stdout] | [INFO] [stdout] 1736 | .current_dir(&project_path) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `project_path` [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/main.rs:1744:15 [INFO] [stdout] | [INFO] [stdout] 1744 | .args(&["add", "."]) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `["add", "."]` [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/main.rs:1745:22 [INFO] [stdout] | [INFO] [stdout] 1745 | .current_dir(&project_path) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `project_path` [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/main.rs:1752:15 [INFO] [stdout] | [INFO] [stdout] 1752 | .args(&["commit", "-m", "Initial commit from elifrs CLI"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["commit", "-m", "Initial commit from elifrs CLI"]` [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/main.rs:1753:22 [INFO] [stdout] | [INFO] [stdout] 1753 | .current_dir(&project_path) [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `project_path` [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/main.rs:1785:15 [INFO] [stdout] | [INFO] [stdout] 1785 | .args(&["search", "elifrs", "--limit", "1"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["search", "elifrs", "--limit", "1"]` [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/main.rs:1787:44 [INFO] [stdout] | [INFO] [stdout] 1787 | .map_err(|e| ElifError::validation(&format!("Failed to check for updates: {}", e)))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Failed to check for updates: {}", e)` [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/main.rs:1816:15 [INFO] [stdout] | [INFO] [stdout] 1816 | .args(&["install", "elifrs", "--force"]) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `["install", "elifrs", "--force"]` [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/main.rs:1818:44 [INFO] [stdout] | [INFO] [stdout] 1818 | .map_err(|e| ElifError::validation(&format!("Failed to install update: {}", e)))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Failed to install update: {}", e)` [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/main.rs:1822:42 [INFO] [stdout] | [INFO] [stdout] 1822 | return Err(ElifError::validation(&format!("Installation failed: {}", error_msg))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `format!("Installation failed: {}", error_msg)` [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6m 08s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: sqlx-postgres v0.7.4 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "95e87d6d7b758d60ee345442e37b52f71647364906a6cbf28b42e4bd2fc16404", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95e87d6d7b758d60ee345442e37b52f71647364906a6cbf28b42e4bd2fc16404", kill_on_drop: false }` [INFO] [stdout] 95e87d6d7b758d60ee345442e37b52f71647364906a6cbf28b42e4bd2fc16404