[INFO] cloning repository https://github.com/officialmexaly/ecom-actix
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/officialmexaly/ecom-actix" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fofficialmexaly%2Fecom-actix", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fofficialmexaly%2Fecom-actix'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c2528ad15f76f61c7320f6e9f3010dfb8bd54be2
[INFO] testing officialmexaly/ecom-actix against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fofficialmexaly%2Fecom-actix" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/officialmexaly/ecom-actix
[INFO] finished tweaking git repo https://github.com/officialmexaly/ecom-actix
[INFO] tweaked toml for git repo https://github.com/officialmexaly/ecom-actix written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/officialmexaly/ecom-actix on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/officialmexaly/ecom-actix 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded actix-test v0.1.5
[INFO] [stderr]   Downloaded actix-tls v3.4.0
[INFO] [stderr]   Downloaded actix-http-test v3.2.0
[INFO] [stderr]   Downloaded bcrypt v0.15.1
[INFO] [stderr]   Downloaded actix-http v3.11.0
[INFO] [stderr]   Downloaded awc v3.7.0
[INFO] [stderr]   Downloaded url v2.5.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ae727dba39e704809ed54a0109e596129523444be3a034123476423043430354
[INFO] running `Command { std: "docker" "start" "-a" "ae727dba39e704809ed54a0109e596129523444be3a034123476423043430354", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ae727dba39e704809ed54a0109e596129523444be3a034123476423043430354", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae727dba39e704809ed54a0109e596129523444be3a034123476423043430354", kill_on_drop: false }`
[INFO] [stdout] ae727dba39e704809ed54a0109e596129523444be3a034123476423043430354
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f04e1525877b938039b3a5041bbb02f699d74858819732e58c26e93deefcb3f9
[INFO] running `Command { std: "docker" "start" "-a" "f04e1525877b938039b3a5041bbb02f699d74858819732e58c26e93deefcb3f9", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling jobserver v0.1.33
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling local-waker v0.1.4
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling cc v1.2.33
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling bytestring v1.4.0
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling actix-utils v3.0.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling cookie v0.16.2
[INFO] [stderr]    Compiling actix-service v2.0.3
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling bitflags v2.9.2
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling local-channel v0.1.5
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling brotli v8.0.2
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling language-tags v0.3.2
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling blowfish v0.9.1
[INFO] [stderr]    Compiling pem v3.0.5
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling impl-more v0.1.9
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling bcrypt v0.15.1
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling actix-router v0.5.3
[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 serde_derive v1.0.219
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling actix-web-codegen v4.3.0
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling actix-macros v0.2.4
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling simple_asn1 v0.6.3
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.6
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling actix-rt v2.10.0
[INFO] [stderr]    Compiling actix-server v2.6.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling uuid v1.18.0
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling actix-codec v0.5.2
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling jsonwebtoken v9.3.1
[INFO] [stderr]    Compiling actix-http v3.11.0
[INFO] [stderr]    Compiling actix-web v4.11.0
[INFO] [stderr]    Compiling ecom v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `engine::RbacEngine`
[INFO] [stdout]  --> src/rbac/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use engine::RbacEngine;
[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: `permission::Permission`
[INFO] [stdout]   --> src/rbac/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use permission::Permission;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `policy::RbacPolicy`
[INFO] [stdout]   --> src/rbac/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use policy::RbacPolicy;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AttributeValue`
[INFO] [stdout]  --> src/abac/mod.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use attribute::{AttributeValue, Subject, Resource, Action, Environment, AttributeMatcher};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AbacPolicy` and `Target`
[INFO] [stdout]  --> src/abac/mod.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use policy::{AbacPolicy, Target};
[INFO] [stdout]   |                  ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::common::Effect`
[INFO] [stdout]  --> src/abac/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use crate::types::common::Effect;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Condition` and `Operator`
[INFO] [stdout]   --> src/abac/mod.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use condition::{Condition, Operator};
[INFO] [stdout]    |                     ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::HybridPolicyEngine`
[INFO] [stdout]  --> src/hybrid/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use engine::HybridPolicyEngine;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CombinationLogic`, `HybridPolicy`, `PolicyType`, and `RbacRequirement`
[INFO] [stdout]  --> src/hybrid/mod.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use policy::{PolicyType, HybridPolicy, RbacRequirement, CombinationLogic};
[INFO] [stdout]   |                  ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HybridAccessMiddlewareFactory` and `HybridAccessMiddleware`
[INFO] [stdout]  --> src/middleware/mod.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use access::{HybridAccessMiddleware, HybridAccessMiddlewareFactory};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccessContext` and `extract_context_from_request`
[INFO] [stdout]  --> src/middleware/mod.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use context::{AccessContext, extract_context_from_request};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChangePasswordRequest`, `LoginRequest`, `LoginResponse`, `RefreshTokenRequest`, `ResetPasswordRequest`, and `User`
[INFO] [stdout]   --> src/auth/mod.rs:9:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub use user::{User, CreateUserRequest, LoginRequest, LoginResponse, RefreshTokenRequest, 
[INFO] [stdout]    |                ^^^^                     ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |                ChangePasswordRequest, ResetPasswordRequest, UserInfo, UserProfile};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccessTokenClaims`, `JwtManager`, `RefreshTokenClaims`, and `TokenPair`
[INFO] [stdout]   --> src/auth/mod.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use jwt::{JwtManager, AccessTokenClaims, RefreshTokenClaims, TokenPair};
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthError` and `UserSession`
[INFO] [stdout]   --> src/auth/mod.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use service::{AuthService, AuthError, UserSession};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthMiddleware` and `get_current_user`
[INFO] [stdout]   --> src/auth/mod.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use middleware::{AuthMiddleware, AuthMiddlewareFactory, get_current_user};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `handlers::AuthServiceData`
[INFO] [stdout]   --> src/auth/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use handlers::AuthServiceData;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/rbac/engine.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl RbacEngine {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn set_role_hierarchy(&mut self, parent_role: &str, child_roles: Vec<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub fn assign_role_dynamic(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn delegate_role(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn revoke_role(&mut self, user_id: &str, role_name: &str, revoked_by: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn cleanup_expired_assignments(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn update_session_activity(&mut self, user_id: &str, session_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     fn can_assign_role(&self, assigner: &str, role_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn can_revoke_role(&self, revoker: &str, role_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     fn has_active_role(&self, user_id: &str, role_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     fn get_delegation_depth(&self, user_id: &str, role: &str) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 510 |     pub fn has_permission(&self, user_id: &str, resource: &str, action: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 527 |     pub fn get_user_roles(&self, user_id: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InactivityTimeout`, `AttributeChange`, `LocationChange`, `TimeExpiry`, and `SecurityEvent` are never constructed
[INFO] [stdout]   --> src/rbac/role.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub enum RevocationCondition {
[INFO] [stdout]    |          ------------------- variants in this enum
[INFO] [stdout] 45 |     InactivityTimeout(Duration),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     AttributeChange(String, String), // Simplified
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     LocationChange,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     TimeExpiry(DateTime<Utc>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 49 |     SecurityEvent(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RevocationCondition` 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: fields `id`, `delegator`, `created_at`, `conditions`, and `max_depth` are never read
[INFO] [stdout]   --> src/rbac/delegation.rs:7:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct RoleDelegation {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  7 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout]  8 |     pub delegator: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 12 |     pub expires_at: DateTime<Utc>,
[INFO] [stdout] 13 |     pub conditions: DelegationConditions,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 14 |     pub max_depth: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RoleDelegation` 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: fields `can_further_delegate`, `restricted_permissions`, `time_windows`, `approval_required`, and `max_depth` are never read
[INFO] [stdout]   --> src/rbac/delegation.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct DelegationConditions {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 19 |     pub can_further_delegate: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub restricted_permissions: Vec<Permission>, // Changed from HashSet
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub time_windows: Vec<TimeWindow>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub approval_required: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub max_depth: u32, // Added missing field
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DelegationConditions` 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: fields `started_at`, `location`, `device_info`, and `active_roles` are never read
[INFO] [stdout]   --> src/rbac/session.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct UserSession {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  5 |     pub session_id: String,
[INFO] [stdout]  6 |     pub started_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]  7 |     pub last_activity: DateTime<Utc>,
[INFO] [stdout]  8 |     pub location: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]  9 |     pub device_info: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 10 |     pub active_roles: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserSession` 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 `id` is never read
[INFO] [stdout]  --> src/rbac/policy.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct RbacPolicy {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 3 |     pub id: String,
[INFO] [stdout]   |         ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `RbacPolicy` 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: struct `Attribute` is never constructed
[INFO] [stdout]  --> src/abac/attribute.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Attribute {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> src/abac/policy.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AbacPolicy {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 7 |     pub id: String,
[INFO] [stdout]   |         ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AbacPolicy` 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: multiple variants are never constructed
[INFO] [stdout]   --> src/abac/condition.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum Operator {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  6 |     Equals,
[INFO] [stdout]  7 |     NotEquals,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  8 |     Contains,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]  9 |     GreaterThan,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 10 |     LessThan,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 11 |     In,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 12 |     TimeWindow,   // Time-based access with sophisticated rules
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 13 |     HasRole,      // Special operator for RBAC integration
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     HasAttribute, // Check if subject has required attribute
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 17 |     LocationMatch, // Check if current location matches requirement
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 18 |     SessionValid,  // Check if user session is valid and active
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 19 |     DelegationValid, // Check if role was properly delegated
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Operator` 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 `And`, `Or`, and `RbacCheck` are never constructed
[INFO] [stdout]   --> src/abac/condition.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum Condition {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 24 |     And(Vec<Condition>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 25 |     Or(Vec<Condition>),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 26 |     Attribute(AttributeMatcher),
[INFO] [stdout] 27 |     RbacCheck(RbacRequirement),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Condition` 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 `AnyRole`, `AllRoles`, and `Permission` are never constructed
[INFO] [stdout]   --> src/abac/condition.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum RbacRequirement {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 34 |     AnyRole(Vec<String>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 35 |     AllRoles(Vec<String>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     Permission(Permission),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RbacRequirement` 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 `id` is never read
[INFO] [stdout]   --> src/hybrid/policy.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct HybridPolicy {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 16 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HybridPolicy` 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 `RbacOrAbac` and `RbacThenAbac` are never constructed
[INFO] [stdout]   --> src/hybrid/policy.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum CombinationLogic {
[INFO] [stdout]    |          ---------------- variants in this enum
[INFO] [stdout] 31 |     RbacAndAbac,  // Both RBAC and ABAC must pass
[INFO] [stdout] 32 |     RbacOrAbac,   // Either RBAC or ABAC must pass
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     RbacThenAbac, // RBAC first, then ABAC for fine-grained control
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CombinationLogic` 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_subject_attr` and `with_resource_attr` are never used
[INFO] [stdout]   --> src/middleware/context.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl AccessContext {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn with_subject_attr(mut self, name: &str, value: AttributeValue) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn with_resource_attr(mut self, name: &str, value: AttributeValue) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Deny` is never constructed
[INFO] [stdout]   --> src/types/common.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Effect {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] 20 |     Permit,
[INFO] [stdout] 21 |     Deny,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Effect` 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 `unlock_account` is never used
[INFO] [stdout]    --> src/auth/user.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl User {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn unlock_account(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cleanup_expired` is never used
[INFO] [stdout]    --> src/auth/service.rs:401:12
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl AuthService {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn cleanup_expired(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_current_user` is never used
[INFO] [stdout]    --> src/auth/middleware.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn get_current_user(req: &ServiceRequest) -> Option<UserInfo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s
[INFO] running `Command { std: "docker" "inspect" "f04e1525877b938039b3a5041bbb02f699d74858819732e58c26e93deefcb3f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f04e1525877b938039b3a5041bbb02f699d74858819732e58c26e93deefcb3f9", kill_on_drop: false }`
[INFO] [stdout] f04e1525877b938039b3a5041bbb02f699d74858819732e58c26e93deefcb3f9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2027ad57959fdf54cf1dda82115de07f5a3d9c15db9b0ac779257e8af97bb100
[INFO] running `Command { std: "docker" "start" "-a" "2027ad57959fdf54cf1dda82115de07f5a3d9c15db9b0ac779257e8af97bb100", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling actix-rt v2.10.0
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling actix-server v2.6.0
[INFO] [stderr]    Compiling actix-codec v0.5.2
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling actix-tls v3.4.0
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling actix-http v3.11.0
[INFO] [stderr]    Compiling awc v3.7.0
[INFO] [stderr]    Compiling actix-web v4.11.0
[INFO] [stderr]    Compiling actix-http-test v3.2.0
[INFO] [stderr]    Compiling actix-test v0.1.5
[INFO] [stderr]    Compiling ecom v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `engine::RbacEngine`
[INFO] [stdout]  --> src/rbac/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use engine::RbacEngine;
[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: `permission::Permission`
[INFO] [stdout]   --> src/rbac/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use permission::Permission;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `policy::RbacPolicy`
[INFO] [stdout]   --> src/rbac/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use policy::RbacPolicy;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AttributeValue`
[INFO] [stdout]  --> src/abac/mod.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use attribute::{AttributeValue, Subject, Resource, Action, Environment, AttributeMatcher};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AbacPolicy` and `Target`
[INFO] [stdout]  --> src/abac/mod.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use policy::{AbacPolicy, Target};
[INFO] [stdout]   |                  ^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::common::Effect`
[INFO] [stdout]  --> src/abac/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use crate::types::common::Effect;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Condition` and `Operator`
[INFO] [stdout]   --> src/abac/mod.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use condition::{Condition, Operator};
[INFO] [stdout]    |                     ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::HybridPolicyEngine`
[INFO] [stdout]  --> src/hybrid/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use engine::HybridPolicyEngine;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CombinationLogic`, `HybridPolicy`, `PolicyType`, and `RbacRequirement`
[INFO] [stdout]  --> src/hybrid/mod.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use policy::{PolicyType, HybridPolicy, RbacRequirement, CombinationLogic};
[INFO] [stdout]   |                  ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HybridAccessMiddlewareFactory` and `HybridAccessMiddleware`
[INFO] [stdout]  --> src/middleware/mod.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use access::{HybridAccessMiddleware, HybridAccessMiddlewareFactory};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccessContext` and `extract_context_from_request`
[INFO] [stdout]  --> src/middleware/mod.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use context::{AccessContext, extract_context_from_request};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ChangePasswordRequest`, `LoginRequest`, `LoginResponse`, `RefreshTokenRequest`, `ResetPasswordRequest`, and `User`
[INFO] [stdout]   --> src/auth/mod.rs:9:16
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub use user::{User, CreateUserRequest, LoginRequest, LoginResponse, RefreshTokenRequest, 
[INFO] [stdout]    |                ^^^^                     ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |                ChangePasswordRequest, ResetPasswordRequest, UserInfo, UserProfile};
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccessTokenClaims`, `JwtManager`, `RefreshTokenClaims`, and `TokenPair`
[INFO] [stdout]   --> src/auth/mod.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use jwt::{JwtManager, AccessTokenClaims, RefreshTokenClaims, TokenPair};
[INFO] [stdout]    |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthError` and `UserSession`
[INFO] [stdout]   --> src/auth/mod.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use service::{AuthService, AuthError, UserSession};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthMiddleware` and `get_current_user`
[INFO] [stdout]   --> src/auth/mod.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use middleware::{AuthMiddleware, AuthMiddlewareFactory, get_current_user};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `handlers::AuthServiceData`
[INFO] [stdout]   --> src/auth/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use handlers::AuthServiceData;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/rbac/engine.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl RbacEngine {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  32 |     pub fn set_role_hierarchy(&mut self, parent_role: &str, child_roles: Vec<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub fn assign_role_dynamic(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn delegate_role(
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn revoke_role(&mut self, user_id: &str, role_name: &str, revoked_by: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn cleanup_expired_assignments(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn update_session_activity(&mut self, user_id: &str, session_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     fn can_assign_role(&self, assigner: &str, role_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn can_revoke_role(&self, revoker: &str, role_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     fn has_active_role(&self, user_id: &str, role_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     fn get_delegation_depth(&self, user_id: &str, role: &str) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 510 |     pub fn has_permission(&self, user_id: &str, resource: &str, action: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 527 |     pub fn get_user_roles(&self, user_id: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InactivityTimeout`, `AttributeChange`, `LocationChange`, `TimeExpiry`, and `SecurityEvent` are never constructed
[INFO] [stdout]   --> src/rbac/role.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub enum RevocationCondition {
[INFO] [stdout]    |          ------------------- variants in this enum
[INFO] [stdout] 45 |     InactivityTimeout(Duration),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |     AttributeChange(String, String), // Simplified
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     LocationChange,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 48 |     TimeExpiry(DateTime<Utc>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 49 |     SecurityEvent(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RevocationCondition` 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: fields `id`, `delegator`, `created_at`, `conditions`, and `max_depth` are never read
[INFO] [stdout]   --> src/rbac/delegation.rs:7:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct RoleDelegation {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  7 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout]  8 |     pub delegator: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 12 |     pub expires_at: DateTime<Utc>,
[INFO] [stdout] 13 |     pub conditions: DelegationConditions,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 14 |     pub max_depth: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RoleDelegation` 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: fields `can_further_delegate`, `restricted_permissions`, `time_windows`, `approval_required`, and `max_depth` are never read
[INFO] [stdout]   --> src/rbac/delegation.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct DelegationConditions {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 19 |     pub can_further_delegate: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub restricted_permissions: Vec<Permission>, // Changed from HashSet
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub time_windows: Vec<TimeWindow>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub approval_required: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub max_depth: u32, // Added missing field
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DelegationConditions` 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: fields `started_at`, `location`, `device_info`, and `active_roles` are never read
[INFO] [stdout]   --> src/rbac/session.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct UserSession {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout]  5 |     pub session_id: String,
[INFO] [stdout]  6 |     pub started_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]  7 |     pub last_activity: DateTime<Utc>,
[INFO] [stdout]  8 |     pub location: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]  9 |     pub device_info: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 10 |     pub active_roles: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserSession` 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 `id` is never read
[INFO] [stdout]  --> src/rbac/policy.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct RbacPolicy {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 3 |     pub id: String,
[INFO] [stdout]   |         ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `RbacPolicy` 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: struct `Attribute` is never constructed
[INFO] [stdout]  --> src/abac/attribute.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Attribute {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> src/abac/policy.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct AbacPolicy {
[INFO] [stdout]   |            ---------- field in this struct
[INFO] [stdout] 7 |     pub id: String,
[INFO] [stdout]   |         ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AbacPolicy` 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: multiple variants are never constructed
[INFO] [stdout]   --> src/abac/condition.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum Operator {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  6 |     Equals,
[INFO] [stdout]  7 |     NotEquals,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  8 |     Contains,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]  9 |     GreaterThan,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 10 |     LessThan,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 11 |     In,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 12 |     TimeWindow,   // Time-based access with sophisticated rules
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 13 |     HasRole,      // Special operator for RBAC integration
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     HasAttribute, // Check if subject has required attribute
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 17 |     LocationMatch, // Check if current location matches requirement
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 18 |     SessionValid,  // Check if user session is valid and active
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 19 |     DelegationValid, // Check if role was properly delegated
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Operator` 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 `And`, `Or`, and `RbacCheck` are never constructed
[INFO] [stdout]   --> src/abac/condition.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum Condition {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 24 |     And(Vec<Condition>),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 25 |     Or(Vec<Condition>),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 26 |     Attribute(AttributeMatcher),
[INFO] [stdout] 27 |     RbacCheck(RbacRequirement),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Condition` 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 `AnyRole`, `AllRoles`, and `Permission` are never constructed
[INFO] [stdout]   --> src/abac/condition.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum RbacRequirement {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 34 |     AnyRole(Vec<String>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 35 |     AllRoles(Vec<String>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 36 |     Permission(Permission),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RbacRequirement` 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 `id` is never read
[INFO] [stdout]   --> src/hybrid/policy.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct HybridPolicy {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 16 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HybridPolicy` 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 `RbacOrAbac` and `RbacThenAbac` are never constructed
[INFO] [stdout]   --> src/hybrid/policy.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum CombinationLogic {
[INFO] [stdout]    |          ---------------- variants in this enum
[INFO] [stdout] 31 |     RbacAndAbac,  // Both RBAC and ABAC must pass
[INFO] [stdout] 32 |     RbacOrAbac,   // Either RBAC or ABAC must pass
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 33 |     RbacThenAbac, // RBAC first, then ABAC for fine-grained control
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CombinationLogic` 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_subject_attr` and `with_resource_attr` are never used
[INFO] [stdout]   --> src/middleware/context.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl AccessContext {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn with_subject_attr(mut self, name: &str, value: AttributeValue) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn with_resource_attr(mut self, name: &str, value: AttributeValue) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Deny` is never constructed
[INFO] [stdout]   --> src/types/common.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Effect {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] 20 |     Permit,
[INFO] [stdout] 21 |     Deny,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Effect` 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 `unlock_account` is never used
[INFO] [stdout]    --> src/auth/user.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl User {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn unlock_account(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cleanup_expired` is never used
[INFO] [stdout]    --> src/auth/service.rs:401:12
[INFO] [stdout]     |
[INFO] [stdout]  77 | impl AuthService {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn cleanup_expired(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_current_user` is never used
[INFO] [stdout]    --> src/auth/middleware.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn get_current_user(req: &ServiceRequest) -> Option<UserInfo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 33.81s
[INFO] running `Command { std: "docker" "inspect" "2027ad57959fdf54cf1dda82115de07f5a3d9c15db9b0ac779257e8af97bb100", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2027ad57959fdf54cf1dda82115de07f5a3d9c15db9b0ac779257e8af97bb100", kill_on_drop: false }`
[INFO] [stdout] 2027ad57959fdf54cf1dda82115de07f5a3d9c15db9b0ac779257e8af97bb100
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 11a3fc32c5fb3d27b32929711c5511d4ee0e4e9606c0a7cf9573dc39271a2fce
[INFO] running `Command { std: "docker" "start" "-a" "11a3fc32c5fb3d27b32929711c5511d4ee0e4e9606c0a7cf9573dc39271a2fce", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `engine::RbacEngine`
[INFO] [stderr]  --> src/rbac/mod.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub use engine::RbacEngine;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `permission::Permission`
[INFO] [stderr]   --> src/rbac/mod.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub use permission::Permission;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `policy::RbacPolicy`
[INFO] [stderr]   --> src/rbac/mod.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub use policy::RbacPolicy;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AttributeValue`
[INFO] [stderr]  --> src/abac/mod.rs:6:21
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use attribute::{AttributeValue, Subject, Resource, Action, Environment, AttributeMatcher};
[INFO] [stderr]   |                     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AbacPolicy` and `Target`
[INFO] [stderr]  --> src/abac/mod.rs:7:18
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub use policy::{AbacPolicy, Target};
[INFO] [stderr]   |                  ^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::types::common::Effect`
[INFO] [stderr]  --> src/abac/mod.rs:9:9
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub use crate::types::common::Effect;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Condition` and `Operator`
[INFO] [stderr]   --> src/abac/mod.rs:10:21
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use condition::{Condition, Operator};
[INFO] [stderr]    |                     ^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `engine::HybridPolicyEngine`
[INFO] [stderr]  --> src/hybrid/mod.rs:5:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use engine::HybridPolicyEngine;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CombinationLogic`, `HybridPolicy`, `PolicyType`, and `RbacRequirement`
[INFO] [stderr]  --> src/hybrid/mod.rs:6:18
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use policy::{PolicyType, HybridPolicy, RbacRequirement, CombinationLogic};
[INFO] [stderr]   |                  ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HybridAccessMiddlewareFactory` and `HybridAccessMiddleware`
[INFO] [stderr]  --> src/middleware/mod.rs:5:18
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub use access::{HybridAccessMiddleware, HybridAccessMiddlewareFactory};
[INFO] [stderr]   |                  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AccessContext` and `extract_context_from_request`
[INFO] [stderr]  --> src/middleware/mod.rs:6:19
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use context::{AccessContext, extract_context_from_request};
[INFO] [stderr]   |                   ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ChangePasswordRequest`, `LoginRequest`, `LoginResponse`, `RefreshTokenRequest`, `ResetPasswordRequest`, and `User`
[INFO] [stderr]   --> src/auth/mod.rs:9:16
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub use user::{User, CreateUserRequest, LoginRequest, LoginResponse, RefreshTokenRequest, 
[INFO] [stderr]    |                ^^^^                     ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 10 |                ChangePasswordRequest, ResetPasswordRequest, UserInfo, UserProfile};
[INFO] [stderr]    |                ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AccessTokenClaims`, `JwtManager`, `RefreshTokenClaims`, and `TokenPair`
[INFO] [stderr]   --> src/auth/mod.rs:11:15
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub use jwt::{JwtManager, AccessTokenClaims, RefreshTokenClaims, TokenPair};
[INFO] [stderr]    |               ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AuthError` and `UserSession`
[INFO] [stderr]   --> src/auth/mod.rs:12:32
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub use service::{AuthService, AuthError, UserSession};
[INFO] [stderr]    |                                ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AuthMiddleware` and `get_current_user`
[INFO] [stderr]   --> src/auth/mod.rs:13:22
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub use middleware::{AuthMiddleware, AuthMiddlewareFactory, get_current_user};
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^                         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `handlers::AuthServiceData`
[INFO] [stderr]   --> src/auth/mod.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub use handlers::AuthServiceData;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/rbac/engine.rs:32:12
[INFO] [stderr]     |
[INFO] [stderr]  17 | impl RbacEngine {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  32 |     pub fn set_role_hierarchy(&mut self, parent_role: &str, child_roles: Vec<String>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  36 |     pub fn assign_role_dynamic(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  91 |     pub fn delegate_role(
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 151 |     pub fn revoke_role(&mut self, user_id: &str, role_name: &str, revoked_by: &str) -> Result<(), String> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 163 |     pub fn cleanup_expired_assignments(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 198 |     pub fn update_session_activity(&mut self, user_id: &str, session_id: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 323 |     fn can_assign_role(&self, assigner: &str, role_name: &str) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 329 |     fn can_revoke_role(&self, revoker: &str, role_name: &str) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 334 |     fn has_active_role(&self, user_id: &str, role_name: &str) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 340 |     fn get_delegation_depth(&self, user_id: &str, role: &str) -> u32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 510 |     pub fn has_permission(&self, user_id: &str, resource: &str, action: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 527 |     pub fn get_user_roles(&self, user_id: &str) -> Vec<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variants `InactivityTimeout`, `AttributeChange`, `LocationChange`, `TimeExpiry`, and `SecurityEvent` are never constructed
[INFO] [stderr]   --> src/rbac/role.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub enum RevocationCondition {
[INFO] [stderr]    |          ------------------- variants in this enum
[INFO] [stderr] 45 |     InactivityTimeout(Duration),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 46 |     AttributeChange(String, String), // Simplified
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 47 |     LocationChange,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 48 |     TimeExpiry(DateTime<Utc>),
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 49 |     SecurityEvent(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RevocationCondition` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id`, `delegator`, `created_at`, `conditions`, and `max_depth` are never read
[INFO] [stderr]   --> src/rbac/delegation.rs:7:9
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub struct RoleDelegation {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr]  7 |     pub id: String,
[INFO] [stderr]    |         ^^
[INFO] [stderr]  8 |     pub delegator: String,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11 |     pub created_at: DateTime<Utc>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 12 |     pub expires_at: DateTime<Utc>,
[INFO] [stderr] 13 |     pub conditions: DelegationConditions,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 14 |     pub max_depth: u32,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RoleDelegation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `can_further_delegate`, `restricted_permissions`, `time_windows`, `approval_required`, and `max_depth` are never read
[INFO] [stderr]   --> src/rbac/delegation.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct DelegationConditions {
[INFO] [stderr]    |            -------------------- fields in this struct
[INFO] [stderr] 19 |     pub can_further_delegate: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 20 |     pub restricted_permissions: Vec<Permission>, // Changed from HashSet
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 21 |     pub time_windows: Vec<TimeWindow>,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 22 |     pub approval_required: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 23 |     pub max_depth: u32, // Added missing field
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DelegationConditions` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `started_at`, `location`, `device_info`, and `active_roles` are never read
[INFO] [stderr]   --> src/rbac/session.rs:6:9
[INFO] [stderr]    |
[INFO] [stderr]  4 | pub struct UserSession {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr]  5 |     pub session_id: String,
[INFO] [stderr]  6 |     pub started_at: DateTime<Utc>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]  7 |     pub last_activity: DateTime<Utc>,
[INFO] [stderr]  8 |     pub location: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]  9 |     pub device_info: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 10 |     pub active_roles: Vec<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `UserSession` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `id` is never read
[INFO] [stderr]  --> src/rbac/policy.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct RbacPolicy {
[INFO] [stderr]   |            ---------- field in this struct
[INFO] [stderr] 3 |     pub id: String,
[INFO] [stderr]   |         ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `RbacPolicy` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Attribute` is never constructed
[INFO] [stderr]  --> src/abac/attribute.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct Attribute {
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `id` is never read
[INFO] [stderr]  --> src/abac/policy.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct AbacPolicy {
[INFO] [stderr]   |            ---------- field in this struct
[INFO] [stderr] 7 |     pub id: String,
[INFO] [stderr]   |         ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `AbacPolicy` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/abac/condition.rs:7:5
[INFO] [stderr]    |
[INFO] [stderr]  5 | pub enum Operator {
[INFO] [stderr]    |          -------- variants in this enum
[INFO] [stderr]  6 |     Equals,
[INFO] [stderr]  7 |     NotEquals,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]  8 |     Contains,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]  9 |     GreaterThan,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 10 |     LessThan,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 11 |     In,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 12 |     TimeWindow,   // Time-based access with sophisticated rules
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 13 |     HasRole,      // Special operator for RBAC integration
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     HasAttribute, // Check if subject has required attribute
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 17 |     LocationMatch, // Check if current location matches requirement
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 18 |     SessionValid,  // Check if user session is valid and active
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 19 |     DelegationValid, // Check if role was properly delegated
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Operator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `And`, `Or`, and `RbacCheck` are never constructed
[INFO] [stderr]   --> src/abac/condition.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub enum Condition {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] 24 |     And(Vec<Condition>),
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 25 |     Or(Vec<Condition>),
[INFO] [stderr]    |     ^^
[INFO] [stderr] 26 |     Attribute(AttributeMatcher),
[INFO] [stderr] 27 |     RbacCheck(RbacRequirement),
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Condition` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `AnyRole`, `AllRoles`, and `Permission` are never constructed
[INFO] [stderr]   --> src/abac/condition.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub enum RbacRequirement {
[INFO] [stderr]    |          --------------- variants in this enum
[INFO] [stderr] 34 |     AnyRole(Vec<String>),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 35 |     AllRoles(Vec<String>),
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 36 |     Permission(Permission),
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RbacRequirement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `id` is never read
[INFO] [stderr]   --> src/hybrid/policy.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct HybridPolicy {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] 16 |     pub id: String,
[INFO] [stderr]    |         ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `HybridPolicy` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `RbacOrAbac` and `RbacThenAbac` are never constructed
[INFO] [stderr]   --> src/hybrid/policy.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub enum CombinationLogic {
[INFO] [stderr]    |          ---------------- variants in this enum
[INFO] [stderr] 31 |     RbacAndAbac,  // Both RBAC and ABAC must pass
[INFO] [stderr] 32 |     RbacOrAbac,   // Either RBAC or ABAC must pass
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 33 |     RbacThenAbac, // RBAC first, then ABAC for fine-grained control
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `CombinationLogic` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_subject_attr` and `with_resource_attr` are never used
[INFO] [stderr]   --> src/middleware/context.rs:56:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl AccessContext {
[INFO] [stderr]    | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn with_subject_attr(mut self, name: &str, value: AttributeValue) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 |     pub fn with_resource_attr(mut self, name: &str, value: AttributeValue) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Deny` is never constructed
[INFO] [stderr]   --> src/types/common.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub enum Effect {
[INFO] [stderr]    |          ------ variant in this enum
[INFO] [stderr] 20 |     Permit,
[INFO] [stderr] 21 |     Deny,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Effect` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `unlock_account` is never used
[INFO] [stderr]    --> src/auth/user.rs:130:12
[INFO] [stderr]     |
[INFO] [stderr]  84 | impl User {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 130 |     pub fn unlock_account(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `cleanup_expired` is never used
[INFO] [stderr]    --> src/auth/service.rs:401:12
[INFO] [stderr]     |
[INFO] [stderr]  77 | impl AuthService {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 401 |     pub fn cleanup_expired(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_current_user` is never used
[INFO] [stderr]    --> src/auth/middleware.rs:150:8
[INFO] [stderr]     |
[INFO] [stderr] 150 | pub fn get_current_user(req: &ServiceRequest) -> Option<UserInfo> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ecom` (bin "server" test) generated 34 warnings (run `cargo fix --bin "server" -p ecom --tests` to apply 16 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ecom-a3cae8112b70584d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/server-9d753bf2a646d630)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ecom
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "11a3fc32c5fb3d27b32929711c5511d4ee0e4e9606c0a7cf9573dc39271a2fce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "11a3fc32c5fb3d27b32929711c5511d4ee0e4e9606c0a7cf9573dc39271a2fce", kill_on_drop: false }`
[INFO] [stdout] 11a3fc32c5fb3d27b32929711c5511d4ee0e4e9606c0a7cf9573dc39271a2fce
