[INFO] cloning repository https://github.com/mubarakhammed/openBank [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mubarakhammed/openBank" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmubarakhammed%2FopenBank", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmubarakhammed%2FopenBank'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b74d1324a0006d69e3607b5719091a06899f4fc2 [INFO] checking mubarakhammed/openBank against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmubarakhammed%2FopenBank" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mubarakhammed/openBank [INFO] finished tweaking git repo https://github.com/mubarakhammed/openBank [INFO] tweaked toml for git repo https://github.com/mubarakhammed/openBank written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mubarakhammed/openBank on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mubarakhammed/openBank 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rust-embed-utils v8.7.2 [INFO] [stderr] Downloaded serde_derive v1.0.227 [INFO] [stderr] Downloaded serde_with_macros v1.5.2 [INFO] [stderr] Downloaded validator_derive v0.18.2 [INFO] [stderr] Downloaded sqlx-sqlite v0.7.4 [INFO] [stderr] Downloaded serde_core v1.0.227 [INFO] [stderr] Downloaded axum v0.7.9 [INFO] [stderr] Downloaded bcrypt v0.15.1 [INFO] [stderr] Downloaded axum-core v0.4.5 [INFO] [stderr] Downloaded pest_generator v2.8.2 [INFO] [stderr] Downloaded argon2 v0.5.3 [INFO] [stderr] Downloaded typed-builder v0.10.0 [INFO] [stderr] Downloaded quanta v0.12.6 [INFO] [stderr] Downloaded rust-embed v8.7.2 [INFO] [stderr] Downloaded jsonwebtoken v9.3.1 [INFO] [stderr] Downloaded sqlx-mysql v0.7.4 [INFO] [stderr] Downloaded redox_users v0.5.2 [INFO] [stderr] Downloaded shellexpand v3.1.1 [INFO] [stderr] Downloaded trust-dns-resolver v0.21.2 [INFO] [stderr] Downloaded rust-embed-impl v8.7.2 [INFO] [stderr] Downloaded pest_derive v2.8.2 [INFO] [stderr] Downloaded config v0.14.1 [INFO] [stderr] Downloaded enum-as-inner v0.4.0 [INFO] [stderr] Downloaded pest_meta v2.8.2 [INFO] [stderr] Downloaded simple_asn1 v0.6.3 [INFO] [stderr] Downloaded rustc_version_runtime v0.2.1 [INFO] [stderr] Downloaded serde_bytes v0.11.19 [INFO] [stderr] Downloaded sqlx-macros-core v0.7.4 [INFO] [stderr] Downloaded sqlx-macros v0.7.4 [INFO] [stderr] Downloaded utoipa-gen v4.3.1 [INFO] [stderr] Downloaded yaml-rust2 v0.8.1 [INFO] [stderr] Downloaded utoipa v4.2.3 [INFO] [stderr] Downloaded sqlx v0.7.4 [INFO] [stderr] Downloaded serde_with v1.14.0 [INFO] [stderr] Downloaded sqlx-postgres v0.7.4 [INFO] [stderr] Downloaded trust-dns-proto v0.21.2 [INFO] [stderr] Downloaded sqlx-core v0.7.4 [INFO] [stderr] Downloaded serde v1.0.227 [INFO] [stderr] Downloaded utoipa-swagger-ui v4.0.0 [INFO] [stderr] Downloaded raw-cpuid v11.6.0 [INFO] [stderr] Downloaded mongodb v2.8.2 [INFO] [stderr] Downloaded pest v2.8.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7c8cc29ea5002c927a63f0903ac4ba08b789c78dccee20a3d6736c8e104e8e64 [INFO] running `Command { std: "docker" "start" "-a" "7c8cc29ea5002c927a63f0903ac4ba08b789c78dccee20a3d6736c8e104e8e64", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7c8cc29ea5002c927a63f0903ac4ba08b789c78dccee20a3d6736c8e104e8e64", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7c8cc29ea5002c927a63f0903ac4ba08b789c78dccee20a3d6736c8e104e8e64", kill_on_drop: false }` [INFO] [stdout] 7c8cc29ea5002c927a63f0903ac4ba08b789c78dccee20a3d6736c8e104e8e64 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] db1be4d58b33847a7cb8baec47c7df1a0704afa351c4dda1fd392cc1dd6f69d1 [INFO] running `Command { std: "docker" "start" "-a" "db1be4d58b33847a7cb8baec47c7df1a0704afa351c4dda1fd392cc1dd6f69d1", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.227 [INFO] [stderr] Compiling serde v1.0.227 [INFO] [stderr] Compiling libc v0.2.176 [INFO] [stderr] Compiling cfg-if v1.0.3 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking log v0.4.28 [INFO] [stderr] Compiling stable_deref_trait v1.2.0 [INFO] [stderr] Compiling typenum v1.18.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling writeable v0.6.1 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Checking socket2 v0.6.0 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking getrandom v0.3.3 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Compiling litemap v0.8.0 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking tinyvec v1.10.0 [INFO] [stderr] Checking indexmap v2.11.4 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Compiling openssl-sys v0.9.109 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Checking unicode-bidi v0.3.18 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling regex-automata v0.4.11 [INFO] [stderr] Compiling serde_derive v1.0.227 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Compiling futures-macro v0.3.31 [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] 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] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking bitflags v2.9.4 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Compiling uuid v1.18.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Checking url v2.5.7 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling iana-time-zone v0.1.64 [INFO] [stderr] Compiling pest v2.8.2 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling darling_core v0.13.4 [INFO] [stderr] Compiling sqlformat v0.2.6 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Checking tokio-util v0.7.16 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Compiling time-macros v0.2.24 [INFO] [stderr] Compiling rustls-pemfile v1.0.4 [INFO] [stderr] Compiling openssl v0.10.73 [INFO] [stderr] Compiling crc v3.3.0 [INFO] [stderr] Checking deranged v0.5.4 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling regex v1.11.3 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling hashlink v0.8.4 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Compiling webpki-roots v0.25.4 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling unicode-properties v0.1.3 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling sqlx-core v0.7.4 [INFO] [stderr] Compiling stringprep v0.1.5 [INFO] [stderr] Checking time v0.3.44 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling flate2 v1.1.2 [INFO] [stderr] Checking const-random v0.1.18 [INFO] [stderr] Compiling darling_macro v0.13.4 [INFO] [stderr] Compiling pest_meta v2.8.2 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling axum-core v0.3.4 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Checking semver-parser v0.7.0 [INFO] [stderr] Compiling whoami v1.6.1 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Checking matches v0.1.10 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling home v0.5.11 [INFO] [stderr] Compiling sqlx-postgres v0.7.4 [INFO] [stderr] Compiling pest_generator v2.8.2 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking semver v0.9.0 [INFO] [stderr] Checking pin-project v1.1.10 [INFO] [stderr] Checking wyz v0.5.1 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Compiling shellexpand v3.1.1 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling darling v0.13.4 [INFO] [stderr] Compiling rustc_version_runtime v0.2.1 [INFO] [stderr] Compiling zip v0.6.6 [INFO] [stderr] Checking dlv-list v0.5.2 [INFO] [stderr] Compiling rust-embed-utils v8.7.2 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Compiling enum-as-inner v0.4.0 [INFO] [stderr] Compiling axum v0.6.20 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Checking funty v2.0.0 [INFO] [stderr] Checking winnow v0.7.13 [INFO] [stderr] Checking data-encoding v2.9.0 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Checking matchit v0.7.3 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Checking bitvec v1.0.1 [INFO] [stderr] Checking trust-dns-proto v0.21.2 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Checking hyper v1.7.0 [INFO] [stderr] Compiling utoipa-swagger-ui v4.0.0 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Compiling pest_derive v2.8.2 [INFO] [stderr] Checking ordered-multimap v0.7.3 [INFO] [stderr] Compiling rust-embed-impl v8.7.2 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling serde_with_macros v1.5.2 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Compiling sqlx-macros-core v0.7.4 [INFO] [stderr] Checking rustc_version v0.2.3 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Compiling utoipa-gen v4.3.1 [INFO] [stderr] Checking raw-cpuid v11.6.0 [INFO] [stderr] Checking serde_bytes v0.11.19 [INFO] [stderr] Checking arraydeque v0.5.1 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Checking resolv-conf v0.7.5 [INFO] [stderr] Checking convert_case v0.6.0 [INFO] [stderr] Checking trust-dns-resolver v0.21.2 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling sqlx-macros v0.7.4 [INFO] [stderr] Checking yaml-rust2 v0.8.1 [INFO] [stderr] Checking quanta v0.12.6 [INFO] [stderr] Checking password-hash v0.5.0 [INFO] [stderr] Checking bson v2.15.0 [INFO] [stderr] Checking serde_with v1.14.0 [INFO] [stderr] Checking rust-embed v8.7.2 [INFO] [stderr] Checking simple_asn1 v0.6.3 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Compiling validator_derive v0.18.2 [INFO] [stderr] Checking rust-ini v0.20.0 [INFO] [stderr] Checking json5 v0.4.1 [INFO] [stderr] Checking hyper-util v0.1.17 [INFO] [stderr] Checking blowfish v0.9.1 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Checking utoipa v4.2.3 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking pem v3.0.5 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling typed-builder v0.10.0 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking sha-1 v0.10.1 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking socket2 v0.4.10 [INFO] [stderr] Checking pbkdf2 v0.11.0 [INFO] [stderr] Checking blake2 v0.10.6 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking spinning_top v0.3.0 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking nu-ansi-term v0.50.1 [INFO] [stderr] Checking futures-timer v3.0.3 [INFO] [stderr] Checking no-std-compat v0.4.1 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Checking pathdiff v0.2.3 [INFO] [stderr] Checking nonzero_ext v0.3.0 [INFO] [stderr] Checking take_mut v0.2.2 [INFO] [stderr] Checking config v0.14.1 [INFO] [stderr] Checking tracing-subscriber v0.3.20 [INFO] [stderr] Checking governor v0.6.3 [INFO] [stderr] Checking bcrypt v0.15.1 [INFO] [stderr] Checking argon2 v0.5.3 [INFO] [stderr] Checking axum v0.7.9 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking validator v0.18.1 [INFO] [stderr] Checking jsonwebtoken v9.3.1 [INFO] [stderr] Checking sqlx v0.7.4 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking tower-http v0.5.2 [INFO] [stderr] Checking tokio-test v0.4.4 [INFO] [stderr] Checking mongodb v2.8.2 [INFO] [stderr] Checking openbank v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `duration` [INFO] [stdout] --> src/core/middleware.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let duration = start_time.elapsed(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `duration` [INFO] [stdout] --> src/core/middleware.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | let duration = start_time.elapsed(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `postgres`, `mongodb`, `security_service`, and `rbac_service` are never read [INFO] [stdout] --> src/core/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct AppState { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 21 | pub postgres: PgPool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 22 | pub mongodb: MongoClient, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub security_service: AccountSecurityService, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | pub rbac_service: RbacService, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `user_id` and `project_id` are never used [INFO] [stdout] --> src/core/audit.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 126 | impl AuditEvent { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn user_id(mut self, user_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn project_id(mut self, project_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/audit.rs:258:18 [INFO] [stdout] | [INFO] [stdout] 225 | impl AuditLogger { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 258 | pub async fn log_auth_attempt(&self, user_id: Option, ip: String, success: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub async fn log_token_generated( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub async fn log_access_denied(&self, resource: String, reason: String, ip: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | pub async fn log_rate_limit_exceeded(&self, ip: String, requests_count: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub async fn log_suspicious_activity( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub async fn log_gdpr_data_access(&self, user_id: Uuid, data_type: String, purpose: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 374 | pub async fn get_compliance_report( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `request_id` is never read [INFO] [stdout] --> src/core/audit.rs:442:9 [INFO] [stdout] | [INFO] [stdout] 439 | pub struct AuditContext { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 442 | pub request_id: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuditContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/core/config.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | pub host: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | pub port: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub jwt_expiration: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub database_max_connections: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub database_min_connections: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub bcrypt_cost: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub audit_log_retention_days: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | pub security_event_log_level: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | pub compliance_mode_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub default_user_role: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 44 | pub role_inheritance_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | pub custom_permissions_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub security_alerts_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 49 | pub performance_monitoring_enabled: bool, [INFO] [stdout] 50 | pub real_time_threats_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` 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: method `server_address` is never used [INFO] [stdout] --> src/core/config.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl Config { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn server_address(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_postgres` is never used [INFO] [stdout] --> src/core/database.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn init_postgres(database_url: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_postgres_safe` is never used [INFO] [stdout] --> src/core/database.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | pub async fn init_postgres_safe(database_url: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Authorization`, `NotFound`, `Conflict`, and `ExternalService` are never constructed [INFO] [stdout] --> src/core/error.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum AppError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 24 | Authorization(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | NotFound(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | Conflict(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | ExternalService(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cleanup_expired` is never used [INFO] [stdout] --> src/core/rate_limit.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 47 | impl RateLimiter { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn cleanup_expired(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rate_limit_middleware` is never used [INFO] [stdout] --> src/core/rate_limit.rs:156:14 [INFO] [stdout] | [INFO] [stdout] 156 | pub async fn rate_limit_middleware( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_client_ip` is never used [INFO] [stdout] --> src/core/rate_limit.rs:213:8 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn extract_client_ip(req: &Request) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `has_permission` is never used [INFO] [stdout] --> src/core/rbac.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl Role { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn has_permission(&self, permission: &Permission) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ip_address` and `additional_context` are never read [INFO] [stdout] --> src/core/rbac.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct PermissionContext { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 185 | pub ip_address: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 186 | pub additional_context: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PermissionContext` 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: methods `with_project_owner` and `with_environment` are never used [INFO] [stdout] --> src/core/rbac.rs:206:12 [INFO] [stdout] | [INFO] [stdout] 189 | impl PermissionContext { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn with_project_owner(mut self, owner_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn with_environment(mut self, env: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_role`, `remove_role`, `add_permission`, `deny_permission`, and `get_effective_permissions` are never used [INFO] [stdout] --> src/core/rbac.rs:239:12 [INFO] [stdout] | [INFO] [stdout] 226 | impl UserRoles { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn add_role(&mut self, role: Role) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn remove_role(&mut self, role: &Role) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub fn add_permission(&mut self, permission: Permission) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn deny_permission(&mut self, permission: Permission) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub fn get_effective_permissions(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `user_roles` is never read [INFO] [stdout] --> src/core/rbac.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 306 | pub struct RbacService { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 307 | // In production, this would be backed by a database [INFO] [stdout] 308 | user_roles: std::sync::Arc>>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RbacService` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `assign_role`, `remove_role`, `check_permission`, `get_user_roles`, `authorize`, and `require_permission` are never used [INFO] [stdout] --> src/core/rbac.rs:319:12 [INFO] [stdout] | [INFO] [stdout] 311 | impl RbacService { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 319 | pub fn assign_role(&self, user_id: Uuid, role: Role) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn remove_role(&self, user_id: Uuid, role: Role) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | pub fn check_permission( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | pub fn get_user_roles(&self, user_id: Uuid) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn authorize( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn require_permission( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_own_projects` is never used [INFO] [stdout] --> src/core/rbac.rs:394:12 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn read_own_projects() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_projects` is never used [INFO] [stdout] --> src/core/rbac.rs:398:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn create_projects() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `manage_projects` is never used [INFO] [stdout] --> src/core/rbac.rs:402:12 [INFO] [stdout] | [INFO] [stdout] 402 | pub fn manage_projects() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_tokens` is never used [INFO] [stdout] --> src/core/rbac.rs:406:12 [INFO] [stdout] | [INFO] [stdout] 406 | pub fn generate_tokens() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_audit_logs` is never used [INFO] [stdout] --> src/core/rbac.rs:410:12 [INFO] [stdout] | [INFO] [stdout] 410 | pub fn read_audit_logs() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `manage_developers` is never used [INFO] [stdout] --> src/core/rbac.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 414 | pub fn manage_developers() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `system_admin` is never used [INFO] [stdout] --> src/core/rbac.rs:418:12 [INFO] [stdout] | [INFO] [stdout] 418 | pub fn system_admin() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `success_with_meta` and `pending` are never used [INFO] [stdout] --> src/core/response.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl ApiResponse { [INFO] [stdout] | ---------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn success_with_meta( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn pending(message: impl Into, data: T) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `success_no_data` is never used [INFO] [stdout] --> src/core/response.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 76 | impl ApiResponse<()> { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 77 | /// Create a successful response without data [INFO] [stdout] 78 | pub fn success_no_data(message: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `error_with_details` is never used [INFO] [stdout] --> src/core/response.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 88 | impl ApiResponse { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn error_with_details( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IntoApiResponse` is never used [INFO] [stdout] --> src/core/response.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait IntoApiResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccountSecurity` is never constructed [INFO] [stdout] --> src/core/security.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct AccountSecurity { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_locked`, `lock_remaining`, and `needs_security_review` are never used [INFO] [stdout] --> src/core/security.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl AccountSecurity { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 49 | pub fn new(developer_id: Uuid) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn is_locked(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn lock_remaining(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn needs_security_review(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SecurityEvent` is never constructed [INFO] [stdout] --> src/core/security.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct SecurityEvent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SecurityEventType` is never used [INFO] [stdout] --> src/core/security.rs:117:10 [INFO] [stdout] | [INFO] [stdout] 117 | pub enum SecurityEventType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_failed_attempts`, `lockout_duration_minutes`, `progressive_lockout`, `suspicious_activity_threshold`, `password_history_count`, and `require_password_change_days` are never read [INFO] [stdout] --> src/core/security.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 128 | pub struct SecurityConfig { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 129 | pub max_failed_attempts: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 130 | pub lockout_duration_minutes: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 131 | pub progressive_lockout: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 132 | pub suspicious_activity_threshold: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 133 | pub password_history_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 134 | pub require_password_change_days: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SecurityConfig` 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 `config` is never read [INFO] [stdout] --> src/core/security.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct AccountSecurityService { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 153 | config: SecurityConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AccountSecurityService` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `record_failed_attempt`, `record_successful_login`, `can_use_password`, `record_password_change`, `detect_suspicious_activity`, and `unlock_account` are never used [INFO] [stdout] --> src/core/security.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 156 | impl AccountSecurityService { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn record_failed_attempt( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn record_successful_login( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn can_use_password(&self, security: &AccountSecurity, password_hash: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | pub fn record_password_change( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn detect_suspicious_activity( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn unlock_account(&self, security: &mut AccountSecurity, reason: String) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SecurityAction` is never used [INFO] [stdout] --> src/core/security.rs:312:10 [INFO] [stdout] | [INFO] [stdout] 312 | pub enum SecurityAction { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SuspiciousActivityLevel` is never used [INFO] [stdout] --> src/core/security.rs:328:10 [INFO] [stdout] | [INFO] [stdout] 328 | pub enum SuspiciousActivityLevel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PasswordPolicy` is never constructed [INFO] [stdout] --> src/core/security.rs:336:12 [INFO] [stdout] | [INFO] [stdout] 336 | pub struct PasswordPolicy { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `validate` is never used [INFO] [stdout] --> src/core/security.rs:366:12 [INFO] [stdout] | [INFO] [stdout] 365 | impl PasswordPolicy { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 366 | pub fn validate(&self, password: &str) -> Result<(), Vec> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `API_VERSION` is never used [INFO] [stdout] --> src/shared/constants.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const API_VERSION: &str = "v1"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_CURRENCY` is never used [INFO] [stdout] --> src/shared/constants.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const DEFAULT_CURRENCY: &str = "USD"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PAGE_LIMIT` is never used [INFO] [stdout] --> src/shared/constants.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const DEFAULT_PAGE_LIMIT: u32 = 20; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PAGE_LIMIT` is never used [INFO] [stdout] --> src/shared/constants.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const MAX_PAGE_LIMIT: u32 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `JWT_EXPIRATION_SECONDS` is never used [INFO] [stdout] --> src/shared/constants.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const JWT_EXPIRATION_SECONDS: u64 = 3600; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PASSWORD_MIN_LENGTH` is never used [INFO] [stdout] --> src/shared/constants.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const PASSWORD_MIN_LENGTH: usize = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACCOUNT_NUMBER_LENGTH` is never used [INFO] [stdout] --> src/shared/constants.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const ACCOUNT_NUMBER_LENGTH: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VIRTUAL_ACCOUNT_PREFIX` is never used [INFO] [stdout] --> src/shared/constants.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const VIRTUAL_ACCOUNT_PREFIX: &str = "VA"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSACTION_REF_PREFIX` is never used [INFO] [stdout] --> src/shared/constants.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const TRANSACTION_REF_PREFIX: &str = "TXN"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_TRANSACTION_AMOUNT` is never used [INFO] [stdout] --> src/shared/constants.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const MAX_TRANSACTION_AMOUNT: i64 = 100_000_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_TRANSACTION_AMOUNT` is never used [INFO] [stdout] --> src/shared/constants.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | pub const MIN_TRANSACTION_AMOUNT: i64 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_RATE_LIMIT` is never used [INFO] [stdout] --> src/shared/constants.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | pub const DEFAULT_RATE_LIMIT: u64 = 60; // requests per minute [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USERS` is never used [INFO] [stdout] --> src/shared/constants.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub const USERS: &str = "users"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACCOUNTS` is never used [INFO] [stdout] --> src/shared/constants.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub const ACCOUNTS: &str = "accounts"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSACTIONS` is never used [INFO] [stdout] --> src/shared/constants.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | pub const TRANSACTIONS: &str = "transactions"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VIRTUAL_ACCOUNTS` is never used [INFO] [stdout] --> src/shared/constants.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | pub const VIRTUAL_ACCOUNTS: &str = "virtual_accounts"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BALANCES` is never used [INFO] [stdout] --> src/shared/constants.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub const BALANCES: &str = "balances"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAYMENTS` is never used [INFO] [stdout] --> src/shared/constants.rs:44:15 [INFO] [stdout] | [INFO] [stdout] 44 | pub const PAYMENTS: &str = "payments"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDENTITY_VERIFICATIONS` is never used [INFO] [stdout] --> src/shared/constants.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | pub const IDENTITY_VERIFICATIONS: &str = "identity_verifications"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INCOME_VERIFICATIONS` is never used [INFO] [stdout] --> src/shared/constants.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | pub const INCOME_VERIFICATIONS: &str = "income_verifications"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOGS` is never used [INFO] [stdout] --> src/shared/constants.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | pub const LOGS: &str = "logs"; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ANALYTICS` is never used [INFO] [stdout] --> src/shared/constants.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | pub const ANALYTICS: &str = "analytics"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUDIT_TRAIL` is never used [INFO] [stdout] --> src/shared/constants.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | pub const AUDIT_TRAIL: &str = "audit_trail"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NOTIFICATIONS` is never used [INFO] [stdout] --> src/shared/constants.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | pub const NOTIFICATIONS: &str = "notifications"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Repository` is never used [INFO] [stdout] --> src/shared/traits.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait Repository { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Service` is never used [INFO] [stdout] --> src/shared/traits.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub trait Service { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Auditable` is never used [INFO] [stdout] --> src/shared/traits.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Auditable { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `EventPublisher` is never used [INFO] [stdout] --> src/shared/traits.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | pub trait EventPublisher { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Timestamps` is never constructed [INFO] [stdout] --> src/shared/types.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Timestamps { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApiResponse` is never constructed [INFO] [stdout] --> src/shared/types.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct ApiResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `success`, `success_with_message`, and `error` are never used [INFO] [stdout] --> src/shared/types.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl ApiResponse { [INFO] [stdout] | ---------------------- associated functions in this implementation [INFO] [stdout] 22 | pub fn success(data: T) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn success_with_message(data: T, message: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn error(error: String) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginationParams` is never constructed [INFO] [stdout] --> src/shared/types.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct PaginationParams { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_page` is never used [INFO] [stdout] --> src/shared/types.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn default_page() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_limit` is never used [INFO] [stdout] --> src/shared/types.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn default_limit() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedResponse` is never constructed [INFO] [stdout] --> src/shared/types.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct PaginatedResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `UserId` is never used [INFO] [stdout] --> src/shared/types.rs:78:10 [INFO] [stdout] | [INFO] [stdout] 78 | pub type UserId = Uuid; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `AccountId` is never used [INFO] [stdout] --> src/shared/types.rs:81:10 [INFO] [stdout] | [INFO] [stdout] 81 | pub type AccountId = Uuid; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TransactionId` is never used [INFO] [stdout] --> src/shared/types.rs:84:10 [INFO] [stdout] | [INFO] [stdout] 84 | pub type TransactionId = Uuid; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Amount` is never used [INFO] [stdout] --> src/shared/types.rs:87:10 [INFO] [stdout] | [INFO] [stdout] 87 | pub type Amount = i64; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Currency` is never used [INFO] [stdout] --> src/shared/types.rs:90:10 [INFO] [stdout] | [INFO] [stdout] 90 | pub type Currency = String; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JwtToken` is never constructed [INFO] [stdout] --> src/auth/middleware.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct JwtToken(pub JwtClaims); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `jwt_auth_middleware` is never used [INFO] [stdout] --> src/auth/middleware.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | pub async fn jwt_auth_middleware( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_claims` is never used [INFO] [stdout] --> src/auth/middleware.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn extract_claims(req: &Request) -> Option<&JwtClaims> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/auth/model.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 177 | pub struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `find_developer_by_id` is never used [INFO] [stdout] --> src/auth/repository.rs:57:18 [INFO] [stdout] | [INFO] [stdout] 11 | impl AuthRepository { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn find_developer_by_id(&self, id: Uuid) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_default_scopes_for_project` is never used [INFO] [stdout] --> src/auth/service.rs:343:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl AuthService { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 343 | pub fn get_default_scopes_for_project(&self, environment: &ProjectEnvironment) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `VerificationStatus` is never used [INFO] [stdout] --> src/identity/model.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum VerificationStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IdentityVerification` is never constructed [INFO] [stdout] --> src/identity/model.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct IdentityVerification { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VerificationRequest` is never constructed [INFO] [stdout] --> src/identity/model.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct VerificationRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VerificationResponse` is never constructed [INFO] [stdout] --> src/identity/model.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct VerificationResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IdentityRepository` is never constructed [INFO] [stdout] --> src/identity/repository.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct IdentityRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_user_id`, and `update_status` are never used [INFO] [stdout] --> src/identity/repository.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl IdentityRepository { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn find_by_user_id(&self, _user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IdentityService` is never constructed [INFO] [stdout] --> src/identity/service.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct IdentityService { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `initiate_verification`, `get_verification_status`, and `get_user_verifications` are never used [INFO] [stdout] --> src/identity/service.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl IdentityService { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(repository: IdentityRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub async fn initiate_verification( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub async fn get_verification_status(&self, verification_id: Uuid) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub async fn get_user_verifications(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IncomeVerificationStatus` is never used [INFO] [stdout] --> src/income/model.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum IncomeVerificationStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomeVerification` is never constructed [INFO] [stdout] --> src/income/model.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct IncomeVerification { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomeVerificationRequest` is never constructed [INFO] [stdout] --> src/income/model.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct IncomeVerificationRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomeVerificationResponse` is never constructed [INFO] [stdout] --> src/income/model.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct IncomeVerificationResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomeRepository` is never constructed [INFO] [stdout] --> src/income/repository.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct IncomeRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_user_id`, and `update_status` are never used [INFO] [stdout] --> src/income/repository.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl IncomeRepository { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn find_by_user_id(&self, _user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomeService` is never constructed [INFO] [stdout] --> src/income/service.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct IncomeService { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `initiate_verification`, `get_verification_status`, and `get_user_verifications` are never used [INFO] [stdout] --> src/income/service.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl IncomeService { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 15 | pub fn new(repository: IncomeRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub async fn initiate_verification( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub async fn get_verification_status(&self, verification_id: Uuid) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn get_user_verifications(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PaymentStatus` is never used [INFO] [stdout] --> src/payments/model.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum PaymentStatus { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PaymentMethod` is never used [INFO] [stdout] --> src/payments/model.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum PaymentMethod { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Payment` is never constructed [INFO] [stdout] --> src/payments/model.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Payment { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreatePaymentRequest` is never constructed [INFO] [stdout] --> src/payments/model.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct CreatePaymentRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaymentResponse` is never constructed [INFO] [stdout] --> src/payments/model.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct PaymentResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaymentRepository` is never constructed [INFO] [stdout] --> src/payments/repository.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PaymentRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_account_id`, and `update_status` are never used [INFO] [stdout] --> src/payments/repository.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl PaymentRepository { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn find_by_account_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaymentService` is never constructed [INFO] [stdout] --> src/payments/service.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct PaymentService { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `create_payment`, `get_payment`, `get_payments_for_account`, and `cancel_payment` are never used [INFO] [stdout] --> src/payments/service.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl PaymentService { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(repository: PaymentRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub async fn create_payment( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub async fn get_payment(&self, payment_id: Uuid) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn get_payments_for_account( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub async fn cancel_payment(&self, payment_id: Uuid) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TransactionStatus` is never used [INFO] [stdout] --> src/transactions/model.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum TransactionStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TransactionType` is never used [INFO] [stdout] --> src/transactions/model.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum TransactionType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Transaction` is never constructed [INFO] [stdout] --> src/transactions/model.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct Transaction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateTransactionRequest` is never constructed [INFO] [stdout] --> src/transactions/model.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct CreateTransactionRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransferRequest` is never constructed [INFO] [stdout] --> src/transactions/model.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct TransferRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransactionResponse` is never constructed [INFO] [stdout] --> src/transactions/model.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct TransactionResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransactionRepository` is never constructed [INFO] [stdout] --> src/transactions/repository.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct TransactionRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_account_id`, and `update_status` are never used [INFO] [stdout] --> src/transactions/repository.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl TransactionRepository { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn find_by_account_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransactionService` is never constructed [INFO] [stdout] --> src/transactions/service.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct TransactionService { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `create_transaction`, `transfer_funds`, `get_transaction`, `get_transactions_for_account`, and `update_status` are never used [INFO] [stdout] --> src/transactions/service.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TransactionService { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(repository: TransactionRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub async fn create_transaction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub async fn transfer_funds( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub async fn get_transaction(&self, transaction_id: TransactionId) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub async fn get_transactions_for_account( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Balance` is never constructed [INFO] [stdout] --> src/user_data/model.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Balance { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BalanceHistory` is never constructed [INFO] [stdout] --> src/user_data/model.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct BalanceHistory { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BalanceResponse` is never constructed [INFO] [stdout] --> src/user_data/model.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct BalanceResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserProfile` is never constructed [INFO] [stdout] --> src/user_data/model.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct UserProfile { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserAccount` is never constructed [INFO] [stdout] --> src/user_data/model.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct UserAccount { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserProfileResponse` is never constructed [INFO] [stdout] --> src/user_data/model.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct UserProfileResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserAccountResponse` is never constructed [INFO] [stdout] --> src/user_data/model.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub struct UserAccountResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserDataRepository` is never constructed [INFO] [stdout] --> src/user_data/repository.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct UserDataRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_account_id`, `get_balance_history`, `find_user_profile`, and `find_user_accounts` are never used [INFO] [stdout] --> src/user_data/repository.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl UserDataRepository { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub async fn find_by_account_id(&self, account_id: AccountId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub async fn get_balance_history( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub async fn find_user_profile(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub async fn find_user_accounts(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserDataService` is never constructed [INFO] [stdout] --> src/user_data/service.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct UserDataService { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_balance`, `get_balance_history`, `update_balance`, `get_user_profile`, and `get_user_accounts` are never used [INFO] [stdout] --> src/user_data/service.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl UserDataService { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 11 | pub fn new(repository: UserDataRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub async fn get_balance(&self, account_id: AccountId) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub async fn get_balance_history( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub async fn update_balance( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn get_user_profile(&self, user_id: UserId) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub async fn get_user_accounts(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `VirtualAccountStatus` is never used [INFO] [stdout] --> src/virtual_accounts/model.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum VirtualAccountStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VirtualAccount` is never constructed [INFO] [stdout] --> src/virtual_accounts/model.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct VirtualAccount { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateVirtualAccountRequest` is never constructed [INFO] [stdout] --> src/virtual_accounts/model.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct CreateVirtualAccountRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VirtualAccountResponse` is never constructed [INFO] [stdout] --> src/virtual_accounts/model.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct VirtualAccountResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VirtualAccountRepository` is never constructed [INFO] [stdout] --> src/virtual_accounts/repository.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct VirtualAccountRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_user_id`, `find_by_parent_account_id`, `update_status`, and `generate_account_number` are never used [INFO] [stdout] --> src/virtual_accounts/repository.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl VirtualAccountRepository { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn find_by_user_id(&self, _user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub async fn find_by_parent_account_id(&self, _parent_account_id: AccountId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub async fn generate_account_number(&self) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VirtualAccountService` is never constructed [INFO] [stdout] --> src/virtual_accounts/service.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct VirtualAccountService { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `create_virtual_account`, `get_virtual_account`, `get_user_virtual_accounts`, and `deactivate_virtual_account` are never used [INFO] [stdout] --> src/virtual_accounts/service.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl VirtualAccountService { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(repository: VirtualAccountRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub async fn create_virtual_account( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub async fn get_virtual_account(&self, account_id: Uuid) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub async fn get_user_virtual_accounts(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub async fn deactivate_virtual_account(&self, account_id: Uuid) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `postgres`, `mongodb`, `security_service`, and `rbac_service` are never read [INFO] [stdout] --> src/core/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct AppState { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 21 | pub postgres: PgPool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 22 | pub mongodb: MongoClient, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub security_service: AccountSecurityService, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | pub rbac_service: RbacService, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `user_id` and `project_id` are never used [INFO] [stdout] --> src/core/audit.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 126 | impl AuditEvent { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn user_id(mut self, user_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn project_id(mut self, project_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/core/audit.rs:258:18 [INFO] [stdout] | [INFO] [stdout] 225 | impl AuditLogger { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 258 | pub async fn log_auth_attempt(&self, user_id: Option, ip: String, success: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub async fn log_token_generated( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub async fn log_access_denied(&self, resource: String, reason: String, ip: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | pub async fn log_rate_limit_exceeded(&self, ip: String, requests_count: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub async fn log_suspicious_activity( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub async fn log_gdpr_data_access(&self, user_id: Uuid, data_type: String, purpose: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 374 | pub async fn get_compliance_report( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `request_id` is never read [INFO] [stdout] --> src/core/audit.rs:442:9 [INFO] [stdout] | [INFO] [stdout] 439 | pub struct AuditContext { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 442 | pub request_id: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuditContext` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/core/config.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | pub host: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 13 | pub port: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub jwt_expiration: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub database_max_connections: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | pub database_min_connections: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | pub bcrypt_cost: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub audit_log_retention_days: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 39 | pub security_event_log_level: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 40 | pub compliance_mode_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub default_user_role: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 44 | pub role_inheritance_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 45 | pub custom_permissions_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub security_alerts_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 49 | pub performance_monitoring_enabled: bool, [INFO] [stdout] 50 | pub real_time_threats_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` 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: method `server_address` is never used [INFO] [stdout] --> src/core/config.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl Config { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn server_address(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_postgres` is never used [INFO] [stdout] --> src/core/database.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn init_postgres(database_url: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_postgres_safe` is never used [INFO] [stdout] --> src/core/database.rs:25:14 [INFO] [stdout] | [INFO] [stdout] 25 | pub async fn init_postgres_safe(database_url: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Authorization`, `NotFound`, `Conflict`, and `ExternalService` are never constructed [INFO] [stdout] --> src/core/error.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum AppError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 24 | Authorization(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | NotFound(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | Conflict(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | ExternalService(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cleanup_expired` is never used [INFO] [stdout] --> src/core/rate_limit.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 47 | impl RateLimiter { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn cleanup_expired(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rate_limit_middleware` is never used [INFO] [stdout] --> src/core/rate_limit.rs:156:14 [INFO] [stdout] | [INFO] [stdout] 156 | pub async fn rate_limit_middleware( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_client_ip` is never used [INFO] [stdout] --> src/core/rate_limit.rs:213:8 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn extract_client_ip(req: &Request) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_inherited_roles`, `has_permission`, `get_permissions`, and `get_direct_permissions` are never used [INFO] [stdout] --> src/core/rbac.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl Role { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 25 | /// Get all roles that this role inherits permissions from [INFO] [stdout] 26 | pub fn get_inherited_roles(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn has_permission(&self, permission: &Permission) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn get_permissions(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn get_direct_permissions(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_condition`, and `matches` are never used [INFO] [stdout] --> src/core/rbac.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 123 | impl Permission { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 124 | pub fn new(resource: &str, action: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn with_condition(mut self, key: &str, value: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn matches(&self, required: &Permission, context: &PermissionContext) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PermissionContext` is never constructed [INFO] [stdout] --> src/core/rbac.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct PermissionContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_resource_owner`, `with_project_owner`, and `with_environment` are never used [INFO] [stdout] --> src/core/rbac.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 189 | impl PermissionContext { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 190 | pub fn new(user_id: Uuid, ip_address: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn with_resource_owner(mut self, owner_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn with_project_owner(mut self, owner_id: Uuid) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn with_environment(mut self, env: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/rbac.rs:227:12 [INFO] [stdout] | [INFO] [stdout] 226 | impl UserRoles { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 227 | pub fn new(user_id: Uuid, role: Role) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn add_role(&mut self, role: Role) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn remove_role(&mut self, role: &Role) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub fn add_permission(&mut self, permission: Permission) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn deny_permission(&mut self, permission: Permission) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn has_permission(&self, required: &Permission, context: &PermissionContext) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub fn get_effective_permissions(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `user_roles` is never read [INFO] [stdout] --> src/core/rbac.rs:308:5 [INFO] [stdout] | [INFO] [stdout] 306 | pub struct RbacService { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 307 | // In production, this would be backed by a database [INFO] [stdout] 308 | user_roles: std::sync::Arc>>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RbacService` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `assign_role`, `remove_role`, `check_permission`, `get_user_roles`, `authorize`, and `require_permission` are never used [INFO] [stdout] --> src/core/rbac.rs:319:12 [INFO] [stdout] | [INFO] [stdout] 311 | impl RbacService { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 319 | pub fn assign_role(&self, user_id: Uuid, role: Role) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn remove_role(&self, user_id: Uuid, role: Role) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | pub fn check_permission( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | pub fn get_user_roles(&self, user_id: Uuid) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 362 | pub fn authorize( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn require_permission( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_own_projects` is never used [INFO] [stdout] --> src/core/rbac.rs:394:12 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn read_own_projects() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_projects` is never used [INFO] [stdout] --> src/core/rbac.rs:398:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn create_projects() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `manage_projects` is never used [INFO] [stdout] --> src/core/rbac.rs:402:12 [INFO] [stdout] | [INFO] [stdout] 402 | pub fn manage_projects() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_tokens` is never used [INFO] [stdout] --> src/core/rbac.rs:406:12 [INFO] [stdout] | [INFO] [stdout] 406 | pub fn generate_tokens() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_audit_logs` is never used [INFO] [stdout] --> src/core/rbac.rs:410:12 [INFO] [stdout] | [INFO] [stdout] 410 | pub fn read_audit_logs() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `manage_developers` is never used [INFO] [stdout] --> src/core/rbac.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 414 | pub fn manage_developers() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `system_admin` is never used [INFO] [stdout] --> src/core/rbac.rs:418:12 [INFO] [stdout] | [INFO] [stdout] 418 | pub fn system_admin() -> Permission { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `success_with_meta` and `pending` are never used [INFO] [stdout] --> src/core/response.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl ApiResponse { [INFO] [stdout] | ---------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn success_with_meta( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn pending(message: impl Into, data: T) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `success_no_data` is never used [INFO] [stdout] --> src/core/response.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 76 | impl ApiResponse<()> { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 77 | /// Create a successful response without data [INFO] [stdout] 78 | pub fn success_no_data(message: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `error_with_details` is never used [INFO] [stdout] --> src/core/response.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 88 | impl ApiResponse { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn error_with_details( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `IntoApiResponse` is never used [INFO] [stdout] --> src/core/response.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait IntoApiResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AccountSecurity` is never constructed [INFO] [stdout] --> src/core/security.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct AccountSecurity { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_locked`, `lock_remaining`, and `needs_security_review` are never used [INFO] [stdout] --> src/core/security.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl AccountSecurity { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 49 | pub fn new(developer_id: Uuid) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn is_locked(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn lock_remaining(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn needs_security_review(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SecurityEvent` is never constructed [INFO] [stdout] --> src/core/security.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct SecurityEvent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SecurityEventType` is never used [INFO] [stdout] --> src/core/security.rs:117:10 [INFO] [stdout] | [INFO] [stdout] 117 | pub enum SecurityEventType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_failed_attempts`, `lockout_duration_minutes`, `progressive_lockout`, `suspicious_activity_threshold`, `password_history_count`, and `require_password_change_days` are never read [INFO] [stdout] --> src/core/security.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 128 | pub struct SecurityConfig { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 129 | pub max_failed_attempts: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 130 | pub lockout_duration_minutes: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 131 | pub progressive_lockout: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 132 | pub suspicious_activity_threshold: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 133 | pub password_history_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 134 | pub require_password_change_days: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SecurityConfig` 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 `config` is never read [INFO] [stdout] --> src/core/security.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 152 | pub struct AccountSecurityService { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 153 | config: SecurityConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AccountSecurityService` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `record_failed_attempt`, `record_successful_login`, `can_use_password`, `record_password_change`, `detect_suspicious_activity`, and `unlock_account` are never used [INFO] [stdout] --> src/core/security.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 156 | impl AccountSecurityService { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn record_failed_attempt( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn record_successful_login( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn can_use_password(&self, security: &AccountSecurity, password_hash: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | pub fn record_password_change( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn detect_suspicious_activity( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn unlock_account(&self, security: &mut AccountSecurity, reason: String) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SecurityAction` is never used [INFO] [stdout] --> src/core/security.rs:312:10 [INFO] [stdout] | [INFO] [stdout] 312 | pub enum SecurityAction { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SuspiciousActivityLevel` is never used [INFO] [stdout] --> src/core/security.rs:328:10 [INFO] [stdout] | [INFO] [stdout] 328 | pub enum SuspiciousActivityLevel { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PasswordPolicy` is never constructed [INFO] [stdout] --> src/core/security.rs:336:12 [INFO] [stdout] | [INFO] [stdout] 336 | pub struct PasswordPolicy { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `validate` is never used [INFO] [stdout] --> src/core/security.rs:366:12 [INFO] [stdout] | [INFO] [stdout] 365 | impl PasswordPolicy { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 366 | pub fn validate(&self, password: &str) -> Result<(), Vec> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `API_VERSION` is never used [INFO] [stdout] --> src/shared/constants.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const API_VERSION: &str = "v1"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_CURRENCY` is never used [INFO] [stdout] --> src/shared/constants.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const DEFAULT_CURRENCY: &str = "USD"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_PAGE_LIMIT` is never used [INFO] [stdout] --> src/shared/constants.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const DEFAULT_PAGE_LIMIT: u32 = 20; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PAGE_LIMIT` is never used [INFO] [stdout] --> src/shared/constants.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const MAX_PAGE_LIMIT: u32 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `JWT_EXPIRATION_SECONDS` is never used [INFO] [stdout] --> src/shared/constants.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const JWT_EXPIRATION_SECONDS: u64 = 3600; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PASSWORD_MIN_LENGTH` is never used [INFO] [stdout] --> src/shared/constants.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const PASSWORD_MIN_LENGTH: usize = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACCOUNT_NUMBER_LENGTH` is never used [INFO] [stdout] --> src/shared/constants.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const ACCOUNT_NUMBER_LENGTH: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VIRTUAL_ACCOUNT_PREFIX` is never used [INFO] [stdout] --> src/shared/constants.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const VIRTUAL_ACCOUNT_PREFIX: &str = "VA"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSACTION_REF_PREFIX` is never used [INFO] [stdout] --> src/shared/constants.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const TRANSACTION_REF_PREFIX: &str = "TXN"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_TRANSACTION_AMOUNT` is never used [INFO] [stdout] --> src/shared/constants.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const MAX_TRANSACTION_AMOUNT: i64 = 100_000_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_TRANSACTION_AMOUNT` is never used [INFO] [stdout] --> src/shared/constants.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | pub const MIN_TRANSACTION_AMOUNT: i64 = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEFAULT_RATE_LIMIT` is never used [INFO] [stdout] --> src/shared/constants.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | pub const DEFAULT_RATE_LIMIT: u64 = 60; // requests per minute [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USERS` is never used [INFO] [stdout] --> src/shared/constants.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub const USERS: &str = "users"; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ACCOUNTS` is never used [INFO] [stdout] --> src/shared/constants.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub const ACCOUNTS: &str = "accounts"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSACTIONS` is never used [INFO] [stdout] --> src/shared/constants.rs:41:15 [INFO] [stdout] | [INFO] [stdout] 41 | pub const TRANSACTIONS: &str = "transactions"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VIRTUAL_ACCOUNTS` is never used [INFO] [stdout] --> src/shared/constants.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 42 | pub const VIRTUAL_ACCOUNTS: &str = "virtual_accounts"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BALANCES` is never used [INFO] [stdout] --> src/shared/constants.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub const BALANCES: &str = "balances"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAYMENTS` is never used [INFO] [stdout] --> src/shared/constants.rs:44:15 [INFO] [stdout] | [INFO] [stdout] 44 | pub const PAYMENTS: &str = "payments"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IDENTITY_VERIFICATIONS` is never used [INFO] [stdout] --> src/shared/constants.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 45 | pub const IDENTITY_VERIFICATIONS: &str = "identity_verifications"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INCOME_VERIFICATIONS` is never used [INFO] [stdout] --> src/shared/constants.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | pub const INCOME_VERIFICATIONS: &str = "income_verifications"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOGS` is never used [INFO] [stdout] --> src/shared/constants.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | pub const LOGS: &str = "logs"; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ANALYTICS` is never used [INFO] [stdout] --> src/shared/constants.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | pub const ANALYTICS: &str = "analytics"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUDIT_TRAIL` is never used [INFO] [stdout] --> src/shared/constants.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | pub const AUDIT_TRAIL: &str = "audit_trail"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NOTIFICATIONS` is never used [INFO] [stdout] --> src/shared/constants.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | pub const NOTIFICATIONS: &str = "notifications"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Repository` is never used [INFO] [stdout] --> src/shared/traits.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait Repository { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Service` is never used [INFO] [stdout] --> src/shared/traits.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub trait Service { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Auditable` is never used [INFO] [stdout] --> src/shared/traits.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Auditable { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `EventPublisher` is never used [INFO] [stdout] --> src/shared/traits.rs:32:11 [INFO] [stdout] | [INFO] [stdout] 32 | pub trait EventPublisher { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Timestamps` is never constructed [INFO] [stdout] --> src/shared/types.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Timestamps { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApiResponse` is never constructed [INFO] [stdout] --> src/shared/types.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct ApiResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `success`, `success_with_message`, and `error` are never used [INFO] [stdout] --> src/shared/types.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl ApiResponse { [INFO] [stdout] | ---------------------- associated functions in this implementation [INFO] [stdout] 22 | pub fn success(data: T) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn success_with_message(data: T, message: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn error(error: String) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginationParams` is never constructed [INFO] [stdout] --> src/shared/types.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct PaginationParams { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_page` is never used [INFO] [stdout] --> src/shared/types.rs:59:4 [INFO] [stdout] | [INFO] [stdout] 59 | fn default_page() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_limit` is never used [INFO] [stdout] --> src/shared/types.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn default_limit() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaginatedResponse` is never constructed [INFO] [stdout] --> src/shared/types.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct PaginatedResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `UserId` is never used [INFO] [stdout] --> src/shared/types.rs:78:10 [INFO] [stdout] | [INFO] [stdout] 78 | pub type UserId = Uuid; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `AccountId` is never used [INFO] [stdout] --> src/shared/types.rs:81:10 [INFO] [stdout] | [INFO] [stdout] 81 | pub type AccountId = Uuid; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `TransactionId` is never used [INFO] [stdout] --> src/shared/types.rs:84:10 [INFO] [stdout] | [INFO] [stdout] 84 | pub type TransactionId = Uuid; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Amount` is never used [INFO] [stdout] --> src/shared/types.rs:87:10 [INFO] [stdout] | [INFO] [stdout] 87 | pub type Amount = i64; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Currency` is never used [INFO] [stdout] --> src/shared/types.rs:90:10 [INFO] [stdout] | [INFO] [stdout] 90 | pub type Currency = String; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JwtToken` is never constructed [INFO] [stdout] --> src/auth/middleware.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct JwtToken(pub JwtClaims); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `jwt_auth_middleware` is never used [INFO] [stdout] --> src/auth/middleware.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | pub async fn jwt_auth_middleware( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_claims` is never used [INFO] [stdout] --> src/auth/middleware.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn extract_claims(req: &Request) -> Option<&JwtClaims> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorResponse` is never constructed [INFO] [stdout] --> src/auth/model.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 177 | pub struct ErrorResponse { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `find_developer_by_id` is never used [INFO] [stdout] --> src/auth/repository.rs:57:18 [INFO] [stdout] | [INFO] [stdout] 11 | impl AuthRepository { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn find_developer_by_id(&self, id: Uuid) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_default_scopes_for_project` is never used [INFO] [stdout] --> src/auth/service.rs:343:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl AuthService { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 343 | pub fn get_default_scopes_for_project(&self, environment: &ProjectEnvironment) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `VerificationStatus` is never used [INFO] [stdout] --> src/identity/model.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum VerificationStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IdentityVerification` is never constructed [INFO] [stdout] --> src/identity/model.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct IdentityVerification { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VerificationRequest` is never constructed [INFO] [stdout] --> src/identity/model.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct VerificationRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VerificationResponse` is never constructed [INFO] [stdout] --> src/identity/model.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct VerificationResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IdentityRepository` is never constructed [INFO] [stdout] --> src/identity/repository.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct IdentityRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_user_id`, and `update_status` are never used [INFO] [stdout] --> src/identity/repository.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl IdentityRepository { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn find_by_user_id(&self, _user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IdentityService` is never constructed [INFO] [stdout] --> src/identity/service.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct IdentityService { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `initiate_verification`, `get_verification_status`, and `get_user_verifications` are never used [INFO] [stdout] --> src/identity/service.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl IdentityService { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(repository: IdentityRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub async fn initiate_verification( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub async fn get_verification_status(&self, verification_id: Uuid) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub async fn get_user_verifications(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IncomeVerificationStatus` is never used [INFO] [stdout] --> src/income/model.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum IncomeVerificationStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomeVerification` is never constructed [INFO] [stdout] --> src/income/model.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct IncomeVerification { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomeVerificationRequest` is never constructed [INFO] [stdout] --> src/income/model.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct IncomeVerificationRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomeVerificationResponse` is never constructed [INFO] [stdout] --> src/income/model.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct IncomeVerificationResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomeRepository` is never constructed [INFO] [stdout] --> src/income/repository.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct IncomeRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_user_id`, and `update_status` are never used [INFO] [stdout] --> src/income/repository.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl IncomeRepository { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn find_by_user_id(&self, _user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncomeService` is never constructed [INFO] [stdout] --> src/income/service.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct IncomeService { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `initiate_verification`, `get_verification_status`, and `get_user_verifications` are never used [INFO] [stdout] --> src/income/service.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl IncomeService { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 15 | pub fn new(repository: IncomeRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub async fn initiate_verification( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub async fn get_verification_status(&self, verification_id: Uuid) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn get_user_verifications(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PaymentStatus` is never used [INFO] [stdout] --> src/payments/model.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum PaymentStatus { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PaymentMethod` is never used [INFO] [stdout] --> src/payments/model.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum PaymentMethod { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Payment` is never constructed [INFO] [stdout] --> src/payments/model.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Payment { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreatePaymentRequest` is never constructed [INFO] [stdout] --> src/payments/model.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct CreatePaymentRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaymentResponse` is never constructed [INFO] [stdout] --> src/payments/model.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct PaymentResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaymentRepository` is never constructed [INFO] [stdout] --> src/payments/repository.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PaymentRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_account_id`, and `update_status` are never used [INFO] [stdout] --> src/payments/repository.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl PaymentRepository { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn find_by_account_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PaymentService` is never constructed [INFO] [stdout] --> src/payments/service.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct PaymentService { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `create_payment`, `get_payment`, `get_payments_for_account`, and `cancel_payment` are never used [INFO] [stdout] --> src/payments/service.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl PaymentService { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(repository: PaymentRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub async fn create_payment( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub async fn get_payment(&self, payment_id: Uuid) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn get_payments_for_account( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub async fn cancel_payment(&self, payment_id: Uuid) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TransactionStatus` is never used [INFO] [stdout] --> src/transactions/model.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum TransactionStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TransactionType` is never used [INFO] [stdout] --> src/transactions/model.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum TransactionType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Transaction` is never constructed [INFO] [stdout] --> src/transactions/model.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct Transaction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateTransactionRequest` is never constructed [INFO] [stdout] --> src/transactions/model.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct CreateTransactionRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransferRequest` is never constructed [INFO] [stdout] --> src/transactions/model.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct TransferRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransactionResponse` is never constructed [INFO] [stdout] --> src/transactions/model.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 72 | pub struct TransactionResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransactionRepository` is never constructed [INFO] [stdout] --> src/transactions/repository.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct TransactionRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_account_id`, and `update_status` are never used [INFO] [stdout] --> src/transactions/repository.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl TransactionRepository { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn find_by_account_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TransactionService` is never constructed [INFO] [stdout] --> src/transactions/service.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct TransactionService { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `create_transaction`, `transfer_funds`, `get_transaction`, `get_transactions_for_account`, and `update_status` are never used [INFO] [stdout] --> src/transactions/service.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TransactionService { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(repository: TransactionRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub async fn create_transaction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub async fn transfer_funds( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub async fn get_transaction(&self, transaction_id: TransactionId) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub async fn get_transactions_for_account( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Balance` is never constructed [INFO] [stdout] --> src/user_data/model.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Balance { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BalanceHistory` is never constructed [INFO] [stdout] --> src/user_data/model.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct BalanceHistory { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BalanceResponse` is never constructed [INFO] [stdout] --> src/user_data/model.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct BalanceResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserProfile` is never constructed [INFO] [stdout] --> src/user_data/model.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct UserProfile { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserAccount` is never constructed [INFO] [stdout] --> src/user_data/model.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct UserAccount { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserProfileResponse` is never constructed [INFO] [stdout] --> src/user_data/model.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct UserProfileResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserAccountResponse` is never constructed [INFO] [stdout] --> src/user_data/model.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | pub struct UserAccountResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserDataRepository` is never constructed [INFO] [stdout] --> src/user_data/repository.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct UserDataRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_account_id`, `get_balance_history`, `find_user_profile`, and `find_user_accounts` are never used [INFO] [stdout] --> src/user_data/repository.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl UserDataRepository { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub async fn find_by_account_id(&self, account_id: AccountId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub async fn get_balance_history( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub async fn find_user_profile(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub async fn find_user_accounts(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserDataService` is never constructed [INFO] [stdout] --> src/user_data/service.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct UserDataService { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_balance`, `get_balance_history`, `update_balance`, `get_user_profile`, and `get_user_accounts` are never used [INFO] [stdout] --> src/user_data/service.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl UserDataService { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 11 | pub fn new(repository: UserDataRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub async fn get_balance(&self, account_id: AccountId) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub async fn get_balance_history( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub async fn update_balance( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub async fn get_user_profile(&self, user_id: UserId) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub async fn get_user_accounts(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `VirtualAccountStatus` is never used [INFO] [stdout] --> src/virtual_accounts/model.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum VirtualAccountStatus { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VirtualAccount` is never constructed [INFO] [stdout] --> src/virtual_accounts/model.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct VirtualAccount { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateVirtualAccountRequest` is never constructed [INFO] [stdout] --> src/virtual_accounts/model.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct CreateVirtualAccountRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VirtualAccountResponse` is never constructed [INFO] [stdout] --> src/virtual_accounts/model.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct VirtualAccountResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VirtualAccountRepository` is never constructed [INFO] [stdout] --> src/virtual_accounts/repository.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct VirtualAccountRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `find_by_user_id`, `find_by_parent_account_id`, `update_status`, and `generate_account_number` are never used [INFO] [stdout] --> src/virtual_accounts/repository.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl VirtualAccountRepository { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(pool: PgPool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub async fn find_by_user_id(&self, _user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub async fn find_by_parent_account_id(&self, _parent_account_id: AccountId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub async fn update_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub async fn generate_account_number(&self) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VirtualAccountService` is never constructed [INFO] [stdout] --> src/virtual_accounts/service.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct VirtualAccountService { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `create_virtual_account`, `get_virtual_account`, `get_user_virtual_accounts`, and `deactivate_virtual_account` are never used [INFO] [stdout] --> src/virtual_accounts/service.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl VirtualAccountService { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new(repository: VirtualAccountRepository) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub async fn create_virtual_account( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub async fn get_virtual_account(&self, account_id: Uuid) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub async fn get_user_virtual_accounts(&self, user_id: UserId) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub async fn deactivate_virtual_account(&self, account_id: Uuid) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 30s [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 3` [INFO] running `Command { std: "docker" "inspect" "db1be4d58b33847a7cb8baec47c7df1a0704afa351c4dda1fd392cc1dd6f69d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "db1be4d58b33847a7cb8baec47c7df1a0704afa351c4dda1fd392cc1dd6f69d1", kill_on_drop: false }` [INFO] [stdout] db1be4d58b33847a7cb8baec47c7df1a0704afa351c4dda1fd392cc1dd6f69d1