[INFO] cloning repository https://github.com/hangsiahong/irongate
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hangsiahong/irongate" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhangsiahong%2Firongate", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhangsiahong%2Firongate'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f6ec620aeae1fa72332dc703ac972296f79d5b61
[INFO] checking hangsiahong/irongate against master#c290daa1e5274a52e54a0f49e31bd70192abc606 for pr-133502-23
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhangsiahong%2Firongate" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hangsiahong/irongate
[INFO] finished tweaking git repo https://github.com/hangsiahong/irongate
[INFO] tweaked toml for git repo https://github.com/hangsiahong/irongate written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hangsiahong/irongate on toolchain c290daa1e5274a52e54a0f49e31bd70192abc606
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hangsiahong/irongate 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" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tonic-build v0.9.2
[INFO] [stderr]   Downloaded redis v0.23.3
[INFO] [stderr]   Downloaded opentelemetry v0.19.0
[INFO] [stderr]   Downloaded rdkafka v0.33.2
[INFO] [stderr]   Downloaded opentelemetry_api v0.19.0
[INFO] [stderr]   Downloaded opentelemetry_sdk v0.19.0
[INFO] [stderr]   Downloaded clap v4.5.37
[INFO] [stderr]   Downloaded tokio-test v0.4.4
[INFO] [stderr]   Downloaded clap_builder v4.5.37
[INFO] [stderr]   Downloaded typed-builder v0.10.0
[INFO] [stderr]   Downloaded resolv-conf v0.7.1
[INFO] [stderr]   Downloaded rustc_version_runtime v0.2.1
[INFO] [stderr]   Downloaded bson v2.14.0
[INFO] [stderr]   Downloaded mongodb v2.8.2
[INFO] [stderr]   Downloaded rdkafka-sys v4.8.0+2.3.0
[INFO] [stderr]   Downloaded openssl-sys v0.9.107
[INFO] [stderr]   Downloaded openidconnect v3.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a059db3a1a0633a54c2bf36d37ecc3a845820810b28d642ad41db6067605f09c
[INFO] running `Command { std: "docker" "start" "a059db3a1a0633a54c2bf36d37ecc3a845820810b28d642ad41db6067605f09c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a059db3a1a0633a54c2bf36d37ecc3a845820810b28d642ad41db6067605f09c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a059db3a1a0633a54c2bf36d37ecc3a845820810b28d642ad41db6067605f09c" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a059db3a1a0633a54c2bf36d37ecc3a845820810b28d642ad41db6067605f09c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a059db3a1a0633a54c2bf36d37ecc3a845820810b28d642ad41db6067605f09c" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling cc v1.2.19
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking litemap v0.7.5
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.1
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling icu_properties_data v1.5.1
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling prettyplease v0.1.25
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling multimap v0.8.3
[INFO] [stderr]     Checking ahash v0.7.8
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]     Checking indexmap v1.9.3
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]    Compiling winnow v0.7.6
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking dlv-list v0.3.0
[INFO] [stderr]    Compiling tempfile v3.19.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking ordered-multimap v0.4.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking rust-ini v0.18.0
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling rdkafka-sys v4.8.0+2.3.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]     Checking clap_builder v4.5.37
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling rustc_version_runtime v0.2.1
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]     Checking hostname v0.4.1
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking rustc_version v0.2.3
[INFO] [stderr]     Checking resolv-conf v0.7.1
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]     Checking unicode-properties v0.1.3
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking sha-1 v0.10.1
[INFO] [stderr]     Checking take_mut v0.2.2
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking base64ct v1.7.3
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]     Checking predicates-core v1.0.9
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking predicates-tree v1.0.12
[INFO] [stderr]     Checking fragile v2.0.1
[INFO] [stderr]     Checking downcast v0.11.0
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling openssl-sys v0.9.107
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]    Compiling openssl v0.10.72
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking num-bigint-dig v0.8.4
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking predicates v2.1.5
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking dyn-clone v1.0.19
[INFO] [stderr]     Checking http-range-header v0.3.1
[INFO] [stderr]    Compiling prost-derive v0.11.9
[INFO] [stderr]    Compiling enum-as-inner v0.4.0
[INFO] [stderr]    Compiling typed-builder v0.10.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling mockall_derive v0.11.4
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking pkcs1 v0.7.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking tokio v1.44.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling prost v0.11.9
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling num_enum_derive v0.7.3
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling prost-types v0.11.9
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling clap_derive v4.5.32
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling derive_more v0.99.19
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking num_enum v0.7.3
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling prost-build v0.11.9
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling pest v2.8.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]     Checking primeorder v0.13.6
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling serde_with_macros v3.12.0
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]    Compiling tonic-build v0.9.2
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking mockall v0.11.4
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking opentelemetry_api v0.19.0
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking p384 v0.13.1
[INFO] [stderr]     Checking p256 v0.13.2
[INFO] [stderr]     Checking rsa v0.9.8
[INFO] [stderr]     Checking tower-http v0.4.4
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking clap v4.5.37
[INFO] [stderr]     Checking opentelemetry_sdk v0.19.0
[INFO] [stderr]    Compiling pest_meta v2.8.0
[INFO] [stderr]    Compiling admin-service v0.1.0 (/opt/rustwide/workdir/admin-service)
[INFO] [stderr]    Compiling user-service v0.1.0 (/opt/rustwide/workdir/user-service)
[INFO] [stderr]    Compiling token-service v0.1.0 (/opt/rustwide/workdir/token-service)
[INFO] [stderr]    Compiling auth-service v0.1.0 (/opt/rustwide/workdir/auth-service)
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]    Compiling integration-service v0.1.0 (/opt/rustwide/workdir/integration-service)
[INFO] [stderr]     Checking opentelemetry v0.19.0
[INFO] [stderr]     Checking ed25519-dalek v2.1.1
[INFO] [stderr]    Compiling api-gateway v0.1.0 (/opt/rustwide/workdir/api-gateway)
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]    Compiling pest_generator v2.8.0
[INFO] [stderr]    Compiling pest_derive v2.8.0
[INFO] [stderr]     Checking tokio-util v0.7.14
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking tokio-io-timeout v1.2.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking chrono v0.4.40
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking uuid v1.16.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.17
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking ron v0.7.1
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking trust-dns-proto v0.21.2
[INFO] [stderr]     Checking jsonwebtoken v8.3.0
[INFO] [stderr]     Checking serde_bytes v0.11.17
[INFO] [stderr]     Checking serde_with v1.14.0
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking bson v2.14.0
[INFO] [stderr]     Checking serde_plain v1.0.2
[INFO] [stderr]     Checking serde_with v3.12.0
[INFO] [stderr]     Checking config v0.13.4
[INFO] [stderr]     Checking trust-dns-resolver v0.21.2
[INFO] [stderr]     Checking common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stderr]     Checking redis v0.23.3
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking mongodb v2.8.2
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking oauth2 v4.4.2
[INFO] [stderr]     Checking openidconnect v3.5.0
[INFO] [stderr]     Checking tonic v0.9.2
[INFO] [stderr]     Checking rdkafka v0.33.2
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> auth-service/src/interfaces/grpc/auth_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> auth-service/src/interfaces/grpc/auth_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> integration-service/src/application/oauth_service.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PkceCodeVerifier`
[INFO] [stdout]  --> integration-service/src/application/oauth_service.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     PkceCodeVerifier, RedirectUrl, RefreshToken, Scope, TokenResponse, TokenUrl,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> integration-service/src/application/oauth_service.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> integration-service/src/interfaces/grpc/integration_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> integration-service/src/application/oauth_service.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PkceCodeVerifier`
[INFO] [stdout]  --> integration-service/src/application/oauth_service.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     PkceCodeVerifier, RedirectUrl, RefreshToken, Scope, TokenResponse, TokenUrl,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> integration-service/src/application/oauth_service.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> integration-service/src/interfaces/grpc/integration_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth_service`
[INFO] [stdout]   --> api-gateway/src/routes/user.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     auth_service: Arc<crate::services::auth_service::AuthService>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auth_service`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jwt_secret`
[INFO] [stdout]   --> api-gateway/src/routes/user.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     jwt_secret: Arc<String>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jwt_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `auth_service`
[INFO] [stdout]   --> api-gateway/src/routes/user.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     auth_service: Arc<crate::services::auth_service::AuthService>,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_auth_service`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `jwt_secret`
[INFO] [stdout]   --> api-gateway/src/routes/user.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     jwt_secret: Arc<String>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_jwt_secret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token`, `integration`, and `admin` are never read
[INFO] [stdout]   --> api-gateway/src/config.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ServicesConfig {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub token: ServiceEndpoint,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 15 |     pub integration: ServiceEndpoint,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 16 |     pub admin: ServiceEndpoint,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServicesConfig` has derived impls for the traits `Clone` and `Debug`, but these are 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: struct `Claims` is never constructed
[INFO] [stdout]   --> api-gateway/src/middleware/auth.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Claims {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `auth_middleware` is never used
[INFO] [stdout]   --> api-gateway/src/middleware/auth.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub async fn auth_middleware<B>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `role_middleware` is never used
[INFO] [stdout]   --> api-gateway/src/middleware/auth.rs:56:14
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub async fn role_middleware<B>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_token_from_header` is never used
[INFO] [stdout]   --> api-gateway/src/middleware/auth.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn extract_token_from_header<B>(request: &Request<B>) -> Option<&str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_token` is never used
[INFO] [stdout]   --> api-gateway/src/middleware/auth.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn validate_token(token: &str, secret: &str) -> Result<Claims, AppError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserProfile` is never constructed
[INFO] [stdout]   --> api-gateway/src/models/user.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct UserProfile {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Address` is never constructed
[INFO] [stdout]   --> api-gateway/src/models/user.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct Address {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `existing_provider`
[INFO] [stdout]    --> integration-service/src/application/provider_service.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let existing_provider = self.provider_repository.get_provider_by_id(&provider.id).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_existing_provider`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pkce_verifier`
[INFO] [stdout]    --> integration-service/src/application/oauth_service.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let (pkce_challenge, pkce_verifier) = PkceCodeChallenge::new_random_sha256();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pkce_verifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token`, `integration`, and `admin` are never read
[INFO] [stdout]   --> api-gateway/src/config.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ServicesConfig {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub token: ServiceEndpoint,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 15 |     pub integration: ServiceEndpoint,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 16 |     pub admin: ServiceEndpoint,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServicesConfig` has derived impls for the traits `Clone` and `Debug`, but these are 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: struct `Claims` is never constructed
[INFO] [stdout]   --> api-gateway/src/middleware/auth.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Claims {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `auth_middleware` is never used
[INFO] [stdout]   --> api-gateway/src/middleware/auth.rs:29:14
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub async fn auth_middleware<B>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `role_middleware` is never used
[INFO] [stdout]   --> api-gateway/src/middleware/auth.rs:56:14
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub async fn role_middleware<B>(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_token_from_header` is never used
[INFO] [stdout]   --> api-gateway/src/middleware/auth.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn extract_token_from_header<B>(request: &Request<B>) -> Option<&str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_token` is never used
[INFO] [stdout]   --> api-gateway/src/middleware/auth.rs:92:4
[INFO] [stdout]    |
[INFO] [stdout] 92 | fn validate_token(token: &str, secret: &str) -> Result<Claims, AppError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UserProfile` is never constructed
[INFO] [stdout]   --> api-gateway/src/models/user.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct UserProfile {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Address` is never constructed
[INFO] [stdout]   --> api-gateway/src/models/user.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct Address {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `existing_provider`
[INFO] [stdout]    --> integration-service/src/application/provider_service.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let existing_provider = self.provider_repository.get_provider_by_id(&provider.id).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_existing_provider`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pkce_verifier`
[INFO] [stdout]    --> integration-service/src/application/oauth_service.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let (pkce_challenge, pkce_verifier) = PkceCodeChallenge::new_random_sha256();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pkce_verifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> user-service/tests/user_service_tests.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mockall::mock`
[INFO] [stdout]  --> user-service/tests/user_service_tests.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use mockall::mock;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> auth-service/src/interfaces/grpc/auth_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> auth-service/src/interfaces/grpc/auth_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> integration-service/src/application/oauth_service.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PkceCodeVerifier`
[INFO] [stdout]  --> integration-service/src/application/oauth_service.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     PkceCodeVerifier, RedirectUrl, RefreshToken, Scope, TokenResponse, TokenUrl,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> integration-service/src/application/oauth_service.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> integration-service/src/interfaces/grpc/integration_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> integration-service/src/application/oauth_service.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PkceCodeVerifier`
[INFO] [stdout]  --> integration-service/src/application/oauth_service.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     PkceCodeVerifier, RedirectUrl, RefreshToken, Scope, TokenResponse, TokenUrl,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `url::Url`
[INFO] [stdout]   --> integration-service/src/application/oauth_service.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use url::Url;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> integration-service/src/interfaces/grpc/integration_service.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `revoke_all_user_tokens`, `clean_expired_tokens`, and `clean_expired_blacklist` are never used
[INFO] [stdout]    --> token-service/src/application/token_service.rs:249:18
[INFO] [stdout]     |
[INFO] [stdout]  24 | / impl<R, E> TokenServiceImpl<R, E>
[INFO] [stdout]  25 | | where
[INFO] [stdout]  26 | |     R: TokenRepository,
[INFO] [stdout]  27 | |     E: EventPublisher,
[INFO] [stdout]     | |______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 249 |       pub async fn revoke_all_user_tokens(&self, user_id: &str) -> Result<u64, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |       pub async fn clean_expired_tokens(&self) -> Result<u64, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub async fn clean_expired_blacklist(&self) -> Result<u64, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_valid` is never used
[INFO] [stdout]   --> token-service/src/domain/model.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Token {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn is_valid(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_expired` is never used
[INFO] [stdout]   --> token-service/src/domain/model.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl TokenBlacklist {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn is_expired(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UserNotFound`, `TenantNotFound`, `ValidationError`, and `EventError` are never constructed
[INFO] [stdout]   --> token-service/src/domain/error.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum DomainError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     UserNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     TenantNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     ValidationError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     EventError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `revoke_all_user_tokens`, `clean_expired_tokens`, and `clean_expired_blacklist` are never used
[INFO] [stdout]   --> token-service/src/domain/repository.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait TokenRepository: Send + Sync {
[INFO] [stdout]    |           --------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 14 |     async fn revoke_all_user_tokens(&self, user_id: &str) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     async fn clean_expired_tokens(&self) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     async fn clean_expired_blacklist(&self) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `exists` is never used
[INFO] [stdout]   --> token-service/src/infrastructure/cache/redis_cache.rs:94:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl RedisCache {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub async fn exists(&self, key: &str) -> Result<bool, DomainError> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_user_by_username`, `get_user_by_email`, `update_user_status`, `update_user_profile`, and `search_users` are never used
[INFO] [stdout]    --> user-service/src/application/user_service.rs:99:18
[INFO] [stdout]     |
[INFO] [stdout]  18 | / impl<R, E> UserServiceImpl<R, E>
[INFO] [stdout]  19 | | where
[INFO] [stdout]  20 | |     R: UserRepository,
[INFO] [stdout]  21 | |     E: EventPublisher,
[INFO] [stdout]     | |______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |       pub async fn get_user_by_username(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |       pub async fn get_user_by_email(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |       pub async fn update_user_status(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |       pub async fn update_user_profile(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |       pub async fn search_users(
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_profile`, `update_status`, `record_login`, and `update_metadata` are never used
[INFO] [stdout]    --> user-service/src/domain/model.rs:77:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl User {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn update_profile(&mut self, profile: UserProfile) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn update_status(&mut self, status: UserStatus) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn record_login(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn update_metadata(&mut self, metadata: HashMap<String, String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Unauthorized`, `Forbidden`, `TenantNotFound`, `RoleNotFound`, `ValidationError`, and `EventError` are never constructed
[INFO] [stdout]   --> user-service/src/domain/error.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum DomainError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Unauthorized(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Forbidden(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     TenantNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     RoleNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     ValidationError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     EventError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `count_users` and `search_users` are never used
[INFO] [stdout]   --> user-service/src/domain/repository.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait UserRepository: Send + Sync {
[INFO] [stdout]    |           -------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 15 |     async fn count_users(&self, tenant_id: &str, filter: Option<&str>) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 16 |     async fn search_users(&self, tenant_id: &str, query: &str, skip: u64, limit: u64) -> Result<(Vec<User>, u64), DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `revoke_all_user_tokens`, `clean_expired_tokens`, and `clean_expired_blacklist` are never used
[INFO] [stdout]    --> token-service/src/application/token_service.rs:249:18
[INFO] [stdout]     |
[INFO] [stdout]  24 | / impl<R, E> TokenServiceImpl<R, E>
[INFO] [stdout]  25 | | where
[INFO] [stdout]  26 | |     R: TokenRepository,
[INFO] [stdout]  27 | |     E: EventPublisher,
[INFO] [stdout]     | |______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 249 |       pub async fn revoke_all_user_tokens(&self, user_id: &str) -> Result<u64, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |       pub async fn clean_expired_tokens(&self) -> Result<u64, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |       pub async fn clean_expired_blacklist(&self) -> Result<u64, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_valid` is never used
[INFO] [stdout]   --> token-service/src/domain/model.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Token {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn is_valid(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_expired` is never used
[INFO] [stdout]   --> token-service/src/domain/model.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl TokenBlacklist {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn is_expired(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UserNotFound`, `TenantNotFound`, `ValidationError`, and `EventError` are never constructed
[INFO] [stdout]   --> token-service/src/domain/error.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum DomainError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     UserNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     TenantNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     ValidationError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     EventError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `revoke_all_user_tokens`, `clean_expired_tokens`, and `clean_expired_blacklist` are never used
[INFO] [stdout]   --> token-service/src/domain/repository.rs:14:14
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait TokenRepository: Send + Sync {
[INFO] [stdout]    |           --------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 14 |     async fn revoke_all_user_tokens(&self, user_id: &str) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     async fn clean_expired_tokens(&self) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     async fn clean_expired_blacklist(&self) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `exists` is never used
[INFO] [stdout]   --> token-service/src/infrastructure/cache/redis_cache.rs:94:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl RedisCache {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub async fn exists(&self, key: &str) -> Result<bool, DomainError> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OAuthService` is never constructed
[INFO] [stdout]  --> auth-service/src/application/oauth.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OAuthService {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> auth-service/src/application/oauth.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl OAuthService {
[INFO] [stdout]   | ----------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OidcService` is never constructed
[INFO] [stdout]  --> auth-service/src/application/oidc.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OidcService {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> auth-service/src/application/oidc.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl OidcService {
[INFO] [stdout]   | ---------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `url` is never read
[INFO] [stdout]   --> auth-service/src/config.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct RedisConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 18 |     pub url: String,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RedisConfig` 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 `redis` is never read
[INFO] [stdout]   --> auth-service/src/config.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Config {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub redis: RedisConfig,
[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: variants `AuthenticationFailed`, `TenantNotFound`, and `ValidationError` are never constructed
[INFO] [stdout]   --> auth-service/src/domain/error.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum DomainError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout]  5 |     #[error("Authentication failed: {0}")]
[INFO] [stdout]  6 |     AuthenticationFailed(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     TenantNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     ValidationError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> auth-service/src/domain/model.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Tenant {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 105 |     pub fn new(name: String, display_name: String, settings: HashMap<String, String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_user`, `delete_user`, and `list_users` are never used
[INFO] [stdout]   --> auth-service/src/domain/repository.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait UserRepository: Send + Sync {
[INFO] [stdout]    |           -------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 16 |     async fn update_user(&self, user: User) -> Result<User, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 17 |     async fn delete_user(&self, id: &str) -> Result<(), DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 18 |     async fn list_users(
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `revoke_all_user_tokens` and `list_user_tokens` are never used
[INFO] [stdout]   --> auth-service/src/domain/repository.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait TokenRepository: Send + Sync {
[INFO] [stdout]    |           --------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     async fn revoke_all_user_tokens(&self, user_id: &str) -> Result<(), DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     async fn list_user_tokens(&self, user_id: &str) -> Result<Vec<Token>, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TenantRepository` is never used
[INFO] [stdout]   --> auth-service/src/domain/repository.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait TenantRepository: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TokenService` is never used
[INFO] [stdout]  --> auth-service/src/domain/service.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait TokenService: Send + Sync {
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tenants_collection` is never read
[INFO] [stdout]   --> auth-service/src/infrastructure/repository/mongo_repository.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MongoRepository {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     tenants_collection: Collection<Tenant>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MongoRepository` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RedisCache` is never constructed
[INFO] [stdout]  --> auth-service/src/infrastructure/cache/redis_cache.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct RedisCache {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_connection`, `set`, `get`, `delete`, and `exists` are never used
[INFO] [stdout]   --> auth-service/src/infrastructure/cache/redis_cache.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl RedisCache {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(url: &str) -> Result<Self, RedisError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn get_connection(&self) -> Result<Connection, RedisError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn set<T: Serialize>(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get<T: DeserializeOwned>(&self, key: &str) -> Result<Option<T>, RedisError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn delete(&self, key: &str) -> Result<(), RedisError> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn exists(&self, key: &str) -> Result<bool, RedisError> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OAuthEndpoints` is never constructed
[INFO] [stdout]  --> auth-service/src/interfaces/rest/oauth_endpoints.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OAuthEndpoints {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> auth-service/src/interfaces/rest/oauth_endpoints.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl OAuthEndpoints {
[INFO] [stdout]   | ------------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `existing_provider`
[INFO] [stdout]    --> integration-service/src/application/provider_service.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let existing_provider = self.provider_repository.get_provider_by_id(&provider.id).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_existing_provider`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OAuthService` is never constructed
[INFO] [stdout]  --> auth-service/src/application/oauth.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OAuthService {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> auth-service/src/application/oauth.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl OAuthService {
[INFO] [stdout]   | ----------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OidcService` is never constructed
[INFO] [stdout]  --> auth-service/src/application/oidc.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OidcService {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> auth-service/src/application/oidc.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl OidcService {
[INFO] [stdout]   | ---------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `url` is never read
[INFO] [stdout]   --> auth-service/src/config.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct RedisConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 18 |     pub url: String,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RedisConfig` 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 `redis` is never read
[INFO] [stdout]   --> auth-service/src/config.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Config {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub redis: RedisConfig,
[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: variants `AuthenticationFailed`, `TenantNotFound`, and `ValidationError` are never constructed
[INFO] [stdout]   --> auth-service/src/domain/error.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum DomainError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout]  5 |     #[error("Authentication failed: {0}")]
[INFO] [stdout]  6 |     AuthenticationFailed(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     TenantNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     ValidationError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> auth-service/src/domain/model.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Tenant {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 105 |     pub fn new(name: String, display_name: String, settings: HashMap<String, String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_user`, `delete_user`, and `list_users` are never used
[INFO] [stdout]   --> auth-service/src/domain/repository.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait UserRepository: Send + Sync {
[INFO] [stdout]    |           -------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 16 |     async fn update_user(&self, user: User) -> Result<User, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 17 |     async fn delete_user(&self, id: &str) -> Result<(), DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 18 |     async fn list_users(
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `revoke_all_user_tokens` and `list_user_tokens` are never used
[INFO] [stdout]   --> auth-service/src/domain/repository.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait TokenRepository: Send + Sync {
[INFO] [stdout]    |           --------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     async fn revoke_all_user_tokens(&self, user_id: &str) -> Result<(), DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     async fn list_user_tokens(&self, user_id: &str) -> Result<Vec<Token>, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TenantRepository` is never used
[INFO] [stdout]   --> auth-service/src/domain/repository.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait TenantRepository: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TokenService` is never used
[INFO] [stdout]  --> auth-service/src/domain/service.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub trait TokenService: Send + Sync {
[INFO] [stdout]   |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tenants_collection` is never read
[INFO] [stdout]   --> auth-service/src/infrastructure/repository/mongo_repository.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MongoRepository {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     tenants_collection: Collection<Tenant>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MongoRepository` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RedisCache` is never constructed
[INFO] [stdout]  --> auth-service/src/infrastructure/cache/redis_cache.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct RedisCache {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_connection`, `set`, `get`, `delete`, and `exists` are never used
[INFO] [stdout]   --> auth-service/src/infrastructure/cache/redis_cache.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl RedisCache {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(url: &str) -> Result<Self, RedisError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn get_connection(&self) -> Result<Connection, RedisError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn set<T: Serialize>(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get<T: DeserializeOwned>(&self, key: &str) -> Result<Option<T>, RedisError> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn delete(&self, key: &str) -> Result<(), RedisError> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn exists(&self, key: &str) -> Result<bool, RedisError> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OAuthEndpoints` is never constructed
[INFO] [stdout]  --> auth-service/src/interfaces/rest/oauth_endpoints.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OAuthEndpoints {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> auth-service/src/interfaces/rest/oauth_endpoints.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl OAuthEndpoints {
[INFO] [stdout]   | ------------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clean_expired_invitations` is never used
[INFO] [stdout]    --> admin-service/src/application/invitation_service.rs:173:18
[INFO] [stdout]     |
[INFO] [stdout]  20 | / impl<TR, IR, E> InvitationService<TR, IR, E>
[INFO] [stdout]  21 | | where
[INFO] [stdout]  22 | |     TR: TenantRepository,
[INFO] [stdout]  23 | |     IR: TenantInvitationRepository,
[INFO] [stdout]  24 | |     E: EventPublisher,
[INFO] [stdout]     | |______________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |       pub async fn clean_expired_invitations(&self) -> Result<u64, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UserNotFound` and `EventError` are never constructed
[INFO] [stdout]   --> admin-service/src/domain/error.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum DomainError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     UserNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     EventError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainError` 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 `clean_expired_invitations` is never used
[INFO] [stdout]   --> admin-service/src/domain/repository.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait TenantInvitationRepository: Send + Sync {
[INFO] [stdout]    |           -------------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 26 |     async fn clean_expired_invitations(&self) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pkce_verifier`
[INFO] [stdout]    --> integration-service/src/application/oauth_service.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let (pkce_challenge, pkce_verifier) = PkceCodeChallenge::new_random_sha256();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pkce_verifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_user_by_username`, `get_user_by_email`, `update_user_status`, `update_user_profile`, and `search_users` are never used
[INFO] [stdout]    --> user-service/src/application/user_service.rs:99:18
[INFO] [stdout]     |
[INFO] [stdout]  18 | / impl<R, E> UserServiceImpl<R, E>
[INFO] [stdout]  19 | | where
[INFO] [stdout]  20 | |     R: UserRepository,
[INFO] [stdout]  21 | |     E: EventPublisher,
[INFO] [stdout]     | |______________________- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |       pub async fn get_user_by_username(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |       pub async fn get_user_by_email(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |       pub async fn update_user_status(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |       pub async fn update_user_profile(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |       pub async fn search_users(
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_profile`, `update_status`, `record_login`, and `update_metadata` are never used
[INFO] [stdout]    --> user-service/src/domain/model.rs:77:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl User {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn update_profile(&mut self, profile: UserProfile) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn update_status(&mut self, status: UserStatus) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn record_login(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn update_metadata(&mut self, metadata: HashMap<String, String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Unauthorized`, `Forbidden`, `TenantNotFound`, `RoleNotFound`, `ValidationError`, and `EventError` are never constructed
[INFO] [stdout]   --> user-service/src/domain/error.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum DomainError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Unauthorized(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     Forbidden(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     TenantNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     RoleNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     ValidationError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     EventError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `count_users` and `search_users` are never used
[INFO] [stdout]   --> user-service/src/domain/repository.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait UserRepository: Send + Sync {
[INFO] [stdout]    |           -------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 15 |     async fn count_users(&self, tenant_id: &str, filter: Option<&str>) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 16 |     async fn search_users(&self, tenant_id: &str, query: &str, skip: u64, limit: u64) -> Result<(Vec<User>, u64), DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `existing_provider`
[INFO] [stdout]    --> integration-service/src/application/provider_service.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         let existing_provider = self.provider_repository.get_provider_by_id(&provider.id).await?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_existing_provider`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pkce_verifier`
[INFO] [stdout]    --> integration-service/src/application/oauth_service.rs:118:30
[INFO] [stdout]     |
[INFO] [stdout] 118 |         let (pkce_challenge, pkce_verifier) = PkceCodeChallenge::new_random_sha256();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pkce_verifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clean_expired_invitations` is never used
[INFO] [stdout]    --> admin-service/src/application/invitation_service.rs:173:18
[INFO] [stdout]     |
[INFO] [stdout]  20 | / impl<TR, IR, E> InvitationService<TR, IR, E>
[INFO] [stdout]  21 | | where
[INFO] [stdout]  22 | |     TR: TenantRepository,
[INFO] [stdout]  23 | |     IR: TenantInvitationRepository,
[INFO] [stdout]  24 | |     E: EventPublisher,
[INFO] [stdout]     | |______________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |       pub async fn clean_expired_invitations(&self) -> Result<u64, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UserNotFound` and `EventError` are never constructed
[INFO] [stdout]   --> admin-service/src/domain/error.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum DomainError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     UserNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     EventError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainError` 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 `clean_expired_invitations` is never used
[INFO] [stdout]   --> admin-service/src/domain/repository.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait TenantInvitationRepository: Send + Sync {
[INFO] [stdout]    |           -------------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 26 |     async fn clean_expired_invitations(&self) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_provider_by_name` is never used
[INFO] [stdout]    --> integration-service/src/application/provider_service.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout]  18 | / impl<R, E> ProviderService<R, E>
[INFO] [stdout]  19 | | where
[INFO] [stdout]  20 | |     R: ProviderRepository,
[INFO] [stdout]  21 | |     E: EventPublisher,
[INFO] [stdout]     | |______________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |       pub async fn get_provider_by_name(&self, name: &str, tenant_id: &str) -> Result<Provider, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clean_expired_states` is never used
[INFO] [stdout]    --> integration-service/src/application/oauth_service.rs:591:18
[INFO] [stdout]     |
[INFO] [stdout]  64 | / impl<PR, UR, SR, E, UC> OAuthService<PR, UR, SR, E, UC>
[INFO] [stdout]  65 | | where
[INFO] [stdout]  66 | |     PR: ProviderRepository,
[INFO] [stdout]  67 | |     UR: UserIdentityRepository,
[INFO] [stdout]  68 | |     SR: OAuthStateRepository,
[INFO] [stdout]  69 | |     E: EventPublisher,
[INFO] [stdout]  70 | |     UC: UserServiceClient,
[INFO] [stdout]     | |__________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 591 |       pub async fn clean_expired_states(&self) -> Result<u64, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OidcUserInfo` is never constructed
[INFO] [stdout]   --> integration-service/src/application/oidc_service.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct OidcUserInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_provider_from_discovery` is never used
[INFO] [stdout]   --> integration-service/src/application/oidc_service.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 63 | / impl<PR, UR, SR, E, UC> OidcService<PR, UR, SR, E, UC>
[INFO] [stdout] 64 | | where
[INFO] [stdout] 65 | |     PR: ProviderRepository,
[INFO] [stdout] 66 | |     UR: UserIdentityRepository,
[INFO] [stdout] 67 | |     SR: OAuthStateRepository,
[INFO] [stdout] 68 | |     E: EventPublisher,
[INFO] [stdout] 69 | |     UC: UserServiceClient,
[INFO] [stdout]    | |__________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |       pub async fn create_provider_from_discovery(
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidOAuthState`, `SAMLError`, `LDAPError`, `ValidationError`, and `EventError` are never constructed
[INFO] [stdout]   --> integration-service/src/domain/error.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum DomainError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     InvalidOAuthState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     SAMLError(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     LDAPError(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     ValidationError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     EventError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainError` 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 `get_user_identity_by_id` is never used
[INFO] [stdout]   --> integration-service/src/domain/repository.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait UserIdentityRepository: Send + Sync {
[INFO] [stdout]    |           ---------------------- method in this trait
[INFO] [stdout] 19 |     async fn create_user_identity(&self, identity: UserIdentity) -> Result<UserIdentity, DomainError>;
[INFO] [stdout] 20 |     async fn get_user_identity_by_id(&self, id: &str) -> Result<UserIdentity, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clean_expired_states` is never used
[INFO] [stdout]   --> integration-service/src/domain/repository.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub trait OAuthStateRepository: Send + Sync {
[INFO] [stdout]    |           -------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     async fn clean_expired_states(&self) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_provider_by_name` is never used
[INFO] [stdout]    --> integration-service/src/application/provider_service.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout]  18 | / impl<R, E> ProviderService<R, E>
[INFO] [stdout]  19 | | where
[INFO] [stdout]  20 | |     R: ProviderRepository,
[INFO] [stdout]  21 | |     E: EventPublisher,
[INFO] [stdout]     | |______________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |       pub async fn get_provider_by_name(&self, name: &str, tenant_id: &str) -> Result<Provider, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clean_expired_states` is never used
[INFO] [stdout]    --> integration-service/src/application/oauth_service.rs:591:18
[INFO] [stdout]     |
[INFO] [stdout]  64 | / impl<PR, UR, SR, E, UC> OAuthService<PR, UR, SR, E, UC>
[INFO] [stdout]  65 | | where
[INFO] [stdout]  66 | |     PR: ProviderRepository,
[INFO] [stdout]  67 | |     UR: UserIdentityRepository,
[INFO] [stdout]  68 | |     SR: OAuthStateRepository,
[INFO] [stdout]  69 | |     E: EventPublisher,
[INFO] [stdout]  70 | |     UC: UserServiceClient,
[INFO] [stdout]     | |__________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 591 |       pub async fn clean_expired_states(&self) -> Result<u64, DomainError> {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OidcUserInfo` is never constructed
[INFO] [stdout]   --> integration-service/src/application/oidc_service.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct OidcUserInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_provider_from_discovery` is never used
[INFO] [stdout]   --> integration-service/src/application/oidc_service.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 63 | / impl<PR, UR, SR, E, UC> OidcService<PR, UR, SR, E, UC>
[INFO] [stdout] 64 | | where
[INFO] [stdout] 65 | |     PR: ProviderRepository,
[INFO] [stdout] 66 | |     UR: UserIdentityRepository,
[INFO] [stdout] 67 | |     SR: OAuthStateRepository,
[INFO] [stdout] 68 | |     E: EventPublisher,
[INFO] [stdout] 69 | |     UC: UserServiceClient,
[INFO] [stdout]    | |__________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |       pub async fn create_provider_from_discovery(
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidOAuthState`, `SAMLError`, `LDAPError`, `ValidationError`, and `EventError` are never constructed
[INFO] [stdout]   --> integration-service/src/domain/error.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum DomainError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     InvalidOAuthState,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     SAMLError(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     LDAPError(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     ValidationError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     EventError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DomainError` 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 `get_user_identity_by_id` is never used
[INFO] [stdout]   --> integration-service/src/domain/repository.rs:20:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait UserIdentityRepository: Send + Sync {
[INFO] [stdout]    |           ---------------------- method in this trait
[INFO] [stdout] 19 |     async fn create_user_identity(&self, identity: UserIdentity) -> Result<UserIdentity, DomainError>;
[INFO] [stdout] 20 |     async fn get_user_identity_by_id(&self, id: &str) -> Result<UserIdentity, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clean_expired_states` is never used
[INFO] [stdout]   --> integration-service/src/domain/repository.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub trait OAuthStateRepository: Send + Sync {
[INFO] [stdout]    |           -------------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 32 |     async fn clean_expired_states(&self) -> Result<u64, DomainError>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 08s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: num-bigint-dig v0.8.4, redis v0.23.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 5`
[INFO] running `Command { std: "docker" "inspect" "a059db3a1a0633a54c2bf36d37ecc3a845820810b28d642ad41db6067605f09c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a059db3a1a0633a54c2bf36d37ecc3a845820810b28d642ad41db6067605f09c", kill_on_drop: false }`
[INFO] [stdout] a059db3a1a0633a54c2bf36d37ecc3a845820810b28d642ad41db6067605f09c
