[INFO] cloning repository https://github.com/yogt1984/netgate [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yogt1984/netgate" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyogt1984%2Fnetgate", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyogt1984%2Fnetgate'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c68e598e4c3c5e8a7fc1cd2b3c3026dece553bba [INFO] checking yogt1984/netgate against try#7424ce9ff9baac3e9d9f5dd3c85828cddea0134d for pr-136776-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyogt1984%2Fnetgate" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/yogt1984/netgate [INFO] finished tweaking git repo https://github.com/yogt1984/netgate [INFO] tweaked toml for git repo https://github.com/yogt1984/netgate written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/yogt1984/netgate on toolchain 7424ce9ff9baac3e9d9f5dd3c85828cddea0134d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/yogt1984/netgate 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" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] acb08e56ed70e197d34a2bc819890f6940483922904bc799a801826afdff64d5 [INFO] running `Command { std: "docker" "start" "-a" "acb08e56ed70e197d34a2bc819890f6940483922904bc799a801826afdff64d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "acb08e56ed70e197d34a2bc819890f6940483922904bc799a801826afdff64d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "acb08e56ed70e197d34a2bc819890f6940483922904bc799a801826afdff64d5", kill_on_drop: false }` [INFO] [stdout] acb08e56ed70e197d34a2bc819890f6940483922904bc799a801826afdff64d5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+7424ce9ff9baac3e9d9f5dd3c85828cddea0134d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8962b70d675225cab3ccc5575225db907844afaad6a2c0042e54f84436456a2f [INFO] running `Command { std: "docker" "start" "-a" "8962b70d675225cab3ccc5575225db907844afaad6a2c0042e54f84436456a2f", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.110 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Checking bytes v1.11.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Checking stable_deref_trait v1.2.1 [INFO] [stderr] Checking lock_api v0.4.14 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Compiling find-msvc-tools v0.1.5 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Checking writeable v0.6.2 [INFO] [stderr] Checking litemap v0.8.1 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Checking hashbrown v0.16.0 [INFO] [stderr] Compiling icu_properties_data v2.1.1 [INFO] [stderr] Checking regex-syntax v0.8.8 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling uncased v0.9.10 [INFO] [stderr] Compiling cc v1.2.46 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Checking serde_json v1.0.145 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking deranged v0.5.5 [INFO] [stderr] Compiling toml_edit v0.20.2 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Compiling multer v2.1.0 [INFO] [stderr] Compiling cookie v0.17.0 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Checking indexmap v2.12.0 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking wildmatch v2.6.1 [INFO] [stderr] Checking rfc7239 v0.1.3 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Checking regex-automata v0.4.13 [INFO] [stderr] Checking nu-ansi-term v0.50.3 [INFO] [stderr] Compiling http-types v2.12.0 [INFO] [stderr] Checking time v0.3.44 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking socket2 v0.6.1 [INFO] [stderr] Checking mio v1.1.0 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking getrandom v0.1.16 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling proc-macro-crate v2.0.2 [INFO] [stderr] Checking tempfile v3.23.0 [INFO] [stderr] Checking nix v0.27.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking polyval v0.6.2 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking ghash v0.5.1 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking headers v0.3.9 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking aes-gcm v0.10.3 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking futures-lite v1.13.0 [INFO] [stderr] Checking retain_mut v0.1.9 [INFO] [stderr] Checking infer v0.2.3 [INFO] [stderr] Checking deadpool-runtime v0.1.4 [INFO] [stderr] Checking futures-timer v3.0.3 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.14.4 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking regex v1.12.2 [INFO] [stderr] Compiling poem-derive v1.3.59 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking tokio v1.48.0 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Compiling darling_macro v0.14.4 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Compiling darling v0.14.4 [INFO] [stderr] Compiling poem-openapi-derive v2.0.27 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking quick-xml v0.30.0 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking chrono v0.4.42 [INFO] [stderr] Checking tracing-serde v0.2.0 [INFO] [stderr] Checking quick-xml v0.26.0 [INFO] [stderr] Checking serde_qs v0.8.5 [INFO] [stderr] Checking uuid v1.18.1 [INFO] [stderr] Checking assert-json-diff v2.0.2 [INFO] [stderr] Checking tracing-subscriber v0.3.20 [INFO] [stderr] Checking icu_properties v2.1.1 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking futures-executor v0.3.31 [INFO] [stderr] Checking futures v0.3.31 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking url v2.5.7 [INFO] [stderr] Checking tokio-util v0.7.17 [INFO] [stderr] Checking tokio-stream v0.1.17 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking deadpool v0.9.5 [INFO] [stderr] Checking tokio-test v0.4.4 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking poem v1.3.59 [INFO] [stderr] Checking wiremock v0.5.22 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking poem-openapi v2.0.27 [INFO] [stderr] Checking netgate v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `poem::EndpointExt` [INFO] [stdout] --> src/observability/middleware.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | use poem::EndpointExt; [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: `super::*` [INFO] [stdout] --> src/observability/tracing.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `api` [INFO] [stdout] --> src/api/health.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 157 | let api = HealthApi::new(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_api` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `api` [INFO] [stdout] --> src/api/health.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let api = HealthApi::with_netbox_client(resilient_client); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_api` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `api` [INFO] [stdout] --> src/api/metrics.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | let api = MetricsApi::new(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_api` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `api` [INFO] [stdout] --> src/api/metrics.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | let api = MetricsApi::with_netbox_client(resilient_client); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_api` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/enrichment.rs:462:13 [INFO] [stdout] | [INFO] [stdout] 462 | let mut site = create_test_site(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/enrichment.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | let mut site = create_test_site(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/enrichment.rs:508:13 [INFO] [stdout] | [INFO] [stdout] 508 | let mut site = create_test_site(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/enrichment.rs:571:13 [INFO] [stdout] | [INFO] [stdout] 571 | let mut device = create_test_device(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/enrichment.rs:743:13 [INFO] [stdout] | [INFO] [stdout] 743 | let mut site = create_test_site(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `service` [INFO] [stdout] --> src/business/order_service.rs:192:13 [INFO] [stdout] | [INFO] [stdout] 192 | let service = OrderService::new(workflow_manager, netbox_client); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/transformation.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | let mut request = transformer.transform_site_order(order, None); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `poem::EndpointExt` [INFO] [stdout] --> src/observability/middleware.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | use poem::EndpointExt; [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: `super::*` [INFO] [stdout] --> src/observability/tracing.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `api` [INFO] [stdout] --> src/api/health.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 157 | let api = HealthApi::new(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_api` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `api` [INFO] [stdout] --> src/api/health.rs:171:13 [INFO] [stdout] | [INFO] [stdout] 171 | let api = HealthApi::with_netbox_client(resilient_client); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_api` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `api` [INFO] [stdout] --> src/api/metrics.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | let api = MetricsApi::new(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_api` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `api` [INFO] [stdout] --> src/api/metrics.rs:117:13 [INFO] [stdout] | [INFO] [stdout] 117 | let api = MetricsApi::with_netbox_client(resilient_client); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_api` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/enrichment.rs:462:13 [INFO] [stdout] | [INFO] [stdout] 462 | let mut site = create_test_site(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/enrichment.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | let mut site = create_test_site(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/enrichment.rs:508:13 [INFO] [stdout] | [INFO] [stdout] 508 | let mut site = create_test_site(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/enrichment.rs:571:13 [INFO] [stdout] | [INFO] [stdout] 571 | let mut device = create_test_device(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/enrichment.rs:743:13 [INFO] [stdout] | [INFO] [stdout] 743 | let mut site = create_test_site(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `service` [INFO] [stdout] --> src/business/order_service.rs:192:13 [INFO] [stdout] | [INFO] [stdout] 192 | let service = OrderService::new(workflow_manager, netbox_client); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timezone` is never read [INFO] [stdout] --> src/business/enrichment.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct GeographicData { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | pub timezone: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeographicData` 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: field `department` is never read [INFO] [stdout] --> src/business/enrichment.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct ContactData { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | pub department: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ContactData` 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 associated items are never used [INFO] [stdout] --> src/business/enrichment.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl ObjectEnricher { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn with_config( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn enrich_device( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn add_computed_fields_device(&self, device: &mut NetBoxDevice, enrichment: &EnrichmentData) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn merge_enrichment_data_device(&self, device: &mut NetBoxDevice, enrichment: &EnrichmentData) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | fn add_business_tags_device(&self, device: &mut NetBoxDevice, enrichment: &EnrichmentData) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 350 | pub fn compute_status(&self, enrichment: &EnrichmentData) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 365 | pub fn merge_enrichment_sources(sources: Vec) -> EnrichmentData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtensibleOrderService` is never constructed [INFO] [stdout] --> src/business/extensible_order_service.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ExtensibleOrderService { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `process_order`, `get_order_status`, and `registry` are never used [INFO] [stdout] --> src/business/extensible_order_service.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ExtensibleOrderService { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 17 | /// Create a new extensible order service with a registry [INFO] [stdout] 18 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub async fn process_order( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub async fn get_order_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn registry(&self) -> &Arc { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProcessedOrderResult` is never constructed [INFO] [stdout] --> src/business/extensible_order_service.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct ProcessedOrderResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderStatus` is never constructed [INFO] [stdout] --> src/business/extensible_order_service.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | pub struct OrderStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExtensibleOrderServiceBuilder` is never constructed [INFO] [stdout] --> src/business/extensible_order_service.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 163 | pub struct ExtensibleOrderServiceBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_processor`, `with_default_processors`, and `build` are never used [INFO] [stdout] --> src/business/extensible_order_service.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 167 | impl ExtensibleOrderServiceBuilder { [INFO] [stdout] | ---------------------------------- associated items in this implementation [INFO] [stdout] 168 | /// Create a new builder [INFO] [stdout] 169 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn with_processor(mut self, processor: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn with_default_processors(mut self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn build( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `OrderType` is never used [INFO] [stdout] --> src/business/plugin.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub type OrderType = String; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderPayload` is never used [INFO] [stdout] --> src/business/plugin.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum OrderPayload { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `order_type` is never used [INFO] [stdout] --> src/business/plugin.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl OrderPayload { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 23 | pub fn order_type(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NetBoxResourceRequest` is never used [INFO] [stdout] --> src/business/plugin.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum NetBoxResourceRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `resource_type` is never used [INFO] [stdout] --> src/business/plugin.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl NetBoxResourceRequest { [INFO] [stdout] | -------------------------- method in this implementation [INFO] [stdout] 38 | pub fn resource_type(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `NetBoxResource` is never used [INFO] [stdout] --> src/business/plugin.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum NetBoxResource { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `resource_id` and `resource_type` are never used [INFO] [stdout] --> src/business/plugin.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl NetBoxResource { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 53 | pub fn resource_id(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn resource_type(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `OrderProcessor` is never used [INFO] [stdout] --> src/business/plugin.rs:68:11 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait OrderProcessor: Send + Sync { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderTypeRegistry` is never constructed [INFO] [stdout] --> src/business/plugin.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct OrderTypeRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `register`, `get_processor`, `default_order_type`, `registered_types`, and `is_registered` are never used [INFO] [stdout] --> src/business/plugin.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 110 | impl OrderTypeRegistry { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 111 | /// Create a new registry [INFO] [stdout] 112 | pub fn new(default_order_type: OrderType) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn register(&mut self, processor: Arc) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub fn get_processor(&self, order_type: &str) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn default_order_type(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn registered_types(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn is_registered(&self, order_type: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderTypeConfig` is never constructed [INFO] [stdout] --> src/business/plugin.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 155 | pub struct OrderTypeConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderTypeConfigLoader` is never constructed [INFO] [stdout] --> src/business/plugin.rs:165:12 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct OrderTypeConfigLoader; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `load_from_map` and `default_configs` are never used [INFO] [stdout] --> src/business/plugin.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 167 | impl OrderTypeConfigLoader { [INFO] [stdout] | -------------------------- associated functions in this implementation [INFO] [stdout] 168 | /// Load order type configurations from a map [INFO] [stdout] 169 | pub fn load_from_map( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn default_configs() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SiteOrderProcessor` is never constructed [INFO] [stdout] --> src/business/processors.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SiteOrderProcessor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/business/processors.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SiteOrderProcessor { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_default_status` and `enrich_site_request` are never used [INFO] [stdout] --> src/business/transformation.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl OrderTransformer { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn with_default_status(status: SiteStatus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn enrich_site_request( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SiteEnrichmentData` is never constructed [INFO] [stdout] --> src/business/transformation.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 119 | pub struct SiteEnrichmentData { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_rules` is never used [INFO] [stdout] --> src/business/validation.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl OrderValidator { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn with_rules( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_terminal` is never used [INFO] [stdout] --> src/business/workflow.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl OrderState { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn is_terminal(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_tenant_orders` and `get_orders_by_state` are never used [INFO] [stdout] --> src/business/workflow.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl WorkflowManager { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn get_tenant_orders(&self, tenant_id: &str) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | pub fn get_orders_by_state(&self, state: OrderState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheMetrics` is never constructed [INFO] [stdout] --> src/cache/metrics.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct CacheMetrics { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/cache/metrics.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl CacheMetrics { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 14 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn record_hit(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn record_miss(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn record_eviction(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn record_invalidation(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn record_put(&self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn snapshot(&self) -> CacheMetricsSnapshot { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheMetricsSnapshot` is never constructed [INFO] [stdout] --> src/cache/metrics.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct CacheMetricsSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `value` and `expires_at` are never read [INFO] [stdout] --> src/cache/store.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 11 | struct CacheEntry { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 12 | value: T, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 13 | expires_at: Instant, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheEntry` 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: associated items `new` and `is_expired` are never used [INFO] [stdout] --> src/cache/store.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl CacheEntry { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 19 | fn new(value: T, ttl: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn is_expired(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cache` is never constructed [INFO] [stdout] --> src/cache/store.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct Cache { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/cache/store.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 45 | / impl Cache [INFO] [stdout] 46 | | where [INFO] [stdout] 47 | | K: Hash + Eq + Clone + Send + Sync + std::fmt::Debug + 'static, [INFO] [stdout] 48 | | V: Clone + Send + Sync + 'static, [INFO] [stdout] | |_____________________________________- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn new(default_ttl: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn with_max_size(default_ttl: Duration, max_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub async fn get(&self, key: &K) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub async fn put(&self, key: K, value: V) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub async fn put_with_ttl(&self, key: K, value: V, ttl: Duration) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub async fn invalidate(&self, key: &K) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub async fn invalidate_matching(&self, predicate: F) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn clear(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub async fn evict_expired(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub async fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub async fn stats(&self) -> CacheStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheStats` is never constructed [INFO] [stdout] --> src/cache/store.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 184 | pub struct CacheStats { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SiteCache` is never used [INFO] [stdout] --> src/cache/store.rs:191:10 [INFO] [stdout] | [INFO] [stdout] 191 | pub type SiteCache = Cache; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `DeviceCache` is never used [INFO] [stdout] --> src/cache/store.rs:194:10 [INFO] [stdout] | [INFO] [stdout] 194 | pub type DeviceCache = Cache; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CacheKey` is never used [INFO] [stdout] --> src/cache/store.rs:198:10 [INFO] [stdout] | [INFO] [stdout] 198 | pub enum CacheKey { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `site`, `device`, `site_list`, and `device_list` are never used [INFO] [stdout] --> src/cache/store.rs:206:12 [INFO] [stdout] | [INFO] [stdout] 205 | impl CacheKey { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 206 | pub fn site(id: i32) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn device(id: i32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn site_list>(query: S) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn device_list>(query: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InvalidationStrategy` is never used [INFO] [stdout] --> src/cache/strategy.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum InvalidationStrategy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheConfig` is never constructed [INFO] [stdout] --> src/cache/strategy.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct CacheConfig { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_max_size`, `with_invalidation_strategy`, and `with_metrics` are never used [INFO] [stdout] --> src/cache/strategy.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl CacheConfig { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 38 | /// Create a new cache configuration [INFO] [stdout] 39 | pub fn new(default_ttl: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn with_max_size(mut self, max_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn with_invalidation_strategy(mut self, strategy: InvalidationStrategy) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn with_metrics(mut self, enable: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_invalidation_keys` is never used [INFO] [stdout] --> src/cache/strategy.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn get_invalidation_keys(key: &CacheKey, strategy: InvalidationStrategy) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_site` is never used [INFO] [stdout] --> src/domain/tenant.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl TenantStore { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn add_site(&self, tenant_id: TenantId, site: Site) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CachedNetBoxClient` is never constructed [INFO] [stdout] --> src/netbox/cached_client.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct CachedNetBoxClient { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/netbox/cached_client.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl CachedNetBoxClient { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 18 | /// Create a new cached client with default configuration [INFO] [stdout] 19 | pub fn new(client: Arc) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn with_config(client: Arc, config: CacheConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub async fn get_site(&self, id: i32) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub async fn list_sites( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub async fn create_site(&self, request: CreateSiteRequest) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | async fn invalidate_site_cache(&self, site_id: &Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | async fn invalidate_site_list_cache(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn cache_metrics(&self) -> crate::cache::CacheMetricsSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub async fn cache_stats(&self) -> CacheClientStats { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub async fn clear_all_caches(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub async fn evict_expired(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CacheClientStats` is never constructed [INFO] [stdout] --> src/netbox/cached_client.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct CacheClientStats { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/netbox/client.rs:96:18 [INFO] [stdout] | [INFO] [stdout] 16 | impl NetBoxClient { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 96 | pub async fn get_site(&self, id: i32) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub async fn update_site( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub async fn delete_site(&self, id: i32) -> Result<(), NetBoxError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | pub async fn create_device( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub async fn get_device(&self, id: i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | pub async fn list_devices( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | pub async fn update_device( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | pub async fn delete_device(&self, id: i32) -> Result<(), NetBoxError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnexpectedResponse` is never constructed [INFO] [stdout] --> src/netbox/error.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum NetBoxError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 28 | UnexpectedResponse(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetBoxError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UpdateSiteRequest` is never constructed [INFO] [stdout] --> src/netbox/models.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct UpdateSiteRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CreateDeviceRequest` is never constructed [INFO] [stdout] --> src/netbox/models.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 201 | pub struct CreateDeviceRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UpdateDeviceRequest` is never constructed [INFO] [stdout] --> src/netbox/models.rs:222:12 [INFO] [stdout] | [INFO] [stdout] 222 | pub struct UpdateDeviceRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_config`, `get_site`, and `clear_cache` are never used [INFO] [stdout] --> src/netbox/resilient_client.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl ResilientNetBoxClient { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn with_config( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub async fn get_site(&self, id: i32) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn clear_cache(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TenantAwareNetBoxClient` is never constructed [INFO] [stdout] --> src/netbox/tenant_client.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct TenantAwareNetBoxClient { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/netbox/tenant_client.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl TenantAwareNetBoxClient { [INFO] [stdout] | ---------------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub async fn get_site(&self, tenant_id: &TenantId, site_id: i32) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub async fn list_sites( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub async fn create_site( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub async fn update_site( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub async fn delete_site(&self, tenant_id: &TenantId, site_id: i32) -> Result<(), AppError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub async fn get_device(&self, tenant_id: &TenantId, device_id: i32) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub async fn list_devices( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub async fn create_device( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | pub async fn update_device( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub async fn delete_device(&self, tenant_id: &TenantId, device_id: i32) -> Result<(), AppError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RequestTracingMiddleware` is never constructed [INFO] [stdout] --> src/observability/middleware.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct RequestTracingMiddleware; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RequestTracingEndpoint` is never constructed [INFO] [stdout] --> src/observability/middleware.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct RequestTracingEndpoint { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_request_id` is never used [INFO] [stdout] --> src/observability/middleware.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn extract_request_id(req: &Request) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_correlation_id` is never used [INFO] [stdout] --> src/observability/middleware.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn extract_correlation_id(req: &Request) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_structured_logging` is never used [INFO] [stdout] --> src/observability/tracing.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn init_structured_logging() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `window_duration` is never read [INFO] [stdout] --> src/resilience/circuit_breaker.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct CircuitBreakerConfig { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 27 | pub window_duration: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CircuitBreakerConfig` 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: associated items `with_config` and `reset` are never used [INFO] [stdout] --> src/resilience/circuit_breaker.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 93 | impl CircuitBreaker { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn with_config(config: CircuitBreakerConfig) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `record_retry` and `reset` are never used [INFO] [stdout] --> src/resilience/metrics.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl ApiMetrics { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn record_retry(&self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/resilience/retry.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl RetryConfig { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 33 | pub fn new(max_attempts: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retry` is never used [INFO] [stdout] --> src/resilience/retry.rs:113:14 [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn retry( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `devices` and `device_lists` are never read [INFO] [stdout] --> src/resilience/degradation.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct DegradationCache { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 9 | sites: Arc>>, [INFO] [stdout] 10 | devices: Arc>>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 11 | site_lists: Arc>>, [INFO] [stdout] 12 | device_lists: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `site` and `cached_at` are never read [INFO] [stdout] --> src/resilience/degradation.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | struct CachedSite { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 18 | site: NetBoxSite, [INFO] [stdout] | ^^^^ [INFO] [stdout] 19 | cached_at: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedSite` 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 `device` and `cached_at` are never read [INFO] [stdout] --> src/resilience/degradation.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | struct CachedDevice { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 24 | device: NetBoxDevice, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 25 | cached_at: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedDevice` 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 `devices` and `cached_at` are never read [INFO] [stdout] --> src/resilience/degradation.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 35 | struct CachedDeviceList { [INFO] [stdout] | ---------------- fields in this struct [INFO] [stdout] 36 | devices: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 37 | cached_at: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedDeviceList` 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 methods are never used [INFO] [stdout] --> src/resilience/degradation.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl DegradationCache { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn get_site(&self, id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn get_device(&self, id: i32) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn cache_device(&self, id: i32, device: NetBoxDevice) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn get_device_list(&self, key: &str) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn cache_device_list(&self, key: String, devices: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn clear_expired(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn clear_all(&self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DegradationStrategy` is never used [INFO] [stdout] --> src/resilience/degradation.rs:178:10 [INFO] [stdout] | [INFO] [stdout] 178 | pub enum DegradationStrategy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `degrade_site_retrieval` is never used [INFO] [stdout] --> src/resilience/degradation.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn degrade_site_retrieval( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `degrade_site_list_retrieval` is never used [INFO] [stdout] --> src/resilience/degradation.rs:221:8 [INFO] [stdout] | [INFO] [stdout] 221 | pub fn degrade_site_list_retrieval( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `NetBoxTenantId` is never used [INFO] [stdout] --> src/security/tenant.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type NetBoxTenantId = i32; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TenantMappingService` is never constructed [INFO] [stdout] --> src/security/tenant.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct TenantMappingService { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `register_mapping`, `get_netbox_tenant_id`, `has_mapping`, `remove_mapping`, and `get_all_tenant_ids` are never used [INFO] [stdout] --> src/security/tenant.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl TenantMappingService { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 19 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn register_mapping(&self, tenant_id: TenantId, netbox_tenant_id: NetBoxTenantId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn get_netbox_tenant_id(&self, tenant_id: &TenantId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn has_mapping(&self, tenant_id: &TenantId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn remove_mapping(&self, tenant_id: &TenantId) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn get_all_tenant_ids(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TenantAccessControl` is never constructed [INFO] [stdout] --> src/security/tenant.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct TenantAccessControl { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/security/tenant.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl TenantAccessControl { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 68 | pub fn new(mapping_service: TenantMappingService) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn mapping_service(&self) -> &std::sync::Arc { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn verify_site_access(&self, tenant_id: &TenantId, site: &NetBoxSite) -> Result<(), AppError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn verify_device_access(&self, tenant_id: &TenantId, device: &NetBoxDevice) -> Result<(), AppError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn get_netbox_tenant_id(&self, tenant_id: &TenantId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn filter_sites_by_tenant( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn filter_devices_by_tenant( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn has_access_to_netbox_tenant(&self, tenant_id: &TenantId, netbox_tenant_id: NetBoxTenantId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TenantResourceVisibility` is never constructed [INFO] [stdout] --> src/security/tenant.rs:172:12 [INFO] [stdout] | [INFO] [stdout] 172 | pub struct TenantResourceVisibility { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `ensure_site_visible`, `ensure_device_visible`, `get_tenant_sites`, and `get_tenant_devices` are never used [INFO] [stdout] --> src/security/tenant.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 176 | impl TenantResourceVisibility { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 177 | pub fn new(access_control: TenantAccessControl) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn ensure_site_visible(&self, tenant_id: &TenantId, site: &NetBoxSite) -> Result<(), AppError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn ensure_device_visible(&self, tenant_id: &TenantId, device: &NetBoxDevice) -> Result<(), AppError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn get_tenant_sites( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn get_tenant_devices( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/business/transformation.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | let mut request = transformer.transform_site_order(order, None); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `timezone` is never read [INFO] [stdout] --> src/business/enrichment.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct GeographicData { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | pub timezone: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeographicData` 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: field `department` is never read [INFO] [stdout] --> src/business/enrichment.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct ContactData { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | pub department: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ContactData` 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: associated function `with_config` is never used [INFO] [stdout] --> src/business/enrichment.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl ObjectEnricher { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn with_config( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `registry` and `netbox_client` are never read [INFO] [stdout] --> src/business/extensible_order_service.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct ExtensibleOrderService { [INFO] [stdout] | ---------------------- fields in this struct [INFO] [stdout] 11 | registry: Arc, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 12 | workflow_manager: Arc, [INFO] [stdout] 13 | netbox_client: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `process_order` and `registry` are never used [INFO] [stdout] --> src/business/extensible_order_service.rs:31:18 [INFO] [stdout] | [INFO] [stdout] 16 | impl ExtensibleOrderService { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub async fn process_order( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn registry(&self) -> &Arc { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ProcessedOrderResult` is never constructed [INFO] [stdout] --> src/business/extensible_order_service.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct ProcessedOrderResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `order_id`, `state`, `netbox_resource_id`, `created_at`, and `updated_at` are never read [INFO] [stdout] --> src/business/extensible_order_service.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 154 | pub struct OrderStatus { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 155 | pub order_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 156 | pub state: OrderState, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 157 | pub netbox_resource_id: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 158 | pub created_at: chrono::DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 159 | pub updated_at: chrono::DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OrderStatus` 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 `with_processor` is never used [INFO] [stdout] --> src/business/extensible_order_service.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 167 | impl ExtensibleOrderServiceBuilder { [INFO] [stdout] | ---------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn with_processor(mut self, processor: Arc) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/business/plugin.rs:33:10 [INFO] [stdout] | [INFO] [stdout] 33 | Site(CreateSiteRequest), [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `NetBoxResourceRequest` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 33 - Site(CreateSiteRequest), [INFO] [stdout] 33 + Site(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `enrich_request`, `create_resource`, and `enrich_resource` are never used [INFO] [stdout] --> src/business/plugin.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 68 | pub trait OrderProcessor: Send + Sync { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 83 | fn enrich_request( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | async fn create_resource( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn enrich_resource( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load_from_map` is never used [INFO] [stdout] --> src/business/plugin.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 167 | impl OrderTypeConfigLoader { [INFO] [stdout] | -------------------------- associated function in this implementation [INFO] [stdout] 168 | /// Load order type configurations from a map [INFO] [stdout] 169 | pub fn load_from_map( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `enricher` is never read [INFO] [stdout] --> src/business/processors.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct SiteOrderProcessor { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | enricher: ObjectEnricher, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_rules` is never used [INFO] [stdout] --> src/business/validation.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl OrderValidator { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn with_rules( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `miss_rate` is never read [INFO] [stdout] --> src/cache/metrics.rs:87:9 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct CacheMetricsSnapshot { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 87 | pub miss_rate: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheMetricsSnapshot` 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 `clear` is never used [INFO] [stdout] --> src/cache/store.rs:140:18 [INFO] [stdout] | [INFO] [stdout] 45 | / impl Cache [INFO] [stdout] 46 | | where [INFO] [stdout] 47 | | K: Hash + Eq + Clone + Send + Sync + std::fmt::Debug + 'static, [INFO] [stdout] 48 | | V: Clone + Send + Sync + 'static, [INFO] [stdout] | |_____________________________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn clear(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `expired_entries` is never read [INFO] [stdout] --> src/cache/store.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 184 | pub struct CacheStats { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 187 | pub expired_entries: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheStats` 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: type alias `SiteCache` is never used [INFO] [stdout] --> src/cache/store.rs:191:10 [INFO] [stdout] | [INFO] [stdout] 191 | pub type SiteCache = Cache; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `DeviceCache` is never used [INFO] [stdout] --> src/cache/store.rs:194:10 [INFO] [stdout] | [INFO] [stdout] 194 | pub type DeviceCache = Cache; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Device` is never constructed [INFO] [stdout] --> src/cache/store.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 198 | pub enum CacheKey { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 199 | Site(i32), [INFO] [stdout] 200 | Device(i32), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheKey` 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: associated functions `device` and `device_list` are never used [INFO] [stdout] --> src/cache/store.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 205 | impl CacheKey { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn device(id: i32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn device_list>(query: S) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TypeBased` is never constructed [INFO] [stdout] --> src/cache/strategy.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum InvalidationStrategy { [INFO] [stdout] | -------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | TypeBased, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InvalidationStrategy` 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 `clear_all_caches` is never used [INFO] [stdout] --> src/netbox/cached_client.rs:181:18 [INFO] [stdout] | [INFO] [stdout] 17 | impl CachedNetBoxClient { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 181 | pub async fn clear_all_caches(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `site_list_cache` is never read [INFO] [stdout] --> src/netbox/cached_client.rs:200:9 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct CacheClientStats { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 199 | pub site_cache: crate::cache::CacheStats, [INFO] [stdout] 200 | pub site_list_cache: crate::cache::CacheStats, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CacheClientStats` 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: variant `UnexpectedResponse` is never constructed [INFO] [stdout] --> src/netbox/error.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum NetBoxError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 28 | UnexpectedResponse(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NetBoxError` 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 `clear_cache` is never used [INFO] [stdout] --> src/netbox/resilient_client.rs:226:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl ResilientNetBoxClient { [INFO] [stdout] | -------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn clear_cache(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `update_device` and `delete_device` are never used [INFO] [stdout] --> src/netbox/tenant_client.rs:178:18 [INFO] [stdout] | [INFO] [stdout] 15 | impl TenantAwareNetBoxClient { [INFO] [stdout] | ---------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 178 | pub async fn update_device( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub async fn delete_device(&self, tenant_id: &TenantId, device_id: i32) -> Result<(), AppError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RequestTracingMiddleware` is never constructed [INFO] [stdout] --> src/observability/middleware.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct RequestTracingMiddleware; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RequestTracingEndpoint` is never constructed [INFO] [stdout] --> src/observability/middleware.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct RequestTracingEndpoint { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_structured_logging` is never used [INFO] [stdout] --> src/observability/tracing.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn init_structured_logging() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `window_duration` is never read [INFO] [stdout] --> src/resilience/circuit_breaker.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct CircuitBreakerConfig { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 27 | pub window_duration: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CircuitBreakerConfig` 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: associated function `new` is never used [INFO] [stdout] --> src/resilience/retry.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl RetryConfig { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 33 | pub fn new(max_attempts: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retry` is never used [INFO] [stdout] --> src/resilience/retry.rs:113:14 [INFO] [stdout] | [INFO] [stdout] 113 | pub async fn retry( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `devices` is never read [INFO] [stdout] --> src/resilience/degradation.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 35 | struct CachedDeviceList { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 36 | devices: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedDeviceList` 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 `get_device_list` and `cache_device_list` are never used [INFO] [stdout] --> src/resilience/degradation.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl DegradationCache { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn get_device_list(&self, key: &str) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn cache_device_list(&self, key: String, devices: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ReturnError` and `ReturnPartial` are never constructed [INFO] [stdout] --> src/resilience/degradation.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub enum DegradationStrategy { [INFO] [stdout] | ------------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 184 | ReturnError, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 185 | /// Return partial data if available [INFO] [stdout] 186 | ReturnPartial, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.05s [INFO] running `Command { std: "docker" "inspect" "8962b70d675225cab3ccc5575225db907844afaad6a2c0042e54f84436456a2f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8962b70d675225cab3ccc5575225db907844afaad6a2c0042e54f84436456a2f", kill_on_drop: false }` [INFO] [stdout] 8962b70d675225cab3ccc5575225db907844afaad6a2c0042e54f84436456a2f