[INFO] cloning repository https://github.com/naufalandya/experiment-cli-backend [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/naufalandya/experiment-cli-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnaufalandya%2Fexperiment-cli-backend", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnaufalandya%2Fexperiment-cli-backend'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] be25d444fb84050593f0b809b50dcde71e072422 [INFO] checking naufalandya/experiment-cli-backend/be25d444fb84050593f0b809b50dcde71e072422 against master#4068bafedd8ba724e332a5221c06a6fa531a30d2 for pr-146978 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnaufalandya%2Fexperiment-cli-backend" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/naufalandya/experiment-cli-backend [INFO] finished tweaking git repo https://github.com/naufalandya/experiment-cli-backend [INFO] tweaked toml for git repo https://github.com/naufalandya/experiment-cli-backend written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/naufalandya/experiment-cli-backend on toolchain 4068bafedd8ba724e332a5221c06a6fa531a30d2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4068bafedd8ba724e332a5221c06a6fa531a30d2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/naufalandya/experiment-cli-backend 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" "+4068bafedd8ba724e332a5221c06a6fa531a30d2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: source [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.101 [INFO] [stderr] Downloaded rustls-connector v0.20.2 [INFO] [stderr] Downloaded reactor-trait v1.1.0 [INFO] [stderr] Downloaded amq-protocol-uri v7.2.3 [INFO] [stderr] Downloaded executor-trait v2.1.2 [INFO] [stderr] Downloaded actix-cors v0.6.5 [INFO] [stderr] Downloaded parse-size v1.1.0 [INFO] [stderr] Downloaded actix-multipart-derive v0.6.1 [INFO] [stderr] Downloaded actix-server v2.6.0 [INFO] [stderr] Downloaded des v0.8.1 [INFO] [stderr] Downloaded der-parser v10.0.0 [INFO] [stderr] Downloaded actix-multipart v0.6.2 [INFO] [stderr] Downloaded lapin v2.5.4 [INFO] [stderr] Downloaded opentelemetry-proto v0.6.0 [INFO] [stderr] Downloaded cms v0.2.3 [INFO] [stderr] Downloaded actix-web v4.11.0 [INFO] [stderr] Downloaded minio v0.3.0 [INFO] [stderr] Downloaded redis v0.32.5 [INFO] [stderr] Downloaded protobuf v2.28.0 [INFO] [stderr] Downloaded rust_decimal v1.37.2 [INFO] [stderr] Downloaded rustix v1.1.1 [INFO] [stderr] Downloaded axum v0.6.20 [INFO] [stderr] Downloaded p12-keystore v0.1.5 [INFO] [stderr] Downloaded brotli-decompressor v5.0.0 [INFO] [stderr] Downloaded tower-http v0.4.4 [INFO] [stderr] Downloaded brotli v8.0.2 [INFO] [stderr] Downloaded web-sys v0.3.78 [INFO] [stderr] Downloaded tonic-web v0.11.0 [INFO] [stderr] Downloaded jpeg-decoder v0.3.2 [INFO] [stderr] Downloaded jiff v0.2.15 [INFO] [stderr] Downloaded x509-cert v0.2.5 [INFO] [stderr] Downloaded x509-parser v0.17.0 [INFO] [stderr] Downloaded jiff-static v0.2.15 [INFO] [stderr] Downloaded prometheus v0.13.4 [INFO] [stderr] Downloaded bigdecimal v0.4.8 [INFO] [stderr] Downloaded cc v1.2.36 [INFO] [stderr] Downloaded indexmap v2.11.1 [INFO] [stderr] Downloaded tonic v0.11.0 [INFO] [stderr] Downloaded opentelemetry v0.23.0 [INFO] [stderr] Downloaded wasi v0.14.4+wasi-0.2.4 [INFO] [stderr] Downloaded opentelemetry_sdk v0.23.0 [INFO] [stderr] Downloaded pinky-swear v6.2.1 [INFO] [stderr] Downloaded tracing-opentelemetry v0.24.0 [INFO] [stderr] Downloaded asn1-rs v0.7.1 [INFO] [stderr] Downloaded borsh v1.5.7 [INFO] [stderr] Downloaded pkcs5 v0.7.1 [INFO] [stderr] Downloaded polling v3.10.0 [INFO] [stderr] Downloaded prettyplease v0.2.37 [INFO] [stderr] Downloaded prost-types v0.12.6 [INFO] [stderr] Downloaded tempfile v3.21.0 [INFO] [stderr] Downloaded js-sys v0.3.78 [INFO] [stderr] Downloaded actix-service v2.0.3 [INFO] [stderr] Downloaded time-macros v0.2.24 [INFO] [stderr] Downloaded rustls-native-certs v0.7.3 [INFO] [stderr] Downloaded async-io v2.5.0 [INFO] [stderr] Downloaded env_logger v0.10.2 [INFO] [stderr] Downloaded opentelemetry-otlp v0.16.0 [INFO] [stderr] Downloaded prost-build v0.12.6 [INFO] [stderr] Downloaded borsh-derive v1.5.7 [INFO] [stderr] Downloaded prost v0.12.6 [INFO] [stderr] Downloaded wasm-bindgen v0.2.101 [INFO] [stderr] Downloaded actix-codec v0.5.2 [INFO] [stderr] Downloaded actix-http v3.11.1 [INFO] [stderr] Downloaded local-channel v0.1.5 [INFO] [stderr] Downloaded actix-router v0.5.3 [INFO] [stderr] Downloaded actix-web-prom v0.6.0 [INFO] [stderr] Downloaded argon2 v0.5.3 [INFO] [stderr] Downloaded amq-protocol-tcp v7.2.3 [INFO] [stderr] Downloaded rc2 v0.8.1 [INFO] [stderr] Downloaded amq-protocol v7.2.3 [INFO] [stderr] Downloaded dashmap v6.1.0 [INFO] [stderr] Downloaded wasm-bindgen-futures v0.4.51 [INFO] [stderr] Downloaded xmltree v0.11.0 [INFO] [stderr] Downloaded multimap v0.10.1 [INFO] [stderr] Downloaded tonic-health v0.11.0 [INFO] [stderr] Downloaded prost-derive v0.12.6 [INFO] [stderr] Downloaded http-range-header v0.3.1 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.101 [INFO] [stderr] Downloaded actix-macros v0.2.4 [INFO] [stderr] Downloaded actix-rt v2.11.0 [INFO] [stderr] Downloaded actix-web-codegen v4.3.0 [INFO] [stderr] Downloaded bytestring v1.4.0 [INFO] [stderr] Downloaded impl-more v0.1.9 [INFO] [stderr] Downloaded humantime v2.2.0 [INFO] [stderr] Downloaded pem v3.0.6 [INFO] [stderr] Downloaded simple_asn1 v0.6.3 [INFO] [stderr] Downloaded scrypt v0.11.0 [INFO] [stderr] Downloaded asn1-rs-derive v0.6.0 [INFO] [stderr] Downloaded oid-registry v0.8.1 [INFO] [stderr] Downloaded tcp-stream v0.28.0 [INFO] [stderr] Downloaded amq-protocol-types v7.2.3 [INFO] [stderr] Downloaded cookie-factory v0.3.3 [INFO] [stderr] Downloaded async-global-executor v3.1.0 [INFO] [stderr] Downloaded flagset v0.4.7 [INFO] [stderr] Downloaded tonic-build v0.8.4 [INFO] [stderr] Downloaded tokio-io-timeout v1.2.1 [INFO] [stderr] Downloaded async-global-executor-trait v2.2.0 [INFO] [stderr] Downloaded async-reactor-trait v1.1.0 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.101 [INFO] [stderr] Downloaded local-waker v0.1.4 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.101 [INFO] [stderr] Downloaded openssl-src v300.5.3+3.5.4 [INFO] [stderr] Downloaded pkcs12 v0.1.0 [INFO] [stderr] Downloaded proc-macro-crate v3.3.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+4068bafedd8ba724e332a5221c06a6fa531a30d2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d7e82915b4c7b19880718b7d896d0d854672383b8ddeaa6e762e2174b98ee76c [INFO] running `Command { std: "docker" "start" "-a" "d7e82915b4c7b19880718b7d896d0d854672383b8ddeaa6e762e2174b98ee76c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d7e82915b4c7b19880718b7d896d0d854672383b8ddeaa6e762e2174b98ee76c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d7e82915b4c7b19880718b7d896d0d854672383b8ddeaa6e762e2174b98ee76c", kill_on_drop: false }` [INFO] [stdout] d7e82915b4c7b19880718b7d896d0d854672383b8ddeaa6e762e2174b98ee76c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+4068bafedd8ba724e332a5221c06a6fa531a30d2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9a6ea7d773c74a7de89e6ccce2e5b69220c099f0950d6516f07d3056f1a42951 [INFO] running `Command { std: "docker" "start" "-a" "9a6ea7d773c74a7de89e6ccce2e5b69220c099f0950d6516f07d3056f1a42951", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: source [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking cfg-if v1.0.3 [INFO] [stderr] Checking log v0.4.28 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling find-msvc-tools v0.1.1 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Checking slab v0.4.11 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Checking tracing-core v0.1.34 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Checking percent-encoding v2.3.2 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Checking foldhash v0.1.5 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking bitflags v2.9.4 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Checking writeable v0.6.1 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Checking litemap v0.8.0 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Checking deranged v0.5.3 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling time-macros v0.2.24 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Checking rustls-pki-types v1.12.0 [INFO] [stderr] Checking form_urlencoded v1.2.2 [INFO] [stderr] Compiling rustls v0.23.31 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Compiling cc v1.2.36 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking block-padding v0.3.3 [INFO] [stderr] Checking base64ct v1.8.0 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Checking indexmap v2.11.1 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Compiling openssl-src v300.5.3+3.5.4 [INFO] [stderr] Checking pem-rfc7468 v0.7.0 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking regex-syntax v0.8.6 [INFO] [stderr] Checking flagset v0.4.7 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Checking const-oid v0.9.6 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking time v0.3.43 [INFO] [stderr] Compiling bigdecimal v0.4.8 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling home v0.5.11 [INFO] [stderr] Compiling rustix v1.1.1 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Checking rusticata-macros v4.1.0 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Compiling axum-core v0.3.4 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Checking local-waker v0.1.4 [INFO] [stderr] Compiling oid-registry v0.8.1 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling axum v0.6.20 [INFO] [stderr] Checking event-listener-strategy v0.5.4 [INFO] [stderr] Checking salsa20 v0.10.2 [INFO] [stderr] Checking pbkdf2 v0.12.2 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking regex-automata v0.4.10 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Checking scrypt v0.11.0 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Checking brotli-decompressor v5.0.0 [INFO] [stderr] Checking actix-utils v3.0.1 [INFO] [stderr] Compiling webpki-roots v1.0.2 [INFO] [stderr] Checking futures-lite v2.6.1 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking cbc v0.1.2 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Checking regex v1.11.2 [INFO] [stderr] Compiling bytestring v1.4.0 [INFO] [stderr] Checking actix-service v2.0.3 [INFO] [stderr] Compiling cookie v0.16.2 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling iana-time-zone v0.1.63 [INFO] [stderr] Checking matchit v0.7.3 [INFO] [stderr] Checking sync_wrapper v0.1.2 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling io-lifetimes v1.0.11 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling prettyplease v0.1.25 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling regex-lite v0.1.7 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling tempfile v3.21.0 [INFO] [stderr] Compiling crc v3.3.0 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Checking rustls-webpki v0.103.4 [INFO] [stderr] Checking rustls-native-certs v0.7.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Compiling der_derive v0.7.3 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Compiling asn1-rs-impl v0.2.0 [INFO] [stderr] Checking zerovec v0.11.4 [INFO] [stderr] Compiling asn1-rs-derive v0.6.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling actix-macros v0.2.4 [INFO] [stderr] Checking der v0.7.10 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.3 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking asn1-rs v0.7.1 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Checking brotli v8.0.2 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking der-parser v10.0.0 [INFO] [stderr] Checking x509-cert v0.2.5 [INFO] [stderr] Checking pkcs5 v0.7.1 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling unicode-normalization v0.1.24 [INFO] [stderr] Checking local-channel v0.1.5 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Checking x509-parser v0.17.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Checking cms v0.2.3 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking url v2.5.7 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling actix-router v0.5.3 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Checking pkcs12 v0.1.0 [INFO] [stderr] Checking derive_more v2.0.1 [INFO] [stderr] Checking des v0.8.1 [INFO] [stderr] Checking rc2 v0.8.1 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Compiling polling v2.8.0 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling rustix v0.37.28 [INFO] [stderr] Compiling unicode-properties v0.1.3 [INFO] [stderr] Checking cookie-factory v0.3.3 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling unicode-bidi v0.3.18 [INFO] [stderr] Checking async-task v4.7.1 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking language-tags v0.3.2 [INFO] [stderr] Compiling prost-derive v0.12.6 [INFO] [stderr] Compiling stringprep v0.1.5 [INFO] [stderr] Checking amq-protocol-types v7.2.3 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling actix-web-codegen v4.3.0 [INFO] [stderr] Checking p12-keystore v0.1.5 [INFO] [stderr] Compiling prost-derive v0.11.9 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking rustls-connector v0.20.2 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Checking opentelemetry v0.23.0 [INFO] [stderr] Checking polling v3.10.0 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Checking async-lock v3.4.1 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Checking piper v0.2.4 [INFO] [stderr] Checking prost v0.12.6 [INFO] [stderr] Checking ordered-float v4.6.0 [INFO] [stderr] Compiling async-io v1.13.0 [INFO] [stderr] Checking event-listener v2.5.3 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Checking waker-fn v1.2.0 [INFO] [stderr] Compiling whoami v1.6.1 [INFO] [stderr] Checking linux-raw-sys v0.3.8 [INFO] [stderr] Compiling protobuf v2.28.0 [INFO] [stderr] Checking fastrand v1.9.0 [INFO] [stderr] Checking glob v0.3.3 [INFO] [stderr] Checking impl-more v0.1.9 [INFO] [stderr] Compiling multimap v0.8.3 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Checking futures-lite v1.13.0 [INFO] [stderr] Compiling prost-types v0.12.6 [INFO] [stderr] Checking async-lock v2.8.0 [INFO] [stderr] Checking async-io v2.5.0 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Checking tcp-stream v0.28.0 [INFO] [stderr] Compiling prost v0.11.9 [INFO] [stderr] Checking amq-protocol-uri v7.2.3 [INFO] [stderr] Checking async-executor v1.13.3 [INFO] [stderr] Compiling prost-types v0.11.9 [INFO] [stderr] Checking socket2 v0.4.10 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Compiling amq-protocol v7.2.3 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Checking weezl v0.1.10 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Compiling prometheus v0.13.4 [INFO] [stderr] Compiling multimap v0.10.1 [INFO] [stderr] Checking zstd v0.13.3 [INFO] [stderr] Checking tokio-util v0.7.16 [INFO] [stderr] Checking actix-rt v2.11.0 [INFO] [stderr] Checking tokio-io-timeout v1.2.1 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking http-range-header v0.3.1 [INFO] [stderr] Checking anstyle-query v1.1.4 [INFO] [stderr] Checking anstream v0.6.20 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Checking actix-server v2.6.0 [INFO] [stderr] Compiling prost-build v0.12.6 [INFO] [stderr] Checking flume v0.11.1 [INFO] [stderr] Checking jpeg-decoder v0.3.2 [INFO] [stderr] Checking async-global-executor v3.1.0 [INFO] [stderr] Checking amq-protocol-tcp v7.2.3 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking actix-codec v0.5.2 [INFO] [stderr] Checking h2 v0.4.12 [INFO] [stderr] Compiling prost-build v0.11.9 [INFO] [stderr] Checking opentelemetry_sdk v0.23.0 [INFO] [stderr] Checking tower-http v0.6.6 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Checking reactor-trait v1.1.0 [INFO] [stderr] Checking executor-trait v2.1.2 [INFO] [stderr] Checking env_filter v0.1.3 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Compiling parse-size v1.1.0 [INFO] [stderr] Compiling sqlx-postgres v0.8.6 [INFO] [stderr] Checking xml-rs v0.8.27 [INFO] [stderr] Checking nu-ansi-term v0.50.1 [INFO] [stderr] Compiling rust_decimal v1.37.2 [INFO] [stderr] Compiling tonic-build v0.8.4 [INFO] [stderr] Checking lebe v0.5.3 [INFO] [stderr] Checking bytemuck v1.23.2 [INFO] [stderr] Checking bit_field v0.10.3 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking jiff v0.2.15 [INFO] [stderr] Compiling lapin v2.5.4 [INFO] [stderr] Checking gif v0.13.3 [INFO] [stderr] Checking qoi v0.4.1 [INFO] [stderr] Checking xmltree v0.11.0 [INFO] [stderr] Checking exr v1.73.0 [INFO] [stderr] Checking tracing-subscriber v0.3.20 [INFO] [stderr] Checking dashmap v6.1.0 [INFO] [stderr] Checking async-reactor-trait v1.1.0 [INFO] [stderr] Compiling actix-multipart-derive v0.6.1 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking async-global-executor-trait v2.2.0 [INFO] [stderr] Checking pinky-swear v6.2.1 [INFO] [stderr] Checking tiff v0.9.1 [INFO] [stderr] Compiling addons-new-general-service v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking combine v4.6.7 [INFO] [stderr] Checking tower-http v0.4.4 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking serde_plain v1.0.2 [INFO] [stderr] Checking simple_asn1 v0.6.3 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Checking is-terminal v0.4.16 [INFO] [stderr] Checking pem v3.0.6 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking humantime v2.2.0 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking sha1_smol v1.0.1 [INFO] [stderr] Checking jsonwebtoken v9.3.1 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Checking tracing-opentelemetry v0.24.0 [INFO] [stderr] warning: addons-new-general-service@0.1.0: server_protos: ["./proto/server/request.proto", "./proto/server/common.proto", "./proto/server/api.proto", "./proto/server/response.proto"] [INFO] [stderr] warning: addons-new-general-service@0.1.0: client_protos: ["./proto/client/auth/api.proto", "./proto/client/role/api.proto"] [INFO] [stderr] Checking tower-http v0.2.5 [INFO] [stderr] Checking sysinfo v0.30.13 [INFO] [stderr] Checking uuid v1.18.1 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking env_logger v0.11.8 [INFO] [stderr] Checking hyper v1.7.0 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Checking actix-http v3.11.1 [INFO] [stderr] Checking hyper-util v0.1.16 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Checking redis v0.32.5 [INFO] [stderr] Checking actix-web v4.11.0 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Checking sqlx v0.8.6 [INFO] [stderr] Checking hyper-timeout v0.4.1 [INFO] [stderr] Checking actix-web-prom v0.6.0 [INFO] [stderr] Checking actix-multipart v0.6.2 [INFO] [stderr] Checking actix-cors v0.6.5 [INFO] [stderr] Checking tonic v0.11.0 [INFO] [stderr] Checking opentelemetry-proto v0.6.0 [INFO] [stderr] Checking tonic-web v0.11.0 [INFO] [stderr] Checking tonic-health v0.11.0 [INFO] [stderr] Checking opentelemetry-otlp v0.16.0 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.23 [INFO] [stderr] Checking minio v0.3.0 [INFO] [stdout] warning: unused import: `post` [INFO] [stdout] --> src/controllers/hello_controllers.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::{get, post, web::{self}, HttpResponse, Responder}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `body` [INFO] [stdout] --> src/controllers/auth/auth_controllers.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::{body, get, post, web::{self}, HttpRequest, HttpResponse, HttpMessage, Responder}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `body` and `get` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::{body, get, post, web::{self}, HttpResponse, Responder}; [INFO] [stdout] | ^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Argon2`, `PasswordHasher`, `PasswordVerifier`, and `SaltString` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | use argon2::{PasswordVerifier, Argon2, password_hash::{SaltString, PasswordHasher}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::rngs::OsRng` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use rand::rngs::OsRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Algorithm`, `EncodingKey`, and `Header` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use jsonwebtoken::{EncodingKey, Header, Algorithm}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `Utc` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use chrono::{Utc, Duration}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AuthRequest`, `Claims`, and `auth::AuthProvider` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | AuthRequest, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | Claims [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | provider::{auth::AuthProvider, menu::MenuProvider}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/model/common.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sqlx::FromRow` [INFO] [stdout] --> src/model/auth.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use sqlx::FromRow; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/model/auth.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/model/implementation.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | web::{self, Json}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/validation/schema/menu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Timestamp` [INFO] [stdout] --> src/utils/common.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | use uuid::{Uuid, Timestamp}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serialize` [INFO] [stdout] --> src/utils/structs.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `common::ApiResponse` [INFO] [stdout] --> src/provider/squad.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model::{squads::Squad, common::ApiResponse}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HttpResponse`, `Responder`, `get`, and `web` [INFO] [stdout] --> src/provider/squad.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use actix_web::{get, web, HttpResponse, Responder}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Level`, `info`, and `span` [INFO] [stdout] --> src/provider/squad.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use tracing::{info, span, Level}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LocalBoxFuture` [INFO] [stdout] --> src/main.rs:18:42 [INFO] [stdout] | [INFO] [stdout] 18 | use futures_util::future::{TryFutureExt, LocalBoxFuture}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `redis::init_redis` [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | redis::init_redis, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::dev::ServiceResponse` [INFO] [stdout] --> src/main.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use actix_web::dev::ServiceResponse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode [INFO] [stdout] --> src/utils/common.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use base64::{encode as b64_encode, decode as b64_decode}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode [INFO] [stdout] --> src/utils/common.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | use base64::{encode as b64_encode, decode as b64_decode}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode [INFO] [stdout] --> src/utils/common.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | b64_encode(input) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode [INFO] [stdout] --> src/utils/common.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | b64_decode(input) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode [INFO] [stdout] --> src/utils/common.rs:314:13 [INFO] [stdout] | [INFO] [stdout] 314 | base64::encode(mac.finalize().into_bytes()) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `post` [INFO] [stdout] --> src/controllers/hello_controllers.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::{get, post, web::{self}, HttpResponse, Responder}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `body` [INFO] [stdout] --> src/controllers/auth/auth_controllers.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::{body, get, post, web::{self}, HttpRequest, HttpResponse, HttpMessage, Responder}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `body` and `get` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use actix_web::{body, get, post, web::{self}, HttpResponse, Responder}; [INFO] [stdout] | ^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Argon2`, `PasswordHasher`, `PasswordVerifier`, and `SaltString` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | use argon2::{PasswordVerifier, Argon2, password_hash::{SaltString, PasswordHasher}}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::rngs::OsRng` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use rand::rngs::OsRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Algorithm`, `EncodingKey`, and `Header` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use jsonwebtoken::{EncodingKey, Header, Algorithm}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `Utc` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use chrono::{Utc, Duration}; [INFO] [stdout] | ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AuthRequest`, `Claims`, and `auth::AuthProvider` [INFO] [stdout] --> src/controllers/menu/menu_controllers.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | AuthRequest, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 14 | Claims [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | provider::{auth::AuthProvider, menu::MenuProvider}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/model/common.rs:1:13 [INFO] [stdout] | [INFO] [stdout] 1 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sqlx::FromRow` [INFO] [stdout] --> src/model/auth.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use sqlx::FromRow; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `serde_json::json` [INFO] [stdout] --> src/model/auth.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use serde_json::json; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/model/implementation.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | web::{self, Json}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `once_cell::sync::Lazy` [INFO] [stdout] --> src/validation/schema/menu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use once_cell::sync::Lazy; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Timestamp` [INFO] [stdout] --> src/utils/common.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | use uuid::{Uuid, Timestamp}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serialize` [INFO] [stdout] --> src/utils/structs.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `common::ApiResponse` [INFO] [stdout] --> src/provider/squad.rs:2:35 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::model::{squads::Squad, common::ApiResponse}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HttpResponse`, `Responder`, `get`, and `web` [INFO] [stdout] --> src/provider/squad.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use actix_web::{get, web, HttpResponse, Responder}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Level`, `info`, and `span` [INFO] [stdout] --> src/provider/squad.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use tracing::{info, span, Level}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LocalBoxFuture` [INFO] [stdout] --> src/main.rs:18:42 [INFO] [stdout] | [INFO] [stdout] 18 | use futures_util::future::{TryFutureExt, LocalBoxFuture}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `redis::init_redis` [INFO] [stdout] --> src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | redis::init_redis, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::Mutex` [INFO] [stdout] --> src/main.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use tokio::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `actix_web::dev::ServiceResponse` [INFO] [stdout] --> src/main.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use actix_web::dev::ServiceResponse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode [INFO] [stdout] --> src/utils/common.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | use base64::{encode as b64_encode, decode as b64_decode}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode [INFO] [stdout] --> src/utils/common.rs:8:36 [INFO] [stdout] | [INFO] [stdout] 8 | use base64::{encode as b64_encode, decode as b64_decode}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode [INFO] [stdout] --> src/utils/common.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | b64_encode(input) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::decode`: Use Engine::decode [INFO] [stdout] --> src/utils/common.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | b64_decode(input) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `base64::encode`: Use Engine::encode [INFO] [stdout] --> src/utils/common.rs:314:13 [INFO] [stdout] | [INFO] [stdout] 314 | base64::encode(mac.finalize().into_bytes()) [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stdout] --> src/utils/common.rs:43:31 [INFO] [stdout] | [INFO] [stdout] 43 | let dt = DateTime::::from_utc(NaiveDateTime::from_timestamp_opt(ts, 0).unwrap(), Utc); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/utils/common.rs:43:55 [INFO] [stdout] | [INFO] [stdout] 43 | let dt = DateTime::::from_utc(NaiveDateTime::from_timestamp_opt(ts, 0).unwrap(), Utc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stdout] --> src/utils/common.rs:43:31 [INFO] [stdout] | [INFO] [stdout] 43 | let dt = DateTime::::from_utc(NaiveDateTime::from_timestamp_opt(ts, 0).unwrap(), Utc); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/utils/common.rs:43:55 [INFO] [stdout] | [INFO] [stdout] 43 | let dt = DateTime::::from_utc(NaiveDateTime::from_timestamp_opt(ts, 0).unwrap(), Utc); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/middlewares/middleware.rs:68:20 [INFO] [stdout] | [INFO] [stdout] 68 | fn call(&self, mut req: ServiceRequest) -> Self::Future { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/middlewares/middleware.rs:68:20 [INFO] [stdout] | [INFO] [stdout] 68 | fn call(&self, mut req: ServiceRequest) -> Self::Future { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils/common.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | let mut chars: Vec = s.chars().rev().collect(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/utils/common.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | let mut chars: Vec = s.chars().rev().collect(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `grpc_port` and `general_service` are never read [INFO] [stdout] --> src/config/environment.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct AppConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 4 | pub grpc_port: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 5 | pub http_port: String, // <── ganti ini [INFO] [stdout] 6 | pub general_service: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_auth_client` is never used [INFO] [stdout] --> src/config/grpc.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub async fn connect_auth_client(url: &str) -> Result, tonic::transport::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_general_client` is never used [INFO] [stdout] --> src/config/grpc.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | pub async fn connect_general_client(url: &str) -> Result, tonic::transport::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_redis` is never used [INFO] [stdout] --> src/config/redis.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub async fn init_redis() -> MultiplexedConnection { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/middlewares/middleware.rs:141:25 [INFO] [stdout] | [INFO] [stdout] 141 | pub struct CustomHeader(pub String); [INFO] [stdout] | ------------ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CustomHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Required`, `RegexMismatch`, `Length`, and `Range` are never constructed [INFO] [stdout] --> src/validation/validation.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum ValidationError { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 15 | Required(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | RegexMismatch(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | Length(String, usize, usize), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | #[error("Field '{0}' value out of range (min={1}, max={2})")] [INFO] [stdout] 29 | Range(String, f64, f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ValidationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Number`, `Bool`, `Json`, `Date`, `Array`, and `Custom` are never constructed [INFO] [stdout] --> src/validation/validation.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum Rule { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 45 | Number { min: f64, max: f64, message: Option }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 46 | Bool { message: Option }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 47 | Regex { pattern: &'static str, message: Option }, [INFO] [stdout] 48 | Json { message: Option }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 49 | Enum { values: Vec<&'static str>, message: Option }, [INFO] [stdout] 50 | Date { message: Option }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 51 | Array { min: usize, max: usize, message: Option }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 52 | Custom { func: fn(&Value) -> Result<(), String> }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Rule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `value` is never read [INFO] [stdout] --> src/validation/validation.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 237 | pub struct AttackDetection { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 240 | pub value: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AttackDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_variable` is never used [INFO] [stdout] --> src/validation/validation.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn validate_variable( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `secure_validate_variable` is never used [INFO] [stdout] --> src/validation/validation.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | pub fn secure_validate_variable( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_str` is never used [INFO] [stdout] --> src/utils/common.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn encode_str(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_str` is never used [INFO] [stdout] --> src/utils/common.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn decode_str(input: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_uuid` is never used [INFO] [stdout] --> src/utils/common.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn generate_uuid() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_timestamp` is never used [INFO] [stdout] --> src/utils/common.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn now_timestamp() -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `timestamp_to_datetime` is never used [INFO] [stdout] --> src/utils/common.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn timestamp_to_datetime(ts: i64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_string` is never used [INFO] [stdout] --> src/utils/common.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn random_string(len: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_sha256` is never used [INFO] [stdout] --> src/utils/common.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn hash_sha256(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_base64` is never used [INFO] [stdout] --> src/utils/common.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn encode_base64(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_base64` is never used [INFO] [stdout] --> src/utils/common.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn decode_base64(input: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_millis` is never used [INFO] [stdout] --> src/utils/common.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn now_millis() -> u128 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_str` is never used [INFO] [stdout] --> src/utils/common.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn normalize_str(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_blank` is never used [INFO] [stdout] --> src/utils/common.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn is_blank(input: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_number` is never used [INFO] [stdout] --> src/utils/common.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn format_number(n: i64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_json` is never used [INFO] [stdout] --> src/utils/common.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn parse_json(input: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `map_to_json` is never used [INFO] [stdout] --> src/utils/common.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn map_to_json(map: &HashMap) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `seconds_since` is never used [INFO] [stdout] --> src/utils/common.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn seconds_since(ts: i64) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_days` is never used [INFO] [stdout] --> src/utils/common.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn add_days(days: i64) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid_email` is never used [INFO] [stdout] --> src/utils/common.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn is_valid_email(email: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `capitalize_first` is never used [INFO] [stdout] --> src/utils/common.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn capitalize_first(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_slug` is never used [INFO] [stdout] --> src/utils/common.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn to_slug(input: &str) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_env` is never used [INFO] [stdout] --> src/utils/common.rs:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn get_env(key: &str, default: &str) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_i64` is never used [INFO] [stdout] --> src/utils/common.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn to_i64(input: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_f64` is never used [INFO] [stdout] --> src/utils/common.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn to_f64(input: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp` is never used [INFO] [stdout] --> src/utils/common.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn clamp(value: i64, min: i64, max: i64) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_otp` is never used [INFO] [stdout] --> src/utils/common.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn generate_otp(len: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `json_get` is never used [INFO] [stdout] --> src/utils/common.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn json_get<'a>(v: &'a Value, key: &str) -> Option<&'a Value> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `human_readable_size` is never used [INFO] [stdout] --> src/utils/common.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn human_readable_size(bytes: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `file_exists` is never used [INFO] [stdout] --> src/utils/common.rs:210:8 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn file_exists(path: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file_to_string` is never used [INFO] [stdout] --> src/utils/common.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn read_file_to_string(path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid_password` is never used [INFO] [stdout] --> src/utils/common.rs:220:8 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn is_valid_password(pw: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chunk_str` is never used [INFO] [stdout] --> src/utils/common.rs:230:8 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn chunk_str(input: &str, size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mask_sensitive` is never used [INFO] [stdout] --> src/utils/common.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn mask_sensitive(input: &str, visible: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `email_domain` is never used [INFO] [stdout] --> src/utils/common.rs:248:8 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn email_domain(email: &str) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge_maps` is never used [INFO] [stdout] --> src/utils/common.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn merge_maps( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `frequency_count` is never used [INFO] [stdout] --> src/utils/common.rs:264:8 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn frequency_count(items: &[T]) -> HashMap<&T, usize> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `human_duration` is never used [INFO] [stdout] --> src/utils/common.rs:273:8 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn human_duration(seconds: i64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_expired` is never used [INFO] [stdout] --> src/utils/common.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 289 | pub fn is_expired(ts: i64, ttl_secs: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constant_time_eq` is never used [INFO] [stdout] --> src/utils/common.rs:294:8 [INFO] [stdout] | [INFO] [stdout] 294 | pub fn constant_time_eq(a: &str, b: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sign_token` is never used [INFO] [stdout] --> src/utils/common.rs:306:8 [INFO] [stdout] | [INFO] [stdout] 306 | pub fn sign_token(secret: &str, data: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `file_extension` is never used [INFO] [stdout] --> src/utils/common.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 318 | pub fn file_extension(path: &str) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_files` is never used [INFO] [stdout] --> src/utils/common.rs:323:8 [INFO] [stdout] | [INFO] [stdout] 323 | pub fn list_files(path: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_host` is never used [INFO] [stdout] --> src/utils/common.rs:335:8 [INFO] [stdout] | [INFO] [stdout] 335 | pub fn extract_host(url: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_query` is never used [INFO] [stdout] --> src/utils/common.rs:340:8 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn parse_query(query: &str) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `grpc_port` and `general_service` are never read [INFO] [stdout] --> src/config/environment.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct AppConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 4 | pub grpc_port: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 5 | pub http_port: String, // <── ganti ini [INFO] [stdout] 6 | pub general_service: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_auth_client` is never used [INFO] [stdout] --> src/config/grpc.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub async fn connect_auth_client(url: &str) -> Result, tonic::transport::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_general_client` is never used [INFO] [stdout] --> src/config/grpc.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | pub async fn connect_general_client(url: &str) -> Result, tonic::transport::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_redis` is never used [INFO] [stdout] --> src/config/redis.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | pub async fn init_redis() -> MultiplexedConnection { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/middlewares/middleware.rs:141:25 [INFO] [stdout] | [INFO] [stdout] 141 | pub struct CustomHeader(pub String); [INFO] [stdout] | ------------ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CustomHeader` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Required`, `RegexMismatch`, `Length`, and `Range` are never constructed [INFO] [stdout] --> src/validation/validation.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum ValidationError { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 15 | Required(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | RegexMismatch(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | Length(String, usize, usize), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | #[error("Field '{0}' value out of range (min={1}, max={2})")] [INFO] [stdout] 29 | Range(String, f64, f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ValidationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Number`, `Bool`, `Json`, `Date`, `Array`, and `Custom` are never constructed [INFO] [stdout] --> src/validation/validation.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum Rule { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 45 | Number { min: f64, max: f64, message: Option }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 46 | Bool { message: Option }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 47 | Regex { pattern: &'static str, message: Option }, [INFO] [stdout] 48 | Json { message: Option }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 49 | Enum { values: Vec<&'static str>, message: Option }, [INFO] [stdout] 50 | Date { message: Option }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 51 | Array { min: usize, max: usize, message: Option }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 52 | Custom { func: fn(&Value) -> Result<(), String> }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Rule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `value` is never read [INFO] [stdout] --> src/validation/validation.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 237 | pub struct AttackDetection { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 240 | pub value: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AttackDetection` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_variable` is never used [INFO] [stdout] --> src/validation/validation.rs:286:8 [INFO] [stdout] | [INFO] [stdout] 286 | pub fn validate_variable( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `secure_validate_variable` is never used [INFO] [stdout] --> src/validation/validation.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 295 | pub fn secure_validate_variable( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_str` is never used [INFO] [stdout] --> src/utils/common.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn encode_str(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_str` is never used [INFO] [stdout] --> src/utils/common.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn decode_str(input: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_uuid` is never used [INFO] [stdout] --> src/utils/common.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn generate_uuid() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_timestamp` is never used [INFO] [stdout] --> src/utils/common.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn now_timestamp() -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `timestamp_to_datetime` is never used [INFO] [stdout] --> src/utils/common.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn timestamp_to_datetime(ts: i64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_string` is never used [INFO] [stdout] --> src/utils/common.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn random_string(len: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hash_sha256` is never used [INFO] [stdout] --> src/utils/common.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn hash_sha256(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode_base64` is never used [INFO] [stdout] --> src/utils/common.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn encode_base64(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode_base64` is never used [INFO] [stdout] --> src/utils/common.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn decode_base64(input: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `now_millis` is never used [INFO] [stdout] --> src/utils/common.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn now_millis() -> u128 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_str` is never used [INFO] [stdout] --> src/utils/common.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn normalize_str(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_blank` is never used [INFO] [stdout] --> src/utils/common.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn is_blank(input: &str) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_number` is never used [INFO] [stdout] --> src/utils/common.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn format_number(n: i64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_json` is never used [INFO] [stdout] --> src/utils/common.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn parse_json(input: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `map_to_json` is never used [INFO] [stdout] --> src/utils/common.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn map_to_json(map: &HashMap) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `seconds_since` is never used [INFO] [stdout] --> src/utils/common.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn seconds_since(ts: i64) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_days` is never used [INFO] [stdout] --> src/utils/common.rs:124:8 [INFO] [stdout] | [INFO] [stdout] 124 | pub fn add_days(days: i64) -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid_email` is never used [INFO] [stdout] --> src/utils/common.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn is_valid_email(email: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `capitalize_first` is never used [INFO] [stdout] --> src/utils/common.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn capitalize_first(input: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_slug` is never used [INFO] [stdout] --> src/utils/common.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn to_slug(input: &str) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_env` is never used [INFO] [stdout] --> src/utils/common.rs:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn get_env(key: &str, default: &str) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_i64` is never used [INFO] [stdout] --> src/utils/common.rs:160:8 [INFO] [stdout] | [INFO] [stdout] 160 | pub fn to_i64(input: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_f64` is never used [INFO] [stdout] --> src/utils/common.rs:165:8 [INFO] [stdout] | [INFO] [stdout] 165 | pub fn to_f64(input: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clamp` is never used [INFO] [stdout] --> src/utils/common.rs:170:8 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn clamp(value: i64, min: i64, max: i64) -> i64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_otp` is never used [INFO] [stdout] --> src/utils/common.rs:181:8 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn generate_otp(len: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `json_get` is never used [INFO] [stdout] --> src/utils/common.rs:187:8 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn json_get<'a>(v: &'a Value, key: &str) -> Option<&'a Value> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `human_readable_size` is never used [INFO] [stdout] --> src/utils/common.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn human_readable_size(bytes: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `file_exists` is never used [INFO] [stdout] --> src/utils/common.rs:210:8 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn file_exists(path: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file_to_string` is never used [INFO] [stdout] --> src/utils/common.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn read_file_to_string(path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_valid_password` is never used [INFO] [stdout] --> src/utils/common.rs:220:8 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn is_valid_password(pw: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `chunk_str` is never used [INFO] [stdout] --> src/utils/common.rs:230:8 [INFO] [stdout] | [INFO] [stdout] 230 | pub fn chunk_str(input: &str, size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mask_sensitive` is never used [INFO] [stdout] --> src/utils/common.rs:239:8 [INFO] [stdout] | [INFO] [stdout] 239 | pub fn mask_sensitive(input: &str, visible: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `email_domain` is never used [INFO] [stdout] --> src/utils/common.rs:248:8 [INFO] [stdout] | [INFO] [stdout] 248 | pub fn email_domain(email: &str) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge_maps` is never used [INFO] [stdout] --> src/utils/common.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn merge_maps( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `frequency_count` is never used [INFO] [stdout] --> src/utils/common.rs:264:8 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn frequency_count(items: &[T]) -> HashMap<&T, usize> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `human_duration` is never used [INFO] [stdout] --> src/utils/common.rs:273:8 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn human_duration(seconds: i64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_expired` is never used [INFO] [stdout] --> src/utils/common.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 289 | pub fn is_expired(ts: i64, ttl_secs: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `constant_time_eq` is never used [INFO] [stdout] --> src/utils/common.rs:294:8 [INFO] [stdout] | [INFO] [stdout] 294 | pub fn constant_time_eq(a: &str, b: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sign_token` is never used [INFO] [stdout] --> src/utils/common.rs:306:8 [INFO] [stdout] | [INFO] [stdout] 306 | pub fn sign_token(secret: &str, data: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `file_extension` is never used [INFO] [stdout] --> src/utils/common.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 318 | pub fn file_extension(path: &str) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `list_files` is never used [INFO] [stdout] --> src/utils/common.rs:323:8 [INFO] [stdout] | [INFO] [stdout] 323 | pub fn list_files(path: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_host` is never used [INFO] [stdout] --> src/utils/common.rs:335:8 [INFO] [stdout] | [INFO] [stdout] 335 | pub fn extract_host(url: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_query` is never used [INFO] [stdout] --> src/utils/common.rs:340:8 [INFO] [stdout] | [INFO] [stdout] 340 | pub fn parse_query(query: &str) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 28s [INFO] running `Command { std: "docker" "inspect" "9a6ea7d773c74a7de89e6ccce2e5b69220c099f0950d6516f07d3056f1a42951", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9a6ea7d773c74a7de89e6ccce2e5b69220c099f0950d6516f07d3056f1a42951", kill_on_drop: false }` [INFO] [stdout] 9a6ea7d773c74a7de89e6ccce2e5b69220c099f0950d6516f07d3056f1a42951