[INFO] cloning repository https://github.com/darwinchow/simadmin-volte
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/darwinchow/simadmin-volte" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdarwinchow%2Fsimadmin-volte", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdarwinchow%2Fsimadmin-volte'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2e8d9af0189976cacabed07779f67f8d38060064
[INFO] checking darwinchow/simadmin-volte against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6+rustflags=-Znext-solver=coherence for pr-133502-31
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdarwinchow%2Fsimadmin-volte" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/darwinchow/simadmin-volte
[INFO] finished tweaking git repo https://github.com/darwinchow/simadmin-volte
[INFO] tweaked toml for git repo https://github.com/darwinchow/simadmin-volte written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/darwinchow/simadmin-volte on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/darwinchow/simadmin-volte 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zvariant_utils v3.2.1
[INFO] [stderr]   Downloaded zvariant_derive v5.8.0
[INFO] [stderr]   Downloaded zbus v5.12.0
[INFO] [stderr]   Downloaded unescaper v0.1.10
[INFO] [stderr]   Downloaded zbus_macros v5.12.0
[INFO] [stderr]   Downloaded zvariant v5.8.0
[INFO] [stderr]   Downloaded mdns-sd v0.13.11
[INFO] [stderr]   Downloaded serialport v4.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 88689a1d2f5057c686ca2d7b5702ec5f7b53e867c4b8beb558244295093bbad5
[INFO] running `Command { std: "docker" "start" "88689a1d2f5057c686ca2d7b5702ec5f7b53e867c4b8beb558244295093bbad5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "88689a1d2f5057c686ca2d7b5702ec5f7b53e867c4b8beb558244295093bbad5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "88689a1d2f5057c686ca2d7b5702ec5f7b53e867c4b8beb558244295093bbad5" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "88689a1d2f5057c686ca2d7b5702ec5f7b53e867c4b8beb558244295093bbad5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Znext-solver=coherence" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "88689a1d2f5057c686ca2d7b5702ec5f7b53e867c4b8beb558244295093bbad5" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]    Compiling cc v1.2.48
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking tracing-core v0.1.35
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking rustls-pki-types v1.13.1
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]     Checking webpki-roots v1.0.4
[INFO] [stderr]    Compiling toml_edit v0.23.7
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.7
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking uuid v1.19.0
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking iri-string v0.7.9
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking endi v1.1.1
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking sha1 v0.10.7
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]     Checking data-encoding v2.11.1
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking hostname v0.4.2
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking email-encoding v0.4.1
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking quoted_printable v0.5.2
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking email_address v0.2.9
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking spin v0.9.9
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking if-addrs v0.13.4
[INFO] [stderr]     Checking socket2 v0.5.10
[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]     Checking tokio v1.48.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking tracing v0.1.43
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking unescaper v0.1.10
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking tungstenite v0.29.0
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.1
[INFO] [stderr]     Checking serialport v4.10.0
[INFO] [stderr]     Checking axum-core v0.5.5
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]    Compiling zvariant_utils v3.2.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling zvariant_derive v5.8.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking simadmin-protocol v0.1.0 (/opt/rustwide/workdir/crates/simadmin-protocol)
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]    Compiling zvariant v5.8.0
[INFO] [stderr]     Checking tower-http v0.6.7
[INFO] [stderr]     Checking hyper-util v0.1.18
[INFO] [stderr]     Checking lettre v0.11.22
[INFO] [stderr]     Checking rusqlite v0.32.1
[INFO] [stderr]     Checking tokio-tungstenite v0.29.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling simadmin v1.1.13 (/opt/rustwide/workdir/backend)
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking zip v0.6.6
[INFO] [stderr]     Checking simadmin-auth v0.1.0 (/opt/rustwide/workdir/crates/simadmin-auth)
[INFO] [stderr]     Checking mdns-sd v0.13.11
[INFO] [stderr]     Checking md5 v0.7.0
[INFO] [stderr]     Checking simadmin-device-core v0.1.0 (/opt/rustwide/workdir/crates/simadmin-device-core)
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]    Compiling zbus_names v4.2.0
[INFO] [stderr]     Checking reqwest v0.12.24
[INFO] [stderr]     Checking axum v0.8.7
[INFO] [stderr]    Compiling zbus_macros v5.12.0
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking simadmin-notify v0.1.0 (/opt/rustwide/workdir/crates/simadmin-notify)
[INFO] [stderr]     Checking simadmin-agent v0.1.0 (/opt/rustwide/workdir/crates/simadmin-agent)
[INFO] [stderr]     Checking zbus v5.12.0
[INFO] [stderr]     Checking simadmin-device-runtime v0.1.0 (/opt/rustwide/workdir/crates/simadmin-device-runtime)
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 | use std::time::{Duration, Instant};
[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: `identity::ImsIdentity`
[INFO] [stdout]   --> backend/src/volte/mod.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub use identity::ImsIdentity;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VolteRuntimeStatus` and `VolteSupervisor`
[INFO] [stdout]   --> backend/src/volte/mod.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub use runtime::{VolteRuntimeStatus, VolteSupervisor};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SlotAllocation`
[INFO] [stdout]   --> backend/src/volte/mod.rs:52:30
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub use slot::{DataPathMode, SlotAllocation};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VolteConfig`
[INFO] [stdout]   --> backend/src/volte_manager.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::config::{ConfigManager, VolteConfig};
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 | use std::time::{Duration, Instant};
[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: `identity::ImsIdentity`
[INFO] [stdout]   --> backend/src/volte/mod.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub use identity::ImsIdentity;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VolteRuntimeStatus` and `VolteSupervisor`
[INFO] [stdout]   --> backend/src/volte/mod.rs:51:19
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub use runtime::{VolteRuntimeStatus, VolteSupervisor};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SlotAllocation`
[INFO] [stdout]   --> backend/src/volte/mod.rs:52:30
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub use slot::{DataPathMode, SlotAllocation};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VolteConfig`
[INFO] [stdout]   --> backend/src/volte_manager.rs:15:36
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::config::{ConfigManager, VolteConfig};
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> backend/src/hub_agent.rs:542:58
[INFO] [stdout]     |
[INFO] [stdout] 542 |             .map_err(|error| AgentError::Execution(error.to_string()))?;
[INFO] [stdout]     |                                                    ----- ^^^^^^^^^ unreachable call
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    any code following this expression is unreachable
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> backend/src/hub_agent.rs:542:58
[INFO] [stdout]     |
[INFO] [stdout] 542 |             .map_err(|error| AgentError::Execution(error.to_string()))?;
[INFO] [stdout]     |                                                    ----- ^^^^^^^^^ unreachable call
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    any code following this expression is unreachable
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMS_SOURCE_IMS` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const SMS_SOURCE_IMS: &str = "volte_ims";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRACE_PREFIX` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const TRACE_PREFIX: &str = "volte-sms-";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRACE_FILE_PREFIX` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const TRACE_FILE_PREFIX: &str = "volte-sms-trace-";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MO_TAG` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const MO_TAG: &str = "volte-mo:";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RP_ACK_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const RP_ACK_TIMEOUT: Duration = Duration::from_secs(15);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MULTIPART_TTL` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const MULTIPART_TTL: Duration = Duration::from_secs(600);
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RpType` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub enum RpType {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_octet` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl RpType {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 83 |     pub fn from_octet(o: u8) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_rp_data_mo` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn encode_rp_data_mo(reference: u8, smsc: &str, tpdu: &[u8]) -> Result<Vec<u8>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_rp_ack` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub fn encode_rp_ack(reference: u8) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RpData` is never constructed
[INFO] [stdout]    --> backend/src/ims_sms.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct RpData {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_rp_data` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn decode_rp_data(rpdu: &[u8]) -> Result<RpData, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_address` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub fn encode_address(number: &str) -> Result<Vec<u8>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_address` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn decode_address(bytes: &[u8]) -> Result<String, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Dcs` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:224:10
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub enum Dcs {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Concat` is never constructed
[INFO] [stdout]    --> backend/src/ims_sms.rs:233:12
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub struct Concat {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_sms_submit` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:244:8
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub fn encode_sms_submit(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_user_data` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:273:4
[INFO] [stdout]     |
[INFO] [stdout] 273 | fn encode_user_data(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SmsDeliver` is never constructed
[INFO] [stdout]    --> backend/src/ims_sms.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 329 | pub struct SmsDeliver {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_sms_deliver` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:338:8
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub fn decode_sms_deliver(tpdu: &[u8]) -> Result<SmsDeliver, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_user_data` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:392:4
[INFO] [stdout]     |
[INFO] [stdout] 392 | fn decode_user_data(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GSM7_BASIC` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:474:7
[INFO] [stdout]     |
[INFO] [stdout] 474 | const GSM7_BASIC: &str = "@£$¥èéùìòÇ\nØø\rÅåΔ_ΦΓΛΩΠΨΣΘΞ\u{1b}ÆæßÉ !\"#¤%&'()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑÜ§¿...
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gsm7_encode` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:476:4
[INFO] [stdout]     |
[INFO] [stdout] 476 | fn gsm7_encode(text: &str) -> Option<Vec<u8>> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gsm7_decode` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:489:4
[INFO] [stdout]     |
[INFO] [stdout] 489 | fn gsm7_decode(septets: &[u8]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gsm7_pack` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:498:4
[INFO] [stdout]     |
[INFO] [stdout] 498 | fn gsm7_pack(septets: &[u8], pad: usize) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gsm7_unpack` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:520:4
[INFO] [stdout]     |
[INFO] [stdout] 520 | fn gsm7_unpack(octets: &[u8], count: usize, pad: usize) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartialMessage` is never constructed
[INFO] [stdout]    --> backend/src/ims_sms.rs:545:8
[INFO] [stdout]     |
[INFO] [stdout] 545 | struct PartialMessage {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultipartCache` is never constructed
[INFO] [stdout]    --> backend/src/ims_sms.rs:554:12
[INFO] [stdout]     |
[INFO] [stdout] 554 | pub struct MultipartCache {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MultipartOutcome` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:560:10
[INFO] [stdout]     |
[INFO] [stdout] 560 | pub enum MultipartOutcome {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `offer` are never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:569:12
[INFO] [stdout]     |
[INFO] [stdout] 568 | impl MultipartCache {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 569 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 574 |     pub fn offer(&self, msg: &SmsDeliver) -> Result<MultipartOutcome, String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `segment_text` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:627:8
[INFO] [stdout]     |
[INFO] [stdout] 627 | pub fn segment_text(text: &str, dcs: Dcs) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `choose_dcs` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:643:8
[INFO] [stdout]     |
[INFO] [stdout] 643 | pub fn choose_dcs(text: &str) -> Dcs {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `duplicate_key` is never used
[INFO] [stdout]    --> backend/src/ims_sms.rs:654:8
[INFO] [stdout]     |
[INFO] [stdout] 654 | pub fn duplicate_key(sender: &str, scts: &[u8; 7], text: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENCODE_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub const ENCODE_FAILED: &str = "volte_sms_encode_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RP_ACK_SEND_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub const RP_ACK_SEND_FAILED: &str = "rp_ack_send_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RP_ACK_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub const RP_ACK_TIMEOUT: &str = "rp_ack_timeout";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RP_ACK_UNCONFIRMED` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:59:15
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub const RP_ACK_UNCONFIRMED: &str = "rp_ack_unconfirmed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NO_RP_ACK_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:60:15
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub const NO_RP_ACK_TIMEOUT: &str = "no_rp_ack_timeout";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CACHE_LOCK_POISONED` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub const CACHE_LOCK_POISONED: &str = "Native VoLTE MT multipart cache lock poisoned";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_PROXY_SOCKET` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const QMI_PROXY_SOCKET: &str = "@qmi-proxy";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_CARD_STATUS` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const QMI_CARD_STATUS: &str = "--uim-get-card-status";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_READ_EF_AD` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const QMI_READ_EF_AD: &str = "--uim-read-transparent=0x3F00,0x7FFF,0x6FAD";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INS_MANAGE_CHANNEL` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:95:7
[INFO] [stdout]    |
[INFO] [stdout] 95 | const INS_MANAGE_CHANNEL: u8 = 0x70;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INS_SELECT` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:96:7
[INFO] [stdout]    |
[INFO] [stdout] 96 | const INS_SELECT: u8 = 0xA4;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INS_AUTHENTICATE` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:97:7
[INFO] [stdout]    |
[INFO] [stdout] 97 | const INS_AUTHENTICATE: u8 = 0x88;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INS_GET_RESPONSE` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:98:7
[INFO] [stdout]    |
[INFO] [stdout] 98 | const INS_GET_RESPONSE: u8 = 0xC0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLA_BASE` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:101:7
[INFO] [stdout]     |
[INFO] [stdout] 101 | const CLA_BASE: u8 = 0x00;
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAG_AKA_SUCCESS` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:104:7
[INFO] [stdout]     |
[INFO] [stdout] 104 | const TAG_AKA_SUCCESS: u8 = 0xDB;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAG_AKA_SYNC_FAILURE` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:105:7
[INFO] [stdout]     |
[INFO] [stdout] 105 | const TAG_AKA_SYNC_FAILURE: u8 = 0xDC;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatusWord` is never constructed
[INFO] [stdout]    --> backend/src/ims_uim.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct StatusWord {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_success`, `more_data`, `wrong_length`, and `to_error` are never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl StatusWord {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn new(sw1: u8, sw2: u8) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn is_success(self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn more_data(self) -> Option<u8> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn wrong_length(self) -> Option<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn to_error(self) -> Option<&'static str> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommandApdu` is never constructed
[INFO] [stdout]    --> backend/src/ims_uim.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct CommandApdu {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encode` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl CommandApdu {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn encode(&self) -> Result<Vec<u8>, String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cla_for_channel` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn cla_for_channel(channel: u8) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apdu_open_channel` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn apdu_open_channel() -> CommandApdu {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apdu_close_channel` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn apdu_close_channel(channel: u8) -> CommandApdu {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apdu_select_aid` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub fn apdu_select_aid(channel: u8, aid: &[u8]) -> CommandApdu {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apdu_authenticate` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn apdu_authenticate(channel: u8, rand: &[u8; 16], autn: &[u8; 16]) -> CommandApdu {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apdu_get_response` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:249:8
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub fn apdu_get_response(channel: u8, len: u8) -> CommandApdu {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_response` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn split_response(resp: &[u8]) -> Result<(&[u8], StatusWord), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_authenticate_response` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:280:8
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub fn parse_authenticate_response(body: &[u8]) -> Result<AkaResult, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_ef_ad` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:326:8
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn parse_ef_ad(body: &[u8]) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_CRSM_EF_AD` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:339:11
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub const AT_CRSM_EF_AD: &str = "AT+CRSM=176,28589,0,0,4";
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_crsm` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:342:8
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub fn parse_crsm(response: &str) -> Result<(StatusWord, Vec<u8>), String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROXY_CONNECT_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub const PROXY_CONNECT_FAILED: &str = "sim_auth_proxy_connect_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROXY_OPEN_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub const PROXY_OPEN_FAILED: &str = "sim_auth_proxy_open_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UIM_CLIENT_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub const UIM_CLIENT_FAILED: &str = "sim_auth_uim_client_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOGICAL_CHANNEL_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub const LOGICAL_CHANNEL_FAILED: &str = "sim_auth_logical_channel_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOGICAL_CHANNEL_CLOSE_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:72:15
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub const LOGICAL_CHANNEL_CLOSE_FAILED: &str = "sim_auth_logical_channel_close_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APDU_EXCHANGE_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub const APDU_EXCHANGE_FAILED: &str = "sim_auth_apdu_exchange_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APDU_SECURITY_STATUS` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:74:15
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub const APDU_SECURITY_STATUS: &str = "sim_auth_apdu_security_status";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APDU_BUILD_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:75:15
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub const APDU_BUILD_FAILED: &str = "sim_auth_apdu_build_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APDU_MORE_DATA_UNHANDLED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:76:15
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub const APDU_MORE_DATA_UNHANDLED: &str = "sim_auth_apdu_more_data_unhandled";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APDU_WRONG_LENGTH` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub const APDU_WRONG_LENGTH: &str = "sim_auth_apdu_wrong_length";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APDU_WRONG_LENGTH_UNHANDLED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub const APDU_WRONG_LENGTH_UNHANDLED: &str = "sim_auth_apdu_wrong_length_unhandled";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APDU_INSTRUCTION_NOT_SUPPORTED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:79:15
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub const APDU_INSTRUCTION_NOT_SUPPORTED: &str = "sim_auth_apdu_instruction_not_supported";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APDU_CLASS_NOT_SUPPORTED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub const APDU_CLASS_NOT_SUPPORTED: &str = "sim_auth_apdu_class_not_supported";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APDU_PARAMETER_REJECTED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:81:15
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub const APDU_PARAMETER_REJECTED: &str = "sim_auth_apdu_parameter_rejected";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AKA_RESPONSE_EMPTY` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:82:15
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub const AKA_RESPONSE_EMPTY: &str = "sim_auth_aka_response_empty";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AKA_RESPONSE_PARSE_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:83:15
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub const AKA_RESPONSE_PARSE_FAILED: &str = "sim_auth_aka_response_parse_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AKA_RESPONSE_UNKNOWN_TAG` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:84:15
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub const AKA_RESPONSE_UNKNOWN_TAG: &str = "sim_auth_aka_response_unknown_tag";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AKA_SUCCESS_PARSE_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub const AKA_SUCCESS_PARSE_FAILED: &str = "sim_auth_aka_success_parse_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AKA_SYNC_FAILURE_PARSE_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:86:15
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub const AKA_SYNC_FAILURE_PARSE_FAILED: &str = "sim_auth_aka_sync_failure_parse_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RETRY_NOT_ATTEMPTED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub const RETRY_NOT_ATTEMPTED: &str = "sim_auth_retry_not_attempted";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_CREATE_BEARER_PREFIX` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const ARG_CREATE_BEARER_PREFIX: &str = "--create-bearer=apn=";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_CREATE_IP_TYPE` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const ARG_CREATE_IP_TYPE: &str = ",ip-type=";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_CREATE_ALLOW_ROAMING` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const ARG_CREATE_ALLOW_ROAMING: &str = ",allow-roaming=";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_DELETE_BEARER_PREFIX` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const ARG_DELETE_BEARER_PREFIX: &str = "--delete-bearer=";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_CONNECT` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 | const ARG_CONNECT: &str = "--connect";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_DISCONNECT` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const ARG_DISCONNECT: &str = "--disconnect";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_KEYVALUE` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | const ARG_KEYVALUE: &str = "-K";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_BEARER` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:57:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | const ARG_BEARER: &str = "-b";
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BEARER_PATH_PREFIX` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 59 | const BEARER_PATH_PREFIX: &str = "/org/freedesktop/ModemManager1/Bearer/";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_CONNECTED` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 | const P_CONNECTED: &str = "bearer.status.connected";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_INTERFACE` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 | const P_INTERFACE: &str = "bearer.status.interface";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_APN` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 | const P_APN: &str = "bearer.properties.apn";
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_V4_ADDRESS` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 | const P_V4_ADDRESS: &str = "bearer.ipv4-config.address";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_V4_PREFIX` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 | const P_V4_PREFIX: &str = "bearer.ipv4-config.prefix";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_V4_GATEWAY` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:66:7
[INFO] [stdout]    |
[INFO] [stdout] 66 | const P_V4_GATEWAY: &str = "bearer.ipv4-config.gateway";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_V4_DNS` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:67:7
[INFO] [stdout]    |
[INFO] [stdout] 67 | const P_V4_DNS: &str = "bearer.ipv4-config.dns";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_V6_ADDRESS` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 | const P_V6_ADDRESS: &str = "bearer.ipv6-config.address";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_V6_PREFIX` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const P_V6_PREFIX: &str = "bearer.ipv6-config.prefix";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_V6_GATEWAY` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 | const P_V6_GATEWAY: &str = "bearer.ipv6-config.gateway";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_V6_DNS` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 | const P_V6_DNS: &str = "bearer.ipv6-config.dns";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_LOCK_POISONED` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const E_LOCK_POISONED: &str = "managed_mm_data_operation_lock_poisoned";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_APN_MISSING` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 | const E_APN_MISSING: &str = "managed_mm_data_apn_missing";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_BEARER_PATH_MISSING` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:76:7
[INFO] [stdout]    |
[INFO] [stdout] 76 | const E_BEARER_PATH_MISSING: &str = "managed_mm_data_bearer_path_missing";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_BEARER_NOT_CONNECTED` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:77:7
[INFO] [stdout]    |
[INFO] [stdout] 77 | const E_BEARER_NOT_CONNECTED: &str = "managed_mm_data_bearer_not_connected";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_SETTINGS_NOT_READY` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 | const E_SETTINGS_NOT_READY: &str = "managed_mm_data_settings_not_ready";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV4_INVALID` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:79:7
[INFO] [stdout]    |
[INFO] [stdout] 79 | const E_IPV4_INVALID: &str = "managed_mm_data_ipv4_invalid";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_PREFIX_INVALID` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:80:7
[INFO] [stdout]    |
[INFO] [stdout] 80 | const E_PREFIX_INVALID: &str = "managed_mm_data_prefix_invalid";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_GATEWAY_INVALID` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | const E_GATEWAY_INVALID: &str = "managed_mm_data_gateway_invalid";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_INVALID` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const E_IPV6_INVALID: &str = "managed_mm_data_ipv6_invalid";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_GATEWAY_INVALID` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 | const E_IPV6_GATEWAY_INVALID: &str = "managed_mm_data_ipv6_gateway_invalid";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_UNEXPECTED_INTERFACE` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 | const E_UNEXPECTED_INTERFACE: &str = "managed_mm_data_unexpected_interface";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_DUAL_STACK_FAILED` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:86:7
[INFO] [stdout]    |
[INFO] [stdout] 86 | const E_DUAL_STACK_FAILED: &str = "managed_mm_data_dual_stack_failed";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV4_FAILED` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const E_IPV4_FAILED: &str = "ipv4_failed";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROUTE_METRIC` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:93:7
[INFO] [stdout]    |
[INFO] [stdout] 93 | const ROUTE_METRIC: u32 = 730;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SETTINGS_POLL_ATTEMPTS` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:96:7
[INFO] [stdout]    |
[INFO] [stdout] 96 | const SETTINGS_POLL_ATTEMPTS: u32 = 25;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `OPERATION_LOCK` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | static OPERATION_LOCK: Mutex<()> = Mutex::new(());
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IpType` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:106:10
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum IpType {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl IpType {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] 113 |     /// mmcli spelling.
[INFO] [stdout] 114 |     fn as_str(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AuthMethod` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:125:10
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub enum AuthMethod {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | impl AuthMethod {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 132 |     fn as_str(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManagedDataRequest` is never constructed
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct ManagedDataRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ipv4Config` is never constructed
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct Ipv4Config {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ipv6Config` is never constructed
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 | struct Ipv6Config {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManagedDataState` is never constructed
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct ManagedDataState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `age_secs` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:180:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | impl ManagedDataState {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 180 |     fn age_secs(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `activate` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn activate(req: &ManagedDataRequest, state: &mut ManagedDataState) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_activate` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:233:4
[INFO] [stdout]     |
[INFO] [stdout] 233 | fn try_activate(req: &ManagedDataRequest, state: &mut ManagedDataState) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_bearer` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn create_bearer(req: &ManagedDataRequest) -> Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect_bearer` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:340:4
[INFO] [stdout]     |
[INFO] [stdout] 340 | fn connect_bearer(path: &str) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_bearer` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn delete_bearer(path: &str) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_settings` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn wait_for_settings(path: &str) -> Result<std::collections::BTreeMap<String, String>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deactivate` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn deactivate(state: &mut ManagedDataState) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_before_nm` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:420:8
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub fn cleanup_before_nm(state: &mut ManagedDataState) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mmcli` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:432:4
[INFO] [stdout]     |
[INFO] [stdout] 432 | fn mmcli(args: &[&str]) -> Result<String> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_keyvalue` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:446:4
[INFO] [stdout]     |
[INFO] [stdout] 446 | fn parse_keyvalue(out: &str) -> std::collections::BTreeMap<String, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_bearer_path` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:460:4
[INFO] [stdout]     |
[INFO] [stdout] 460 | fn parse_bearer_path(out: &str) -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_ipv4` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:467:4
[INFO] [stdout]     |
[INFO] [stdout] 467 | fn parse_ipv4(p: &std::collections::BTreeMap<String, String>) -> Result<Ipv4Config> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_ipv6` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn parse_ipv6(p: &std::collections::BTreeMap<String, String>) -> Result<Ipv6Config> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ip_bin` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:531:4
[INFO] [stdout]     |
[INFO] [stdout] 531 | fn ip_bin() -> &'static str {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_ipv4` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:539:4
[INFO] [stdout]     |
[INFO] [stdout] 539 | fn configure_ipv4(iface: &str, cfg: &Ipv4Config) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_ipv6` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:561:4
[INFO] [stdout]     |
[INFO] [stdout] 561 | fn configure_ipv6(iface: &str, cfg: &Ipv6Config) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_dns` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:589:4
[INFO] [stdout]     |
[INFO] [stdout] 589 | fn configure_dns(iface: &str, v4: &Ipv4Config, v6: Option<&Ipv6Config>) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nm_active` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:616:4
[INFO] [stdout]     |
[INFO] [stdout] 616 | fn nm_active() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:624:4
[INFO] [stdout]     |
[INFO] [stdout] 624 | fn run(bin: &str, args: &[&str]) -> Result<()> {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]     --> backend/src/ota.rs:1294:5
[INFO] [stdout]      |
[INFO] [stdout] 1293 | struct BackupPlanEntry {
[INFO] [stdout]      |        --------------- field in this struct
[INFO] [stdout] 1294 |     source: String,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `BackupPlanEntry` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENV_PRIMARY_QMI_DEVICE` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi.rs:88:7
[INFO] [stdout]    |
[INFO] [stdout] 88 | const ENV_PRIMARY_QMI_DEVICE: &str = "SIMADMIN_PRIMARY_QMI_DEVICE";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_runtime_state` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub fn load_runtime_state() -> Result<SecondaryQmiEndpoint> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `primary_qmi_device` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi.rs:530:8
[INFO] [stdout]     |
[INFO] [stdout] 530 | pub fn primary_qmi_device() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_CLIENT_NO_RELEASE_CID` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 | const ARG_CLIENT_NO_RELEASE_CID: &str = "--client-no-release-cid";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_WDS_NOOP` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 | const ARG_WDS_NOOP: &str = "--wds-noop";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_CLIENT_CID_PREFIX` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 | const ARG_CLIENT_CID_PREFIX: &str = "--client-cid=";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_SET_IP_FAMILY_4` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:66:7
[INFO] [stdout]    |
[INFO] [stdout] 66 | const ARG_SET_IP_FAMILY_4: &str = "--wds-set-ip-family=4";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_SET_IP_FAMILY_6` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:67:7
[INFO] [stdout]    |
[INFO] [stdout] 67 | const ARG_SET_IP_FAMILY_6: &str = "--wds-set-ip-family=6";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_START_NETWORK_PREFIX` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 | const ARG_START_NETWORK_PREFIX: &str = "--wds-start-network=apn=";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_START_SUFFIX_V4` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const ARG_START_SUFFIX_V4: &str = ",3gpp-profile=1,ip-type=4";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_START_SUFFIX_V6` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 | const ARG_START_SUFFIX_V6: &str = ",3gpp-profile=1,ip-type=6";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_STOP_NETWORK_PREFIX` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 | const ARG_STOP_NETWORK_PREFIX: &str = "--wds-stop-network=";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_GET_CURRENT_SETTINGS` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const ARG_GET_CURRENT_SETTINGS: &str = "--wds-get-current-settings";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_GET_PACKET_SERVICE_STATUS` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 | const ARG_GET_PACKET_SERVICE_STATUS: &str = "--wds-get-packet-service-status";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARK_CID` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:76:7
[INFO] [stdout]    |
[INFO] [stdout] 76 | const MARK_CID: &str = "CID:";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARK_PACKET_DATA_HANDLE` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:77:7
[INFO] [stdout]    |
[INFO] [stdout] 77 | const MARK_PACKET_DATA_HANDLE: &str = "Packet data handle:";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARK_CONNECTED` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 | const MARK_CONNECTED: &str = "Connection status: 'connected'";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV4_ADDRESS` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | const F_IPV4_ADDRESS: &str = "IPv4 address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV4_MASK` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const F_IPV4_MASK: &str = "IPv4 subnet mask";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV4_GATEWAY` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 | const F_IPV4_GATEWAY: &str = "IPv4 gateway address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV4_DNS1` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:84:7
[INFO] [stdout]    |
[INFO] [stdout] 84 | const F_IPV4_DNS1: &str = "IPv4 primary DNS";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV4_DNS2` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 | const F_IPV4_DNS2: &str = "IPv4 secondary DNS";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV6_ADDRESS` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:86:7
[INFO] [stdout]    |
[INFO] [stdout] 86 | const F_IPV6_ADDRESS: &str = "IPv6 address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV6_GATEWAY` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const F_IPV6_GATEWAY: &str = "IPv6 gateway address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV6_DNS1` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:88:7
[INFO] [stdout]    |
[INFO] [stdout] 88 | const F_IPV6_DNS1: &str = "IPv6 primary DNS";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV6_DNS2` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:89:7
[INFO] [stdout]    |
[INFO] [stdout] 89 | const F_IPV6_DNS2: &str = "IPv6 secondary DNS";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MM_PROP_REGISTRATION_STATE` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:92:7
[INFO] [stdout]    |
[INFO] [stdout] 92 | const MM_PROP_REGISTRATION_STATE: &str = "modem.3gpp.registration-state";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_HOME` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:95:7
[INFO] [stdout]    |
[INFO] [stdout] 95 | const REG_HOME: &str = "home";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_ROAMING` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:96:7
[INFO] [stdout]    |
[INFO] [stdout] 96 | const REG_ROAMING: &str = "roaming";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_LOCK_POISONED` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout] 100 | const E_LOCK_POISONED: &str = "secondary_qmi_data_operation_lock_poisoned";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_APN_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:101:7
[INFO] [stdout]     |
[INFO] [stdout] 101 | const E_APN_MISSING: &str = "secondary_qmi_data_apn_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_CID_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:102:7
[INFO] [stdout]     |
[INFO] [stdout] 102 | const E_CID_MISSING: &str = "secondary_qmi_data_cid_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_HANDLE_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:103:7
[INFO] [stdout]     |
[INFO] [stdout] 103 | const E_HANDLE_MISSING: &str = "secondary_qmi_data_handle_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_CID_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:104:7
[INFO] [stdout]     |
[INFO] [stdout] 104 | const E_IPV6_CID_MISSING: &str = "secondary_qmi_data_ipv6_cid_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_HANDLE_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:105:7
[INFO] [stdout]     |
[INFO] [stdout] 105 | const E_IPV6_HANDLE_MISSING: &str = "secondary_qmi_data_ipv6_handle_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV4_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:106:7
[INFO] [stdout]     |
[INFO] [stdout] 106 | const E_IPV4_INVALID: &str = "secondary_qmi_data_ipv4_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_MASK_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:107:7
[INFO] [stdout]     |
[INFO] [stdout] 107 | const E_MASK_INVALID: &str = "secondary_qmi_data_mask_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_MASK_NON_CONTIGUOUS` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:108:7
[INFO] [stdout]     |
[INFO] [stdout] 108 | const E_MASK_NON_CONTIGUOUS: &str = "secondary_qmi_data_mask_non_contiguous";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_GATEWAY_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 | const E_GATEWAY_INVALID: &str = "secondary_qmi_data_gateway_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:110:7
[INFO] [stdout]     |
[INFO] [stdout] 110 | const E_IPV6_INVALID: &str = "secondary_qmi_data_ipv6_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_GATEWAY_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:111:7
[INFO] [stdout]     |
[INFO] [stdout] 111 | const E_IPV6_GATEWAY_INVALID: &str = "secondary_qmi_data_ipv6_gateway_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_PREFIX_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:112:7
[INFO] [stdout]     |
[INFO] [stdout] 112 | const E_IPV6_PREFIX_INVALID: &str = "secondary_qmi_data_ipv6_prefix_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_REG_STATE_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:113:7
[INFO] [stdout]     |
[INFO] [stdout] 113 | const E_REG_STATE_MISSING: &str = "secondary_qmi_data_registration_state_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_ROAMING_FORBIDDEN` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 | const E_ROAMING_FORBIDDEN: &str = "secondary_qmi_data_roaming_forbidden";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_REG_NOT_HOME` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:117:7
[INFO] [stdout]     |
[INFO] [stdout] 117 | const E_REG_NOT_HOME: &str = "secondary_qmi_data_registration_not_home";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_DEVICE_UNAVAILABLE` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 | const E_DEVICE_UNAVAILABLE: &str = "secondary_qmi_device_unavailable";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_DATA6_START_FAILED` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:119:7
[INFO] [stdout]     |
[INFO] [stdout] 119 | const E_DATA6_START_FAILED: &str = "secondary_qmi_data6_start_failed";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROUTE_METRIC` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:126:7
[INFO] [stdout]     |
[INFO] [stdout] 126 | const ROUTE_METRIC: u32 = 729;
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `OPERATION_LOCK` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | static OPERATION_LOCK: Mutex<()> = Mutex::new(());
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WdsSession` is never constructed
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct WdsSession {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ipv4Config` is never constructed
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | struct Ipv4Config {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ipv6Config` is never constructed
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:156:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | struct Ipv6Config {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecondaryDataState` is never constructed
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub struct SecondaryDataState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `age_secs` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl SecondaryDataState {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 179 |     fn age_secs(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecondaryDataRequest` is never constructed
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct SecondaryDataRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `activate` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn activate(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `IpFamily` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:318:6
[INFO] [stdout]     |
[INFO] [stdout] 318 | enum IpFamily {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_family_arg`, `start_suffix`, `cid_missing_err`, and `handle_missing_err` are never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:324:8
[INFO] [stdout]     |
[INFO] [stdout] 323 | impl IpFamily {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 324 |     fn set_family_arg(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     fn start_suffix(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     fn cid_missing_err(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |     fn handle_missing_err(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_session` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:351:4
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn start_session(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stop_session` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:381:4
[INFO] [stdout]     |
[INFO] [stdout] 381 | fn stop_session(ep: &SecondaryQmiEndpoint, s: WdsSession) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deactivate` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:393:8
[INFO] [stdout]     |
[INFO] [stdout] 393 | pub fn deactivate(state: &mut SecondaryDataState) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_connected` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:436:8
[INFO] [stdout]     |
[INFO] [stdout] 436 | pub fn is_connected(ep: &SecondaryQmiEndpoint, s: WdsSession) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `qmicli` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:448:4
[INFO] [stdout]     |
[INFO] [stdout] 448 | fn qmicli(ep: &SecondaryQmiEndpoint, args: &[&str]) -> Result<String> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_cid` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:465:4
[INFO] [stdout]     |
[INFO] [stdout] 465 | fn parse_cid(out: &str) -> Option<u32> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_packet_data_handle` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:475:4
[INFO] [stdout]     |
[INFO] [stdout] 475 | fn parse_packet_data_handle(out: &str) -> Option<u64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `field` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:485:4
[INFO] [stdout]     |
[INFO] [stdout] 485 | fn field<'a>(out: &'a str, label: &str) -> Option<&'a str> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_ipv4_settings` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:498:4
[INFO] [stdout]     |
[INFO] [stdout] 498 | fn read_ipv4_settings(ep: &SecondaryQmiEndpoint, cid: u32) -> Result<Ipv4Config> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_ipv6_settings` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:528:4
[INFO] [stdout]     |
[INFO] [stdout] 528 | fn read_ipv6_settings(ep: &SecondaryQmiEndpoint, cid: u32) -> Result<Ipv6Config> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mask_to_prefix` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:567:4
[INFO] [stdout]     |
[INFO] [stdout] 567 | fn mask_to_prefix(mask: Ipv4Addr) -> Option<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ip_bin` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:584:4
[INFO] [stdout]     |
[INFO] [stdout] 584 | fn ip_bin() -> &'static str {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_ipv4` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:592:4
[INFO] [stdout]     |
[INFO] [stdout] 592 | fn configure_ipv4(netdev: &str, cfg: &Ipv4Config) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_ipv6` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:615:4
[INFO] [stdout]     |
[INFO] [stdout] 615 | fn configure_ipv6(netdev: &str, cfg: &Ipv6Config) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flush_interface` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:653:4
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn flush_interface(netdev: &str) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_dns` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:662:4
[INFO] [stdout]     |
[INFO] [stdout] 662 | fn configure_dns(netdev: &str, v4: &Ipv4Config, v6: Option<&Ipv6Config>) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nm_active` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:693:4
[INFO] [stdout]     |
[INFO] [stdout] 693 | fn nm_active() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_registration_state` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:701:4
[INFO] [stdout]     |
[INFO] [stdout] 701 | fn read_registration_state() -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:717:4
[INFO] [stdout]     |
[INFO] [stdout] 717 | fn run(bin: &str, args: &[&str]) -> Result<()> {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MT_SIP_PORT` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const MT_SIP_PORT: u16 = 47482;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LISTENER_STARTED` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | static LISTENER_STARTED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RECENT_TTL` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const RECENT_TTL: std::time::Duration = std::time::Duration::from_secs(300);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recent_seen` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn recent_seen(sender: &str, text: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remember_recent` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn remember_recent(sender: &str, text: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_mt_listener` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn spawn_mt_listener(ue: String, db: Arc<Database>, notifier: Arc<NotificationSender>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | async fn run(db: Arc<Database>, notifier: Arc<NotificationSender>) -> Result<(), String> {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_reuse` is never used
[INFO] [stdout]    --> backend/src/sip_listener.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn bind_reuse(ue: &str) -> Result<UdpSocket, String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_packet` is never used
[INFO] [stdout]    --> backend/src/sip_listener.rs:149:10
[INFO] [stdout]     |
[INFO] [stdout] 149 | async fn handle_packet(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_sip` is never used
[INFO] [stdout]    --> backend/src/sip_listener.rs:272:4
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn split_sip(data: &[u8]) -> Option<(String, &[u8])> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_response` is never used
[INFO] [stdout]    --> backend/src/sip_listener.rs:291:4
[INFO] [stdout]     |
[INFO] [stdout] 291 | fn build_response(head: &str, rp_ack: Option<u8>, status: &str) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMS_DOMAIN_PREFIX` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const IMS_DOMAIN_PREFIX: &str = "ims.mnc";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMS_DOMAIN_MID` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const IMS_DOMAIN_MID: &str = ".mcc";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMS_DOMAIN_SUFFIX` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const IMS_DOMAIN_SUFFIX: &str = ".3gppnetwork.org";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_READY_MARKER` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const QMI_READY_MARKER: &str = "/run/qmi_auto_activate.ready";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENV_MM_IMS_BEARER` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const ENV_MM_IMS_BEARER: &str = "SIMADMIN_MM_IMS_BEARER";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IP_BIN_CANDIDATES` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const IP_BIN_CANDIDATES: [&str; 2] = ["/bin/ip", "/usr/bin/ip"];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIP_VERSION` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const SIP_VERSION: &str = "SIP/2.0";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_EXPIRES_SECS` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const REGISTER_EXPIRES_SECS: u32 = 3600;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIP_RECV_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const SIP_RECV_TIMEOUT: Duration = Duration::from_secs(10);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VolteConfig` is never constructed
[INFO] [stdout]    --> backend/src/volte/mod.rs:257:12
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub struct VolteConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ApnProtocol` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:284:10
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub enum ApnProtocol {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_cgdcont` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl ApnProtocol {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 291 |     /// `AT+CGDCONT=<cid>,"<this>","ims"`
[INFO] [stdout] 292 |     pub fn as_cgdcont(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImsFamily` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:303:10
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub enum ImsFamily {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ip_bin` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:313:8
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub fn ip_bin() -> Result<&'static str, String> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_hex` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:326:8
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub fn parse_hex(s: &str) -> Result<Vec<u8>, String> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ims_domain` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:345:8
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub fn ims_domain(mcc: &str, mnc: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ims_apn` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:352:8
[INFO] [stdout]     |
[INFO] [stdout] 352 | pub fn ims_apn(mcc: &str, mnc: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DigestAlgorithm` is never used
[INFO] [stdout]   --> backend/src/volte/aka.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum DigestAlgorithm {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `as_str`, `parse`, and `is_aka` are never used
[INFO] [stdout]   --> backend/src/volte/aka.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl DigestAlgorithm {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 38 |     pub fn as_str(self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn parse(s: &str) -> Result<Self, String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn is_aka(self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AKAV2_PASSWORD_LABEL` is never used
[INFO] [stdout]   --> backend/src/volte/aka.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const AKAV2_PASSWORD_LABEL: &str = "http-digest-akav2-password";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DigestChallenge` is never constructed
[INFO] [stdout]   --> backend/src/volte/aka.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct DigestChallenge {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AkaChallenge` is never constructed
[INFO] [stdout]   --> backend/src/volte/aka.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct AkaChallenge {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AkaResult` is never used
[INFO] [stdout]   --> backend/src/volte/aka.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub enum AkaResult {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_challenge` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub fn parse_challenge(header_value: &str) -> Result<DigestChallenge, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aka_challenge_from_nonce` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn aka_challenge_from_nonce(nonce: &[u8]) -> Result<AkaChallenge, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_aka_result` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:176:8
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub fn validate_aka_result(r: &AkaResult, ipsec: bool) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_password` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:212:8
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub fn digest_password(alg: DigestAlgorithm, res: &[u8], ck: &[u8], ik: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_response` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn digest_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `authorization_header` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:280:8
[INFO] [stdout]     |
[INFO] [stdout] 280 | pub fn authorization_header(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NONCE_COUNT` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:312:11
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub const NONCE_COUNT: &str = "00000001";
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_params` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:319:4
[INFO] [stdout]     |
[INFO] [stdout] 319 | fn split_params(s: &str) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unquote` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:341:4
[INFO] [stdout]     |
[INFO] [stdout] 341 | fn unquote(s: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn hex(b: &[u8]) -> String {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `md5` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:351:4
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn md5(data: &[u8]) -> [u8; 16] {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hmac_md5` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn hmac_md5(key: &[u8], data: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base64_encode` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:378:4
[INFO] [stdout]     |
[INFO] [stdout] 378 | fn base64_encode(b: &[u8]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base64_decode` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:394:4
[INFO] [stdout]     |
[INFO] [stdout] 394 | fn base64_decode(s: &str) -> Result<Vec<u8>, ()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:429:11
[INFO] [stdout]     |
[INFO] [stdout] 429 |     const S: [u32; 64] = [
[INFO] [stdout]     |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:435:12
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub fn compute(input: &[u8]) -> [u8; 16] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMS_APN_LABEL` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const IMS_APN_LABEL: &str = "ims";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_MARKER_WAIT` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const QMI_MARKER_WAIT: Duration = Duration::from_secs(30);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODEM_PRESENT_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const MODEM_PRESENT_TIMEOUT: Duration = Duration::from_secs(60);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODEM_READY_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const MODEM_READY_TIMEOUT: Duration = Duration::from_secs(45);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `at_define_context` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn at_define_context(cid: u32, proto: ApnProtocol) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `at_activate_context` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn at_activate_context(cid: u32) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `at_deactivate_context` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn at_deactivate_context(cid: u32) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `at_context_address` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn at_context_address(cid: u32) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_LIST_CONTEXTS` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const AT_LIST_CONTEXTS: &str = "AT+CGDCONT?";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_LIST_ACTIVE` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const AT_LIST_ACTIVE: &str = "AT+CGACT?";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_ACTIVATE_PREFIX` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const AT_ACTIVATE_PREFIX: &str = "AT+CGACT=1,";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImsProfileLease` is never constructed
[INFO] [stdout]   --> backend/src/volte/bearer.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct ImsProfileLease {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pick_profile` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn pick_profile(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_defined_contexts` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn parse_defined_contexts(response: &str) -> Vec<(u32, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_active_contexts` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn parse_active_contexts(response: &str) -> Vec<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mmcli_create_ims_bearer` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn mmcli_create_ims_bearer(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `qmicli_start_ims_network` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn qmicli_start_ims_network(apn: &str, cid: u32, family: ImsFamily) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImsBearer` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub enum ImsBearer {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `interface`, `local`, `gateway`, `prefix`, `pcscf`, and `slot` are never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 203 | impl ImsBearer {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 204 |     pub fn interface(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn local(&self) -> IpAddr {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn gateway(&self) -> Option<IpAddr> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn prefix(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn pcscf(&self) -> &[IpAddr] {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn slot(&self) -> ImsSlot {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `qmi_marker_present` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub fn qmi_marker_present() -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `qmi_marker_age_secs` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:255:8
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub fn qmi_marker_age_secs() -> Option<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ModemReadiness` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:263:10
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub enum ModemReadiness {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify_modem_state` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:277:8
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub fn classify_modem_state(state: &str) -> ModemReadiness {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_roaming` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:290:8
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub fn check_roaming(state: &str, roaming_allowed: bool) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `should_recreate_bearer` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn should_recreate_bearer(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fallback_families` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:323:8
[INFO] [stdout]     |
[INFO] [stdout] 323 | pub fn fallback_families(granted_v4: bool, granted_v6: bool) -> Vec<ImsFamily> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MncLengthSource` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum MncLengthSource {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl MncLengthSource {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 44 |     /// beta8 token spellings. Not emitted by beta9.
[INFO] [stdout] 45 |     pub fn as_str(self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImsIdentity` is never constructed
[INFO] [stdout]   --> backend/src/volte/identity.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct ImsIdentity {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FALLBACK_USIM_AID` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const FALLBACK_USIM_AID: [u8; 7] = [0xA0, 0x00, 0x00, 0x00, 0x87, 0x10, 0x02];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_CIMI` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const AT_CIMI: &str = "AT+CIMI";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_CRSM_EF_AD` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const AT_CRSM_EF_AD: &str = "AT+CRSM=176,28589,0,0,4";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_CARD_STATUS` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const QMI_CARD_STATUS: &str = "--uim-get-card-status";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_READ_EF_AD` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub const QMI_READ_EF_AD: &str = "--uim-read-transparent=0x3F00,0x7FFF,0x6FAD";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `L_APPLICATION_TYPE` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:93:7
[INFO] [stdout]    |
[INFO] [stdout] 93 | const L_APPLICATION_TYPE: &str = "application type:";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `L_APPLICATION_ID` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:94:7
[INFO] [stdout]    |
[INFO] [stdout] 94 | const L_APPLICATION_ID: &str = "application id:";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `V_USIM` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:96:7
[INFO] [stdout]    |
[INFO] [stdout] 96 | const V_USIM: &str = "usim";
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_imsi` is never used
[INFO] [stdout]    --> backend/src/volte/identity.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub fn split_imsi(imsi: &str, mnc_len: usize) -> Result<(String, String), String> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mnc_length` is never used
[INFO] [stdout]    --> backend/src/volte/identity.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn mnc_length(ef_ad: Option<&[u8]>, mcc: &str, mm_operator_code: Option<&str>) -> (usize, MncLengthSource) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build` is never used
[INFO] [stdout]    --> backend/src/volte/identity.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub fn build(
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_usim_aid` is never used
[INFO] [stdout]    --> backend/src/volte/identity.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub fn parse_usim_aid(card_status: &str) -> Result<Vec<u8>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `own_number_from_p_associated_uri` is never used
[INFO] [stdout]    --> backend/src/volte/identity.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 217 | pub fn own_number_from_p_associated_uri(header: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normalise_uri` is never used
[INFO] [stdout]    --> backend/src/volte/identity.rs:263:4
[INFO] [stdout]     |
[INFO] [stdout] 263 | fn normalise_uri(part: &str) -> &str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `same_sim` is never used
[INFO] [stdout]    --> backend/src/volte/identity.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub fn same_sim(registered_imsi: &str, current_imsi: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALG_HMAC_MD5_96` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const ALG_HMAC_MD5_96: &str = "hmac-md5-96";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EALG_NULL` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const EALG_NULL: &str = "null";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROT_ESP` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const PROT_ESP: &str = "prot=esp";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOD_TRANS` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const MOD_TRANS: &str = "mod=trans";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `XFRM_AUTH_ALG` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const XFRM_AUTH_ALG: &str = "hmac(md5)";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `XFRM_AUTH_TRUNC_BITS` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const XFRM_AUTH_TRUNC_BITS: u32 = 96;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `XFRM_ENC_ALG` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const XFRM_ENC_ALG: &str = "cipher_null";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MECHANISM_IPSEC_3GPP` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const MECHANISM_IPSEC_3GPP: &str = "ipsec-3gpp";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_SECURITY_CLIENT` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const H_SECURITY_CLIENT: &str = "Security-Client";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_SECURITY_VERIFY` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const H_SECURITY_VERIFY: &str = "Security-Verify";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_SECURITY_SERVER` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const H_SECURITY_SERVER: &str = "security-server";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_REQUIRE` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const H_REQUIRE: &str = "Require";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_PROXY_REQUIRE` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const H_PROXY_REQUIRE: &str = "Proxy-Require";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEC_AGREE` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const SEC_AGREE: &str = "sec-agree";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_MECHANISM` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const P_MECHANISM: &str = "mechanism";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SPI_C` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const P_SPI_C: &str = "spi-c";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SPI_S` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const P_SPI_S: &str = "spi-s";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_PORT_C` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const P_PORT_C: &str = "port-c";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_PORT_S` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const P_PORT_S: &str = "port-s";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UE_PORT_MIN` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const UE_PORT_MIN: u16 = 40000;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UE_PORT_MAX` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const UE_PORT_MAX: u16 = 60000;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecurityClient` is never constructed
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct SecurityClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_header` is never used
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl SecurityClient {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn to_header(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecurityServer` is never constructed
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct SecurityServer {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_security_server` is never used
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn parse_security_server(header_value: &str) -> Result<SecurityServer, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `security_verify_header` is never used
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn security_verify_header(server: &SecurityServer) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IpsecContext` is never constructed
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct IpsecContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `local_send_port`, `local_receive_port`, `remote_server_port`, and `remote_client_port` are never used
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl IpsecContext {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 207 |     /// UE socket used to send protected requests.
[INFO] [stdout] 208 |     pub fn local_send_port(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn local_receive_port(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn remote_server_port(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn remote_client_port(&self) -> u16 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `install` is never used
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn install(ctx: &IpsecContext) -> Result<Vec<Vec<String>>, String> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `state_add` is never used
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:264:4
[INFO] [stdout]     |
[INFO] [stdout] 264 | fn state_add(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `policy_add` is never used
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:286:4
[INFO] [stdout]     |
[INFO] [stdout] 286 | fn policy_add(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `teardown` is never used
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub fn teardown() -> Result<Vec<Vec<String>>, String> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `require_ipv6` is never used
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:323:8
[INFO] [stdout]     |
[INFO] [stdout] 323 | pub fn require_ipv6(addr: IpAddr) -> Result<Ipv6Addr, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `at_enable_pcscf_reporting` is never used
[INFO] [stdout]   --> backend/src/volte/pcscf.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn at_enable_pcscf_reporting(cid: u32) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `at_disable_pcscf_reporting` is never used
[INFO] [stdout]   --> backend/src/volte/pcscf.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn at_disable_pcscf_reporting(cid: u32) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `at_read_dynamic_params` is never used
[INFO] [stdout]   --> backend/src/volte/pcscf.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn at_read_dynamic_params(cid: u32) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PcscfSource` is never used
[INFO] [stdout]   --> backend/src/volte/pcscf.rs:52:10
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub enum PcscfSource {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `log_message` is never used
[INFO] [stdout]   --> backend/src/volte/pcscf.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl PcscfSource {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 64 |     pub fn log_message(self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PcscfCandidate` is never constructed
[INFO] [stdout]   --> backend/src/volte/pcscf.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct PcscfCandidate {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImsBearerAddressing` is never constructed
[INFO] [stdout]   --> backend/src/volte/pcscf.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct ImsBearerAddressing {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `family` is never used
[INFO] [stdout]   --> backend/src/volte/pcscf.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl ImsBearerAddressing {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] 92 |     pub fn family(&self) -> ImsFamily {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_cgcontrdp` is never used
[INFO] [stdout]    --> backend/src/volte/pcscf.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn parse_cgcontrdp(response: &str) -> Result<(IpAddr, Option<IpAddr>, Vec<IpAddr>), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_at_addr` is never used
[INFO] [stdout]    --> backend/src/volte/pcscf.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub fn parse_at_addr(s: &str) -> Option<IpAddr> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_by_family` is never used
[INFO] [stdout]    --> backend/src/volte/pcscf.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub fn filter_by_family(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_candidates` is never used
[INFO] [stdout]    --> backend/src/volte/pcscf.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub fn collect_candidates(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `route_commands` is never used
[INFO] [stdout]    --> backend/src/volte/pcscf.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub fn route_commands(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `require_gateway` is never used
[INFO] [stdout]    --> backend/src/volte/pcscf.rs:298:8
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub fn require_gateway(bearer: &ImsBearerAddressing) -> Result<IpAddr, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> backend/src/volte/runtime.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum Stage {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 64 |     Identity,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 65 |     /// USIM AID resolution + AKA capability probe.
[INFO] [stdout] 66 |     IdentityAka,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 67 |     /// Waiting for radio attach.
[INFO] [stdout] 68 |     Radio,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 69 |     /// Waiting for ModemManager to expose a usable modem.
[INFO] [stdout] 70 |     Modem,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 71 |     /// Creating the IMS PDP context and bearer.
[INFO] [stdout] 72 |     Bearer,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 73 |     /// Discovering P-CSCF and installing routes.
[INFO] [stdout] 74 |     Pcscf,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     RegisterUdp,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Stage` 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 `PlainUdp` is never constructed
[INFO] [stdout]    --> backend/src/volte/runtime.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub enum RegistrationMode {
[INFO] [stdout]     |          ---------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 107 |     PlainUdp,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RegistrationMode` 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 `success_message` and `refresh_message` are never used
[INFO] [stdout]    --> backend/src/volte/runtime.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl RegistrationMode {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn success_message(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn refresh_message(self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SendSms` and `Stop` are never constructed
[INFO] [stdout]    --> backend/src/volte/runtime.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum RuntimeCommand {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 184 |     /// Send an SMS through the IMS runtime.
[INFO] [stdout] 185 |     SendSms { to: String, body: String },
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     Stop,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeCommand` 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: constant `REFRESH_INTERVAL` is never used
[INFO] [stdout]    --> backend/src/volte/runtime.rs:196:11
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub const REFRESH_INTERVAL: Duration = Duration::from_secs(1800);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/runtime.rs:204:11
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub const COMMAND_TIMEOUT: Duration = Duration::from_secs(30);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HealthVerdict` is never used
[INFO] [stdout]    --> backend/src/volte/runtime.rs:219:10
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub enum HealthVerdict {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MmHealthInputs` is never constructed
[INFO] [stdout]    --> backend/src/volte/runtime.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub struct MmHealthInputs {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QmiHealthInputs` is never constructed
[INFO] [stdout]    --> backend/src/volte/runtime.rs:244:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub struct QmiHealthInputs {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_mm_health` is never used
[INFO] [stdout]    --> backend/src/volte/runtime.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn check_mm_health(i: &MmHealthInputs) -> HealthVerdict {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_qmi_health` is never used
[INFO] [stdout]    --> backend/src/volte/runtime.rs:274:8
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub fn check_qmi_health(i: &QmiHealthInputs) -> HealthVerdict {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sms_enabled` is never read
[INFO] [stdout]    --> backend/src/volte/runtime.rs:305:5
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub struct VolteSupervisor {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 305 |     sms_enabled: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VolteSupervisor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sms_enabled`, `sms_gate`, and `apply_health` are never used
[INFO] [stdout]    --> backend/src/volte/runtime.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 308 | impl VolteSupervisor {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn sms_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn sms_gate(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     pub fn apply_health(&mut self, v: &HealthVerdict, now_unix: u64) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_ALLOW` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const H_ALLOW: &str =
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_SUPPORTED` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const H_SUPPORTED: &str = "Supported: path, gruu";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_REQUIRE_SEC_AGREE` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const H_REQUIRE_SEC_AGREE: &str = "Require: sec-agree";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_PROXY_REQUIRE_SEC_AGREE` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const H_PROXY_REQUIRE_SEC_AGREE: &str = "Proxy-Require: sec-agree";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_PANI_EUTRAN` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const H_PANI_EUTRAN: &str = "P-Access-Network-Info: 3GPP-E-UTRAN-FDD";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_ACCEPT_CONTACT_SMSIP` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const H_ACCEPT_CONTACT_SMSIP: &str = "Accept-Contact: *;+g.3gpp.smsip";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_PREFERRED_SERVICE_SMS` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const H_PREFERRED_SERVICE_SMS: &str =
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_USER_AGENT` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const H_USER_AGENT: &str = "User-Agent: SimAdmin VoLTE";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_CONTENT_TYPE_3GPP_SMS` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const H_CONTENT_TYPE_3GPP_SMS: &str = "Content-Type: application/vnd.3gpp.sms";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_CONTENT_LENGTH_ZERO` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const H_CONTENT_LENGTH_ZERO: &str = "Content-Length: 0";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_MAX_FORWARDS` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const H_MAX_FORWARDS: &str = "Max-Forwards: 70";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BRANCH_MAGIC` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const BRANCH_MAGIC: &str = "z9hG4bK";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Method` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum Method {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Method {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 59 |     pub fn as_str(self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Response` is never constructed
[INFO] [stdout]   --> backend/src/volte/sip.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct Response {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `header`, `headers_all`, and `require_header` are never used
[INFO] [stdout]    --> backend/src/volte/sip.rs:83:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl Response {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout]  82 |     /// First header matching `name`, case-insensitive.
[INFO] [stdout]  83 |     pub fn header(&self, name: &str) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn headers_all(&self, name: &str) -> Vec<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn require_header(&self, name: &str) -> Result<&str, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_response` is never used
[INFO] [stdout]    --> backend/src/volte/sip.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn parse_response(raw: &[u8]) -> Result<Response, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_head_body` is never used
[INFO] [stdout]    --> backend/src/volte/sip.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn split_head_body(raw: &[u8]) -> (&[u8], &[u8]) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find` is never used
[INFO] [stdout]    --> backend/src/volte/sip.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn find(hay: &[u8], needle: &[u8]) -> Option<usize> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RegisterParams` is never constructed
[INFO] [stdout]    --> backend/src/volte/sip.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct RegisterParams<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_register` is never used
[INFO] [stdout]    --> backend/src/volte/sip.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn build_register(p: &RegisterParams) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AcceptanceHeaders` is never constructed
[INFO] [stdout]    --> backend/src/volte/sip.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct AcceptanceHeaders {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `acceptance_headers` is never used
[INFO] [stdout]    --> backend/src/volte/sip.rs:303:8
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub fn acceptance_headers(r: &Response) -> AcceptanceHeaders {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessageParams` is never constructed
[INFO] [stdout]    --> backend/src/volte/sip.rs:328:12
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub struct MessageParams<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_message` is never used
[INFO] [stdout]    --> backend/src/volte/sip.rs:345:8
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub fn build_message(p: &MessageParams) -> (String, Vec<u8>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recipient_variants` is never used
[INFO] [stdout]    --> backend/src/volte/sip.rs:378:8
[INFO] [stdout]     |
[INFO] [stdout] 378 | pub fn recipient_variants(number: &str, home_domain: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_ok` is never used
[INFO] [stdout]    --> backend/src/volte/sip.rs:389:8
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub fn build_ok(req: &Response, contact_host: &str, contact_port: u16) -> String {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ImsSlot` is never used
[INFO] [stdout]   --> backend/src/volte/slot.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum ImsSlot {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `log_message` is never used
[INFO] [stdout]   --> backend/src/volte/slot.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl ImsSlot {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 75 |     /// Human-readable log line, verbatim from .rodata.
[INFO] [stdout] 76 |     pub fn log_message(self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SlotAllocation` is never constructed
[INFO] [stdout]   --> backend/src/volte/slot.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct SlotAllocation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SlotInputs` is never constructed
[INFO] [stdout]   --> backend/src/volte/slot.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub struct SlotInputs {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate` is never used
[INFO] [stdout]    --> backend/src/volte/slot.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn allocate(inp: SlotInputs) -> Result<SlotAllocation, String> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_EMPTY` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub const COMMAND_EMPTY: &str = "volte_command_empty";
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_FAILED` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub const COMMAND_FAILED: &str = "volte_command_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_SPAWN_FAILED` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub const COMMAND_SPAWN_FAILED: &str = "volte_command_spawn_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub const COMMAND_TIMEOUT: &str = "volte_command_timeout";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_WAIT_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub const COMMAND_WAIT_FAILED: &str = "volte_command_wait_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEPENDENCY_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:101:15
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub const DEPENDENCY_MISSING: &str = "volte_dependency_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_READ_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub const AT_READ_FAILED: &str = "volte_at_read_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_WRITE_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub const AT_WRITE_FAILED: &str = "volte_at_write_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub const AT_TIMEOUT: &str = "volte_at_timeout";
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IMSI_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:109:15
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub const IMSI_MISSING: &str = "volte_imsi_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MM_IMSI_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub const MM_IMSI_MISSING: &str = "volte_mm_imsi_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMSC_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub const SMSC_MISSING: &str = "volte_smsc_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PHONE_URI_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub const PHONE_URI_INVALID: &str = "volte_phone_uri_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USIM_AID_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub const USIM_AID_MISSING: &str = "volte_usim_aid_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USIM_AID_NOT_USIM` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub const USIM_AID_NOT_USIM: &str = "volte_usim_aid_not_usim";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USIM_AKA_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub const USIM_AKA_FAILED: &str = "volte_usim_aka_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MM_SIM_PATH_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub const MM_SIM_PATH_MISSING: &str = "volte_mm_sim_path_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MM_SIM_PATH_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub const MM_SIM_PATH_INVALID: &str = "volte_mm_sim_path_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AKA_MATERIAL_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:120:15
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub const AKA_MATERIAL_INVALID: &str = "volte_aka_material_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AKA_RES_EMPTY` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:121:15
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub const AKA_RES_EMPTY: &str = "volte_aka_res_empty";
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_AKA_RES_EMPTY` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub const IPSEC_AKA_RES_EMPTY: &str = "volte_ipsec_aka_res_empty";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_AKA_RES_EMPTY_WITHOUT_AUTS` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub const IPSEC_AKA_RES_EMPTY_WITHOUT_AUTS: &str = "volte_ipsec_aka_res_empty_without_auts";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIGEST_CHALLENGE_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:124:15
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub const DIGEST_CHALLENGE_MISSING: &str = "volte_digest_challenge_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIGEST_NONCE_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub const DIGEST_NONCE_MISSING: &str = "volte_digest_nonce_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIGEST_NONCE_DECODE_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:126:15
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub const DIGEST_NONCE_DECODE_FAILED: &str = "volte_digest_nonce_decode_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIGEST_REALM_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:127:15
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub const DIGEST_REALM_MISSING: &str = "volte_digest_realm_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIGEST_QOP_UNSUPPORTED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:128:15
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub const DIGEST_QOP_UNSUPPORTED: &str = "volte_digest_qop_unsupported";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIGEST_ALGORITHM_UNSUPPORTED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:129:15
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub const DIGEST_ALGORITHM_UNSUPPORTED: &str = "volte_digest_algorithm_unsupported";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_NONCE_NOT_AKA` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:130:15
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub const REGISTER_NONCE_NOT_AKA: &str = "volte_register_nonce_not_aka";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIP_STATUS_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:133:15
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub const SIP_STATUS_INVALID: &str = "volte_sip_status_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIP_STATUS_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:134:15
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub const SIP_STATUS_MISSING: &str = "volte_sip_status_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIP_HEADER_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub const SIP_HEADER_MISSING: &str = "volte_sip_header_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIP_HEADER_NOT_UTF8` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:136:15
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub const SIP_HEADER_NOT_UTF8: &str = "volte_sip_header_not_utf8";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIP_NOT_UTF8` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub const SIP_NOT_UTF8: &str = "volte_sip_not_utf8";
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub const REGISTER_SEND_FAILED: &str = "volte_register_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_INITIAL_UNEXPECTED_STATUS` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub const REGISTER_INITIAL_UNEXPECTED_STATUS: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_AUTH_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub const REGISTER_AUTH_SEND_FAILED: &str = "volte_register_auth_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_AUTH_UNEXPECTED_STATUS` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:142:15
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub const REGISTER_AUTH_UNEXPECTED_STATUS: &str = "volte_register_auth_unexpected_status";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_REQUIRES_IPV6` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:145:15
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub const IPSEC_REQUIRES_IPV6: &str = "volte_ipsec_requires_ipv6";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_IK_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:146:15
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub const IPSEC_IK_INVALID: &str = "volte_ipsec_ik_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_UDP_BIND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:147:15
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub const IPSEC_UDP_BIND_FAILED: &str = "volte_ipsec_udp_bind_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_SEND_UDP_BIND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:148:15
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub const IPSEC_SEND_UDP_BIND_FAILED: &str = "volte_ipsec_send_udp_bind_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_RECV_UDP_BIND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub const IPSEC_RECV_UDP_BIND_FAILED: &str = "volte_ipsec_recv_udp_bind_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_REGISTER_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub const IPSEC_REGISTER_SEND_FAILED: &str = "volte_ipsec_register_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_REGISTER_INITIAL_UNEXPECTED_STATUS` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:151:15
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub const IPSEC_REGISTER_INITIAL_UNEXPECTED_STATUS: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_REGISTER_AUTH_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:153:15
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub const IPSEC_REGISTER_AUTH_SEND_FAILED: &str = "volte_ipsec_register_auth_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_REGISTER_AUTH_UNEXPECTED_STATUS` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:154:15
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub const IPSEC_REGISTER_AUTH_UNEXPECTED_STATUS: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_AUTS_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:156:15
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub const IPSEC_AUTS_SEND_FAILED: &str = "volte_ipsec_auts_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_AUTS_UNEXPECTED_STATUS` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:157:15
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub const IPSEC_AUTS_UNEXPECTED_STATUS: &str = "volte_ipsec_auts_unexpected_status";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECURITY_SERVER_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:158:15
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub const SECURITY_SERVER_MISSING: &str = "volte_security_server_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANDOM_SPI_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:159:15
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub const RANDOM_SPI_INVALID: &str = "volte_random_spi_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANDOM_PORT_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:160:15
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub const RANDOM_PORT_INVALID: &str = "volte_random_port_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANDOM_PORT_RANGE_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:161:15
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub const RANDOM_PORT_RANGE_INVALID: &str = "volte_random_port_range_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANDOM_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:162:15
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub const RANDOM_FAILED: &str = "volte_random_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_ACTIVATION_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:165:15
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub const DATA_ACTIVATION_FAILED: &str = "volte_data_activation_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA6_ACTIVATION_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:166:15
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub const DATA6_ACTIVATION_FAILED: &str = "volte_data6_activation_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA6_START_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub const DATA6_START_FAILED: &str = "volte_data6_start_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_PATH_APN_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:168:15
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub const DATA_PATH_APN_MISSING: &str = "volte_data_path_apn_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SLOT_CONFLICT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:169:15
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub const DATA_SLOT_CONFLICT: &str = "volte_data_slot_conflict";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_SLOT_MODE_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:170:15
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub const DATA_SLOT_MODE_MISSING: &str = "volte_data_slot_mode_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WDS_CID_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:171:15
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub const WDS_CID_MISSING: &str = "volte_wds_cid_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WDS_HANDLE_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:172:15
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub const WDS_HANDLE_MISSING: &str = "volte_wds_handle_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDARY_QMI_SETTINGS_NOT_READY` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:173:15
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub const SECONDARY_QMI_SETTINGS_NOT_READY: &str = "volte_secondary_qmi_settings_not_ready";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IP_SETTINGS_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:174:15
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub const IP_SETTINGS_MISSING: &str = "volte_ip_settings_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPV6_GATEWAY_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:175:15
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub const IPV6_GATEWAY_MISSING: &str = "volte_ipv6_gateway_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CGCONTRDP_IPV6_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:176:15
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub const CGCONTRDP_IPV6_MISSING: &str = "volte_cgcontrdp_ipv6_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CGCONTRDP_GATEWAY_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:177:15
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub const CGCONTRDP_GATEWAY_MISSING: &str = "volte_cgcontrdp_gateway_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PCSCF_FAMILY_MISMATCH` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:180:15
[INFO] [stdout]     |
[INFO] [stdout] 180 |     pub const PCSCF_FAMILY_MISMATCH: &str = "volte_pcscf_family_mismatch";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_ALL_PCSCF_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:181:15
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub const RUNTIME_ALL_PCSCF_FAILED: &str = "volte_runtime_all_pcscf_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_PCSCF_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:182:15
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub const RUNTIME_MM_PCSCF_MISSING: &str = "volte_runtime_mm_pcscf_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_PCSCF_SETUP_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:183:15
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub const RUNTIME_MM_PCSCF_SETUP_FAILED: &str = "volte_runtime_mm_pcscf_setup_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_PROFILE_PCSCF_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:184:15
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub const RUNTIME_PROFILE_PCSCF_MISSING: &str = "volte_runtime_profile_pcscf_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMS_DISABLED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:188:15
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub const SMS_DISABLED: &str = "volte_sms_disabled";
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_SEND_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:190:15
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub const RUNTIME_SEND_TIMEOUT: &str = "volte_runtime_send_timeout";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_REPLY_CLOSED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:192:15
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub const RUNTIME_REPLY_CLOSED: &str = "volte_runtime_reply_closed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_JOIN_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub const RUNTIME_JOIN_FAILED: &str = "volte_runtime_join_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_UDP_BIND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:194:15
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub const RUNTIME_UDP_BIND_FAILED: &str = "volte_runtime_udp_bind_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_UDP_TIMEOUT_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub const RUNTIME_UDP_TIMEOUT_FAILED: &str = "volte_runtime_udp_timeout_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UDP_RECV_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:196:15
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub const UDP_RECV_FAILED: &str = "volte_udp_recv_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UDP_RECV_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub const UDP_RECV_TIMEOUT: &str = "volte_udp_recv_timeout";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UDP_TIMEOUT_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub const UDP_TIMEOUT_FAILED: &str = "volte_udp_timeout_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_IMS_FAMILY_UNSUPPORTED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub const RUNTIME_IMS_FAMILY_UNSUPPORTED: &str = "volte_runtime_ims_family_unsupported";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_ALL_IP_FAMILIES_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:202:15
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub const RUNTIME_ALL_IP_FAMILIES_FAILED: &str = "volte_runtime_all_ip_families_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_MODEM` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:205:15
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub const RUNTIME_MM_MODEM: &str = "volte_runtime_mm_modem";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_MODEM_PRESENT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub const RUNTIME_MM_MODEM_PRESENT: &str = "volte_runtime_mm_modem_present";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_MODEM_PRESENT_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:207:15
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub const RUNTIME_MM_MODEM_PRESENT_TIMEOUT: &str = "volte_runtime_mm_modem_present_timeout";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_MODEM_NOT_READY` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:208:15
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub const RUNTIME_MM_MODEM_NOT_READY: &str = "volte_runtime_mm_modem_not_ready";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_MODEM_WAIT_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:209:15
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub const RUNTIME_MM_MODEM_WAIT_TIMEOUT: &str = "volte_runtime_mm_modem_wait_timeout";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_BEARER` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub const RUNTIME_MM_BEARER: &str = "volte_runtime_mm_bearer";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_BEARER_PATH_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:211:15
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub const RUNTIME_MM_BEARER_PATH_MISSING: &str = "volte_runtime_mm_bearer_path_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_BEARER_NOT_CONNECTED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:212:15
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub const RUNTIME_MM_BEARER_NOT_CONNECTED: &str = "volte_runtime_mm_bearer_not_connected";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_BEARER_CONNECT_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:213:15
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub const RUNTIME_MM_BEARER_CONNECT_FAILED: &str = "volte_runtime_mm_bearer_connect_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_BEARER_ROAMING_FORBIDDEN` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:214:15
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub const RUNTIME_MM_BEARER_ROAMING_FORBIDDEN: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_ADDRESS_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:216:15
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub const RUNTIME_MM_ADDRESS_MISSING: &str = "volte_runtime_mm_address_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_ADDRESS_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub const RUNTIME_MM_ADDRESS_INVALID: &str = "volte_runtime_mm_address_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_HEALTH_BEARER` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:220:15
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub const RUNTIME_HEALTH_BEARER: &str = "volte_runtime_health_bearer";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_HEALTH_BEARER_CHANGED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:221:15
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub const RUNTIME_HEALTH_BEARER_CHANGED: &str = "volte_runtime_health_bearer_changed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_HEALTH_BEARER_DISCONNECTED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:222:15
[INFO] [stdout]     |
[INFO] [stdout] 222 |     pub const RUNTIME_HEALTH_BEARER_DISCONNECTED: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_HEALTH_BEARER_QUERY_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub const RUNTIME_HEALTH_BEARER_QUERY_FAILED: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_HEALTH_QMI_DEVICE_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 |     pub const RUNTIME_HEALTH_QMI_DEVICE_MISSING: &str = "volte_runtime_health_qmi_device_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_HEALTH_QMI_ADDRESS_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:227:15
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub const RUNTIME_HEALTH_QMI_ADDRESS_MISSING: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_HEALTH_QMI_DISCONNECTED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:229:15
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub const RUNTIME_HEALTH_QMI_DISCONNECTED: &str = "volte_runtime_health_qmi_disconnected";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMS_ENCODE_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:232:15
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub const SMS_ENCODE_FAILED: &str = "volte_sms_encode_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMS_MESSAGE_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:233:15
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub const SMS_MESSAGE_SEND_FAILED: &str = "volte_sms_message_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMS_MESSAGE_ALL_VARIANTS_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:234:15
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub const SMS_MESSAGE_ALL_VARIANTS_FAILED: &str = "volte_sms_message_all_variants_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_SMS_MESSAGE_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:235:15
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub const IPSEC_SMS_MESSAGE_SEND_FAILED: &str = "volte_ipsec_sms_message_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_SMS_ALL_VARIANTS_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:236:15
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub const IPSEC_SMS_ALL_VARIANTS_FAILED: &str = "volte_ipsec_sms_all_variants_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MT_RP_ACK_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:237:15
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub const RUNTIME_MT_RP_ACK_SEND_FAILED: &str = "volte_runtime_mt_rp_ack_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MT_RP_ACK_UNCONFIRMED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub const RUNTIME_MT_RP_ACK_UNCONFIRMED: &str = "volte_runtime_mt_rp_ack_unconfirmed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_IPSEC_MT_RP_ACK_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:239:15
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub const RUNTIME_IPSEC_MT_RP_ACK_SEND_FAILED: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_IPSEC_MT_RP_ACK_UNCONFIRMED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:241:15
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub const RUNTIME_IPSEC_MT_RP_ACK_UNCONFIRMED: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEX_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:245:15
[INFO] [stdout]     |
[INFO] [stdout] 245 |     pub const HEX_INVALID: &str = "volte_hex_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IP_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:246:15
[INFO] [stdout]     |
[INFO] [stdout] 246 |     pub const IP_INVALID: &str = "volte_ip_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interface` is never read
[INFO] [stdout]   --> backend/src/volte_manager.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct VolteIdentitySnapshot {
[INFO] [stdout]    |            --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub interface: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VolteIdentitySnapshot` 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: constant `SMS_SOURCE_IMS` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const SMS_SOURCE_IMS: &str = "volte_ims";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRACE_PREFIX` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const TRACE_PREFIX: &str = "volte-sms-";
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRACE_FILE_PREFIX` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const TRACE_FILE_PREFIX: &str = "volte-sms-trace-";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MO_TAG` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const MO_TAG: &str = "volte-mo:";
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RP_ACK_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const RP_ACK_TIMEOUT: Duration = Duration::from_secs(15);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RP_ACK_SEND_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub const RP_ACK_SEND_FAILED: &str = "rp_ack_send_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RP_ACK_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub const RP_ACK_TIMEOUT: &str = "rp_ack_timeout";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RP_ACK_UNCONFIRMED` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:59:15
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub const RP_ACK_UNCONFIRMED: &str = "rp_ack_unconfirmed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NO_RP_ACK_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/ims_sms.rs:60:15
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub const NO_RP_ACK_TIMEOUT: &str = "no_rp_ack_timeout";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_PROXY_SOCKET` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const QMI_PROXY_SOCKET: &str = "@qmi-proxy";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_CARD_STATUS` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const QMI_CARD_STATUS: &str = "--uim-get-card-status";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_READ_EF_AD` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const QMI_READ_EF_AD: &str = "--uim-read-transparent=0x3F00,0x7FFF,0x6FAD";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INS_MANAGE_CHANNEL` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:95:7
[INFO] [stdout]    |
[INFO] [stdout] 95 | const INS_MANAGE_CHANNEL: u8 = 0x70;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INS_GET_RESPONSE` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:98:7
[INFO] [stdout]    |
[INFO] [stdout] 98 | const INS_GET_RESPONSE: u8 = 0xC0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apdu_open_channel` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub fn apdu_open_channel() -> CommandApdu {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apdu_close_channel` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn apdu_close_channel(channel: u8) -> CommandApdu {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apdu_get_response` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:249:8
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub fn apdu_get_response(channel: u8, len: u8) -> CommandApdu {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_CRSM_EF_AD` is never used
[INFO] [stdout]    --> backend/src/ims_uim.rs:339:11
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub const AT_CRSM_EF_AD: &str = "AT+CRSM=176,28589,0,0,4";
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROXY_CONNECT_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:68:15
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub const PROXY_CONNECT_FAILED: &str = "sim_auth_proxy_connect_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROXY_OPEN_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub const PROXY_OPEN_FAILED: &str = "sim_auth_proxy_open_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UIM_CLIENT_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub const UIM_CLIENT_FAILED: &str = "sim_auth_uim_client_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOGICAL_CHANNEL_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub const LOGICAL_CHANNEL_FAILED: &str = "sim_auth_logical_channel_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOGICAL_CHANNEL_CLOSE_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:72:15
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub const LOGICAL_CHANNEL_CLOSE_FAILED: &str = "sim_auth_logical_channel_close_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AKA_RESPONSE_PARSE_FAILED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:83:15
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub const AKA_RESPONSE_PARSE_FAILED: &str = "sim_auth_aka_response_parse_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RETRY_NOT_ATTEMPTED` is never used
[INFO] [stdout]   --> backend/src/ims_uim.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub const RETRY_NOT_ATTEMPTED: &str = "sim_auth_retry_not_attempted";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_DELETE_BEARER_PREFIX` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const ARG_DELETE_BEARER_PREFIX: &str = "--delete-bearer=";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_CONNECT` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 | const ARG_CONNECT: &str = "--connect";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_DISCONNECT` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const ARG_DISCONNECT: &str = "--disconnect";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_KEYVALUE` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | const ARG_KEYVALUE: &str = "-K";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_BEARER` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:57:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | const ARG_BEARER: &str = "-b";
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_APN` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 | const P_APN: &str = "bearer.properties.apn";
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_V6_PREFIX` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const P_V6_PREFIX: &str = "bearer.ipv6-config.prefix";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_V6_GATEWAY` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 | const P_V6_GATEWAY: &str = "bearer.ipv6-config.gateway";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_V6_DNS` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 | const P_V6_DNS: &str = "bearer.ipv6-config.dns";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_LOCK_POISONED` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const E_LOCK_POISONED: &str = "managed_mm_data_operation_lock_poisoned";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_APN_MISSING` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 | const E_APN_MISSING: &str = "managed_mm_data_apn_missing";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_BEARER_PATH_MISSING` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:76:7
[INFO] [stdout]    |
[INFO] [stdout] 76 | const E_BEARER_PATH_MISSING: &str = "managed_mm_data_bearer_path_missing";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_BEARER_NOT_CONNECTED` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:77:7
[INFO] [stdout]    |
[INFO] [stdout] 77 | const E_BEARER_NOT_CONNECTED: &str = "managed_mm_data_bearer_not_connected";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_SETTINGS_NOT_READY` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 | const E_SETTINGS_NOT_READY: &str = "managed_mm_data_settings_not_ready";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_INVALID` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const E_IPV6_INVALID: &str = "managed_mm_data_ipv6_invalid";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_GATEWAY_INVALID` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 | const E_IPV6_GATEWAY_INVALID: &str = "managed_mm_data_ipv6_gateway_invalid";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_UNEXPECTED_INTERFACE` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 | const E_UNEXPECTED_INTERFACE: &str = "managed_mm_data_unexpected_interface";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_DUAL_STACK_FAILED` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:86:7
[INFO] [stdout]    |
[INFO] [stdout] 86 | const E_DUAL_STACK_FAILED: &str = "managed_mm_data_dual_stack_failed";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV4_FAILED` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const E_IPV4_FAILED: &str = "ipv4_failed";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SETTINGS_POLL_ATTEMPTS` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:96:7
[INFO] [stdout]    |
[INFO] [stdout] 96 | const SETTINGS_POLL_ATTEMPTS: u32 = 25;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `OPERATION_LOCK` is never used
[INFO] [stdout]   --> backend/src/managed_mm_data.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | static OPERATION_LOCK: Mutex<()> = Mutex::new(());
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Ipv4` and `Ipv6` are never constructed
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum IpType {
[INFO] [stdout]     |          ------ variants in this enum
[INFO] [stdout] 107 |     Ipv4,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 108 |     Ipv6,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IpType` 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 `Pap` is never constructed
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub enum AuthMethod {
[INFO] [stdout]     |          ---------- variant in this enum
[INFO] [stdout] 126 |     None,
[INFO] [stdout] 127 |     Pap,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AuthMethod` 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 `roaming_allowed`, `auth`, `username`, and `password` are never read
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct ManagedDataRequest {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub roaming_allowed: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     pub auth: AuthMethod,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 147 |     pub username: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 148 |     pub password: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ManagedDataRequest` 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 `address` and `gateway` are never read
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 152 | struct Ipv4Config {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 153 |     address: Ipv4Addr,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 154 |     prefix: u8,
[INFO] [stdout] 155 |     gateway: Ipv4Addr,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Ipv4Config` 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 `Ipv6Config` is never constructed
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 | struct Ipv6Config {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManagedDataState` is never constructed
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct ManagedDataState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `age_secs` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:180:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | impl ManagedDataState {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 180 |     fn age_secs(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `activate` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn activate(req: &ManagedDataRequest, state: &mut ManagedDataState) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_activate` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:233:4
[INFO] [stdout]     |
[INFO] [stdout] 233 | fn try_activate(req: &ManagedDataRequest, state: &mut ManagedDataState) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_bearer` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn create_bearer(req: &ManagedDataRequest) -> Result<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect_bearer` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:340:4
[INFO] [stdout]     |
[INFO] [stdout] 340 | fn connect_bearer(path: &str) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_bearer` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn delete_bearer(path: &str) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_settings` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:353:4
[INFO] [stdout]     |
[INFO] [stdout] 353 | fn wait_for_settings(path: &str) -> Result<std::collections::BTreeMap<String, String>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deactivate` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn deactivate(state: &mut ManagedDataState) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_before_nm` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:420:8
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub fn cleanup_before_nm(state: &mut ManagedDataState) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mmcli` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:432:4
[INFO] [stdout]     |
[INFO] [stdout] 432 | fn mmcli(args: &[&str]) -> Result<String> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_ipv6` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn parse_ipv6(p: &std::collections::BTreeMap<String, String>) -> Result<Ipv6Config> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ip_bin` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:531:4
[INFO] [stdout]     |
[INFO] [stdout] 531 | fn ip_bin() -> &'static str {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_ipv4` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:539:4
[INFO] [stdout]     |
[INFO] [stdout] 539 | fn configure_ipv4(iface: &str, cfg: &Ipv4Config) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_ipv6` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:561:4
[INFO] [stdout]     |
[INFO] [stdout] 561 | fn configure_ipv6(iface: &str, cfg: &Ipv6Config) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_dns` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:589:4
[INFO] [stdout]     |
[INFO] [stdout] 589 | fn configure_dns(iface: &str, v4: &Ipv4Config, v6: Option<&Ipv6Config>) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nm_active` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:616:4
[INFO] [stdout]     |
[INFO] [stdout] 616 | fn nm_active() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> backend/src/managed_mm_data.rs:624:4
[INFO] [stdout]     |
[INFO] [stdout] 624 | fn run(bin: &str, args: &[&str]) -> Result<()> {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENV_PRIMARY_QMI_DEVICE` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi.rs:88:7
[INFO] [stdout]    |
[INFO] [stdout] 88 | const ENV_PRIMARY_QMI_DEVICE: &str = "SIMADMIN_PRIMARY_QMI_DEVICE";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_runtime_state` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub fn load_runtime_state() -> Result<SecondaryQmiEndpoint> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `primary_qmi_device` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi.rs:530:8
[INFO] [stdout]     |
[INFO] [stdout] 530 | pub fn primary_qmi_device() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_START_NETWORK_PREFIX` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 | const ARG_START_NETWORK_PREFIX: &str = "--wds-start-network=apn=";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_STOP_NETWORK_PREFIX` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 | const ARG_STOP_NETWORK_PREFIX: &str = "--wds-stop-network=";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_GET_CURRENT_SETTINGS` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const ARG_GET_CURRENT_SETTINGS: &str = "--wds-get-current-settings";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARG_GET_PACKET_SERVICE_STATUS` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 | const ARG_GET_PACKET_SERVICE_STATUS: &str = "--wds-get-packet-service-status";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MARK_CONNECTED` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 | const MARK_CONNECTED: &str = "Connection status: 'connected'";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV4_ADDRESS` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | const F_IPV4_ADDRESS: &str = "IPv4 address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV4_MASK` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const F_IPV4_MASK: &str = "IPv4 subnet mask";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV4_GATEWAY` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 | const F_IPV4_GATEWAY: &str = "IPv4 gateway address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV4_DNS1` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:84:7
[INFO] [stdout]    |
[INFO] [stdout] 84 | const F_IPV4_DNS1: &str = "IPv4 primary DNS";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV4_DNS2` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 | const F_IPV4_DNS2: &str = "IPv4 secondary DNS";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV6_GATEWAY` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const F_IPV6_GATEWAY: &str = "IPv6 gateway address";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F_IPV6_DNS2` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:89:7
[INFO] [stdout]    |
[INFO] [stdout] 89 | const F_IPV6_DNS2: &str = "IPv6 secondary DNS";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MM_PROP_REGISTRATION_STATE` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:92:7
[INFO] [stdout]    |
[INFO] [stdout] 92 | const MM_PROP_REGISTRATION_STATE: &str = "modem.3gpp.registration-state";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_HOME` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:95:7
[INFO] [stdout]    |
[INFO] [stdout] 95 | const REG_HOME: &str = "home";
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_ROAMING` is never used
[INFO] [stdout]   --> backend/src/secondary_qmi_data.rs:96:7
[INFO] [stdout]    |
[INFO] [stdout] 96 | const REG_ROAMING: &str = "roaming";
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_LOCK_POISONED` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout] 100 | const E_LOCK_POISONED: &str = "secondary_qmi_data_operation_lock_poisoned";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_APN_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:101:7
[INFO] [stdout]     |
[INFO] [stdout] 101 | const E_APN_MISSING: &str = "secondary_qmi_data_apn_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_CID_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:102:7
[INFO] [stdout]     |
[INFO] [stdout] 102 | const E_CID_MISSING: &str = "secondary_qmi_data_cid_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_HANDLE_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:103:7
[INFO] [stdout]     |
[INFO] [stdout] 103 | const E_HANDLE_MISSING: &str = "secondary_qmi_data_handle_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_CID_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:104:7
[INFO] [stdout]     |
[INFO] [stdout] 104 | const E_IPV6_CID_MISSING: &str = "secondary_qmi_data_ipv6_cid_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_HANDLE_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:105:7
[INFO] [stdout]     |
[INFO] [stdout] 105 | const E_IPV6_HANDLE_MISSING: &str = "secondary_qmi_data_ipv6_handle_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV4_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:106:7
[INFO] [stdout]     |
[INFO] [stdout] 106 | const E_IPV4_INVALID: &str = "secondary_qmi_data_ipv4_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_MASK_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:107:7
[INFO] [stdout]     |
[INFO] [stdout] 107 | const E_MASK_INVALID: &str = "secondary_qmi_data_mask_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_MASK_NON_CONTIGUOUS` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:108:7
[INFO] [stdout]     |
[INFO] [stdout] 108 | const E_MASK_NON_CONTIGUOUS: &str = "secondary_qmi_data_mask_non_contiguous";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_GATEWAY_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 | const E_GATEWAY_INVALID: &str = "secondary_qmi_data_gateway_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:110:7
[INFO] [stdout]     |
[INFO] [stdout] 110 | const E_IPV6_INVALID: &str = "secondary_qmi_data_ipv6_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_GATEWAY_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:111:7
[INFO] [stdout]     |
[INFO] [stdout] 111 | const E_IPV6_GATEWAY_INVALID: &str = "secondary_qmi_data_ipv6_gateway_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_IPV6_PREFIX_INVALID` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:112:7
[INFO] [stdout]     |
[INFO] [stdout] 112 | const E_IPV6_PREFIX_INVALID: &str = "secondary_qmi_data_ipv6_prefix_invalid";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_REG_STATE_MISSING` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:113:7
[INFO] [stdout]     |
[INFO] [stdout] 113 | const E_REG_STATE_MISSING: &str = "secondary_qmi_data_registration_state_missing";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_ROAMING_FORBIDDEN` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:114:7
[INFO] [stdout]     |
[INFO] [stdout] 114 | const E_ROAMING_FORBIDDEN: &str = "secondary_qmi_data_roaming_forbidden";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_REG_NOT_HOME` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:117:7
[INFO] [stdout]     |
[INFO] [stdout] 117 | const E_REG_NOT_HOME: &str = "secondary_qmi_data_registration_not_home";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_DEVICE_UNAVAILABLE` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 | const E_DEVICE_UNAVAILABLE: &str = "secondary_qmi_device_unavailable";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E_DATA6_START_FAILED` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:119:7
[INFO] [stdout]     |
[INFO] [stdout] 119 | const E_DATA6_START_FAILED: &str = "secondary_qmi_data6_start_failed";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROUTE_METRIC` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:126:7
[INFO] [stdout]     |
[INFO] [stdout] 126 | const ROUTE_METRIC: u32 = 729;
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `OPERATION_LOCK` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | static OPERATION_LOCK: Mutex<()> = Mutex::new(());
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WdsSession` is never constructed
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct WdsSession {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ipv4Config` is never constructed
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | struct Ipv4Config {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ipv6Config` is never constructed
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:156:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | struct Ipv6Config {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecondaryDataState` is never constructed
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub struct SecondaryDataState {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `age_secs` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 178 | impl SecondaryDataState {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 179 |     fn age_secs(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SecondaryDataRequest` is never constructed
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct SecondaryDataRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `activate` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub fn activate(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `V4` is never constructed
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:319:5
[INFO] [stdout]     |
[INFO] [stdout] 318 | enum IpFamily {
[INFO] [stdout]     |      -------- variant in this enum
[INFO] [stdout] 319 |     V4,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IpFamily` 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 `start_suffix`, `cid_missing_err`, and `handle_missing_err` are never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:330:8
[INFO] [stdout]     |
[INFO] [stdout] 323 | impl IpFamily {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 330 |     fn start_suffix(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     fn cid_missing_err(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |     fn handle_missing_err(self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_session` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:351:4
[INFO] [stdout]     |
[INFO] [stdout] 351 | fn start_session(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stop_session` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:381:4
[INFO] [stdout]     |
[INFO] [stdout] 381 | fn stop_session(ep: &SecondaryQmiEndpoint, s: WdsSession) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deactivate` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:393:8
[INFO] [stdout]     |
[INFO] [stdout] 393 | pub fn deactivate(state: &mut SecondaryDataState) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_connected` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:436:8
[INFO] [stdout]     |
[INFO] [stdout] 436 | pub fn is_connected(ep: &SecondaryQmiEndpoint, s: WdsSession) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `qmicli` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:448:4
[INFO] [stdout]     |
[INFO] [stdout] 448 | fn qmicli(ep: &SecondaryQmiEndpoint, args: &[&str]) -> Result<String> {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_ipv4_settings` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:498:4
[INFO] [stdout]     |
[INFO] [stdout] 498 | fn read_ipv4_settings(ep: &SecondaryQmiEndpoint, cid: u32) -> Result<Ipv4Config> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_ipv6_settings` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:528:4
[INFO] [stdout]     |
[INFO] [stdout] 528 | fn read_ipv6_settings(ep: &SecondaryQmiEndpoint, cid: u32) -> Result<Ipv6Config> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ip_bin` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:584:4
[INFO] [stdout]     |
[INFO] [stdout] 584 | fn ip_bin() -> &'static str {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_ipv4` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:592:4
[INFO] [stdout]     |
[INFO] [stdout] 592 | fn configure_ipv4(netdev: &str, cfg: &Ipv4Config) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_ipv6` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:615:4
[INFO] [stdout]     |
[INFO] [stdout] 615 | fn configure_ipv6(netdev: &str, cfg: &Ipv6Config) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `flush_interface` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:653:4
[INFO] [stdout]     |
[INFO] [stdout] 653 | fn flush_interface(netdev: &str) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_dns` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:662:4
[INFO] [stdout]     |
[INFO] [stdout] 662 | fn configure_dns(netdev: &str, v4: &Ipv4Config, v6: Option<&Ipv6Config>) -> Result<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `nm_active` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:693:4
[INFO] [stdout]     |
[INFO] [stdout] 693 | fn nm_active() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_registration_state` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:701:4
[INFO] [stdout]     |
[INFO] [stdout] 701 | fn read_registration_state() -> Option<String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> backend/src/secondary_qmi_data.rs:717:4
[INFO] [stdout]     |
[INFO] [stdout] 717 | fn run(bin: &str, args: &[&str]) -> Result<()> {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MT_SIP_PORT` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const MT_SIP_PORT: u16 = 47482;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LISTENER_STARTED` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | static LISTENER_STARTED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RECENT_TTL` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const RECENT_TTL: std::time::Duration = std::time::Duration::from_secs(300);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `recent_seen` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn recent_seen(sender: &str, text: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remember_recent` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn remember_recent(sender: &str, text: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_mt_listener` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn spawn_mt_listener(ue: String, db: Arc<Database>, notifier: Arc<NotificationSender>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]   --> backend/src/sip_listener.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | async fn run(db: Arc<Database>, notifier: Arc<NotificationSender>) -> Result<(), String> {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_reuse` is never used
[INFO] [stdout]    --> backend/src/sip_listener.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn bind_reuse(ue: &str) -> Result<UdpSocket, String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_packet` is never used
[INFO] [stdout]    --> backend/src/sip_listener.rs:149:10
[INFO] [stdout]     |
[INFO] [stdout] 149 | async fn handle_packet(
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_sip` is never used
[INFO] [stdout]    --> backend/src/sip_listener.rs:272:4
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn split_sip(data: &[u8]) -> Option<(String, &[u8])> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_response` is never used
[INFO] [stdout]    --> backend/src/sip_listener.rs:291:4
[INFO] [stdout]     |
[INFO] [stdout] 291 | fn build_response(head: &str, rp_ack: Option<u8>, status: &str) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_READY_MARKER` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const QMI_READY_MARKER: &str = "/run/qmi_auto_activate.ready";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENV_MM_IMS_BEARER` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const ENV_MM_IMS_BEARER: &str = "SIMADMIN_MM_IMS_BEARER";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIP_RECV_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const SIP_RECV_TIMEOUT: Duration = Duration::from_secs(10);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VolteConfig` is never constructed
[INFO] [stdout]    --> backend/src/volte/mod.rs:257:12
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub struct VolteConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_response` is never used
[INFO] [stdout]    --> backend/src/volte/aka.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn digest_response(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_MARKER_WAIT` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const QMI_MARKER_WAIT: Duration = Duration::from_secs(30);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODEM_PRESENT_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const MODEM_PRESENT_TIMEOUT: Duration = Duration::from_secs(60);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODEM_READY_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const MODEM_READY_TIMEOUT: Duration = Duration::from_secs(45);
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `at_activate_context` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn at_activate_context(cid: u32) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_LIST_CONTEXTS` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const AT_LIST_CONTEXTS: &str = "AT+CGDCONT?";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_LIST_ACTIVE` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const AT_LIST_ACTIVE: &str = "AT+CGACT?";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_ACTIVATE_PREFIX` is never used
[INFO] [stdout]   --> backend/src/volte/bearer.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const AT_ACTIVATE_PREFIX: &str = "AT+CGACT=1,";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ImsProfileLease` is never constructed
[INFO] [stdout]   --> backend/src/volte/bearer.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct ImsProfileLease {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ModemManager` is never constructed
[INFO] [stdout]    --> backend/src/volte/bearer.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub enum ImsBearer {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] 182 |     /// ModemManager on the primary port.
[INFO] [stdout] 183 |     ModemManager {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImsBearer` 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 `local`, `gateway`, `prefix`, and `pcscf` are never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 203 | impl ImsBearer {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn local(&self) -> IpAddr {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn gateway(&self) -> Option<IpAddr> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn prefix(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub fn pcscf(&self) -> &[IpAddr] {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `qmi_marker_present` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:250:8
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub fn qmi_marker_present() -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `qmi_marker_age_secs` is never used
[INFO] [stdout]    --> backend/src/volte/bearer.rs:255:8
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub fn qmi_marker_age_secs() -> Option<u64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl MncLengthSource {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 44 |     /// beta8 token spellings. Not emitted by beta9.
[INFO] [stdout] 45 |     pub fn as_str(self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_CIMI` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const AT_CIMI: &str = "AT+CIMI";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_CRSM_EF_AD` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const AT_CRSM_EF_AD: &str = "AT+CRSM=176,28589,0,0,4";
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_CARD_STATUS` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const QMI_CARD_STATUS: &str = "--uim-get-card-status";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QMI_READ_EF_AD` is never used
[INFO] [stdout]   --> backend/src/volte/identity.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub const QMI_READ_EF_AD: &str = "--uim-read-transparent=0x3F00,0x7FFF,0x6FAD";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_SECURITY_CLIENT` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const H_SECURITY_CLIENT: &str = "Security-Client";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_SECURITY_VERIFY` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const H_SECURITY_VERIFY: &str = "Security-Verify";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_SECURITY_SERVER` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const H_SECURITY_SERVER: &str = "security-server";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_REQUIRE` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const H_REQUIRE: &str = "Require";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H_PROXY_REQUIRE` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const H_PROXY_REQUIRE: &str = "Proxy-Require";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SEC_AGREE` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const SEC_AGREE: &str = "sec-agree";
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_MECHANISM` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const P_MECHANISM: &str = "mechanism";
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SPI_C` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const P_SPI_C: &str = "spi-c";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_SPI_S` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const P_SPI_S: &str = "spi-s";
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_PORT_C` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const P_PORT_C: &str = "port-c";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_PORT_S` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const P_PORT_S: &str = "port-s";
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UE_PORT_MIN` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const UE_PORT_MIN: u16 = 40000;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UE_PORT_MAX` is never used
[INFO] [stdout]   --> backend/src/volte/ipsec.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const UE_PORT_MAX: u16 = 60000;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `teardown` is never used
[INFO] [stdout]    --> backend/src/volte/ipsec.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub fn teardown() -> Result<Vec<Vec<String>>, String> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `log_message` is never used
[INFO] [stdout]   --> backend/src/volte/pcscf.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl PcscfSource {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 64 |     pub fn log_message(self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `family` is never used
[INFO] [stdout]   --> backend/src/volte/pcscf.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl ImsBearerAddressing {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] 92 |     pub fn family(&self) -> ImsFamily {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Identity`, `Radio`, `Modem`, `Bearer`, and `Pcscf` are never constructed
[INFO] [stdout]   --> backend/src/volte/runtime.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub enum Stage {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 64 |     Identity,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     Radio,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 69 |     /// Waiting for ModemManager to expose a usable modem.
[INFO] [stdout] 70 |     Modem,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 71 |     /// Creating the IMS PDP context and bearer.
[INFO] [stdout] 72 |     Bearer,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 73 |     /// Discovering P-CSCF and installing routes.
[INFO] [stdout] 74 |     Pcscf,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Stage` 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 `SendSms` and `Stop` are never constructed
[INFO] [stdout]    --> backend/src/volte/runtime.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum RuntimeCommand {
[INFO] [stdout]     |          -------------- variants in this enum
[INFO] [stdout] 184 |     /// Send an SMS through the IMS runtime.
[INFO] [stdout] 185 |     SendSms { to: String, body: String },
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     Stop,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RuntimeCommand` 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: constant `COMMAND_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/runtime.rs:204:11
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub const COMMAND_TIMEOUT: Duration = Duration::from_secs(30);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sms_enabled` is never used
[INFO] [stdout]    --> backend/src/volte/runtime.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 308 | impl VolteSupervisor {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn sms_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Method` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum Method {
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> backend/src/volte/sip.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Method {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 59 |     pub fn as_str(self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `require_header` is never used
[INFO] [stdout]    --> backend/src/volte/sip.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl Response {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn require_header(&self, name: &str) -> Result<&str, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `home_domain` is never read
[INFO] [stdout]    --> backend/src/volte/sip.rs:329:9
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub struct MessageParams<'a> {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 329 |     pub home_domain: &'a str,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `log_message` is never used
[INFO] [stdout]   --> backend/src/volte/slot.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl ImsSlot {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 75 |     /// Human-readable log line, verbatim from .rodata.
[INFO] [stdout] 76 |     pub fn log_message(self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_EMPTY` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub const COMMAND_EMPTY: &str = "volte_command_empty";
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_FAILED` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub const COMMAND_FAILED: &str = "volte_command_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_SPAWN_FAILED` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:98:15
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub const COMMAND_SPAWN_FAILED: &str = "volte_command_spawn_failed";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_TIMEOUT` is never used
[INFO] [stdout]   --> backend/src/volte/mod.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub const COMMAND_TIMEOUT: &str = "volte_command_timeout";
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_WAIT_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub const COMMAND_WAIT_FAILED: &str = "volte_command_wait_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_READ_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub const AT_READ_FAILED: &str = "volte_at_read_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_WRITE_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub const AT_WRITE_FAILED: &str = "volte_at_write_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AT_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:106:15
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub const AT_TIMEOUT: &str = "volte_at_timeout";
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MM_IMSI_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub const MM_IMSI_MISSING: &str = "volte_mm_imsi_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMSC_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub const SMSC_MISSING: &str = "volte_smsc_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PHONE_URI_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub const PHONE_URI_INVALID: &str = "volte_phone_uri_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USIM_AKA_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub const USIM_AKA_FAILED: &str = "volte_usim_aka_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MM_SIM_PATH_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub const MM_SIM_PATH_MISSING: &str = "volte_mm_sim_path_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MM_SIM_PATH_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub const MM_SIM_PATH_INVALID: &str = "volte_mm_sim_path_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIP_HEADER_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub const SIP_HEADER_MISSING: &str = "volte_sip_header_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIP_NOT_UTF8` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub const SIP_NOT_UTF8: &str = "volte_sip_not_utf8";
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub const REGISTER_SEND_FAILED: &str = "volte_register_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_INITIAL_UNEXPECTED_STATUS` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub const REGISTER_INITIAL_UNEXPECTED_STATUS: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_AUTH_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub const REGISTER_AUTH_SEND_FAILED: &str = "volte_register_auth_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REGISTER_AUTH_UNEXPECTED_STATUS` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:142:15
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub const REGISTER_AUTH_UNEXPECTED_STATUS: &str = "volte_register_auth_unexpected_status";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_UDP_BIND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:147:15
[INFO] [stdout]     |
[INFO] [stdout] 147 |     pub const IPSEC_UDP_BIND_FAILED: &str = "volte_ipsec_udp_bind_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_SEND_UDP_BIND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:148:15
[INFO] [stdout]     |
[INFO] [stdout] 148 |     pub const IPSEC_SEND_UDP_BIND_FAILED: &str = "volte_ipsec_send_udp_bind_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_RECV_UDP_BIND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub const IPSEC_RECV_UDP_BIND_FAILED: &str = "volte_ipsec_recv_udp_bind_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_REGISTER_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub const IPSEC_REGISTER_SEND_FAILED: &str = "volte_ipsec_register_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_REGISTER_INITIAL_UNEXPECTED_STATUS` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:151:15
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub const IPSEC_REGISTER_INITIAL_UNEXPECTED_STATUS: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_REGISTER_AUTH_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:153:15
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub const IPSEC_REGISTER_AUTH_SEND_FAILED: &str = "volte_ipsec_register_auth_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_REGISTER_AUTH_UNEXPECTED_STATUS` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:154:15
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub const IPSEC_REGISTER_AUTH_UNEXPECTED_STATUS: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_AUTS_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:156:15
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub const IPSEC_AUTS_SEND_FAILED: &str = "volte_ipsec_auts_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_AUTS_UNEXPECTED_STATUS` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:157:15
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub const IPSEC_AUTS_UNEXPECTED_STATUS: &str = "volte_ipsec_auts_unexpected_status";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANDOM_SPI_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:159:15
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub const RANDOM_SPI_INVALID: &str = "volte_random_spi_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANDOM_PORT_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:160:15
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub const RANDOM_PORT_INVALID: &str = "volte_random_port_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANDOM_PORT_RANGE_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:161:15
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub const RANDOM_PORT_RANGE_INVALID: &str = "volte_random_port_range_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANDOM_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:162:15
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub const RANDOM_FAILED: &str = "volte_random_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_ACTIVATION_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:165:15
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub const DATA_ACTIVATION_FAILED: &str = "volte_data_activation_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA6_ACTIVATION_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:166:15
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub const DATA6_ACTIVATION_FAILED: &str = "volte_data6_activation_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA6_START_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:167:15
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub const DATA6_START_FAILED: &str = "volte_data6_start_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WDS_CID_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:171:15
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub const WDS_CID_MISSING: &str = "volte_wds_cid_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WDS_HANDLE_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:172:15
[INFO] [stdout]     |
[INFO] [stdout] 172 |     pub const WDS_HANDLE_MISSING: &str = "volte_wds_handle_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SECONDARY_QMI_SETTINGS_NOT_READY` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:173:15
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub const SECONDARY_QMI_SETTINGS_NOT_READY: &str = "volte_secondary_qmi_settings_not_ready";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IP_SETTINGS_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:174:15
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub const IP_SETTINGS_MISSING: &str = "volte_ip_settings_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_PCSCF_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:182:15
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub const RUNTIME_MM_PCSCF_MISSING: &str = "volte_runtime_mm_pcscf_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_PCSCF_SETUP_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:183:15
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub const RUNTIME_MM_PCSCF_SETUP_FAILED: &str = "volte_runtime_mm_pcscf_setup_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_PROFILE_PCSCF_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:184:15
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub const RUNTIME_PROFILE_PCSCF_MISSING: &str = "volte_runtime_profile_pcscf_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_SEND_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:190:15
[INFO] [stdout]     |
[INFO] [stdout] 190 |     pub const RUNTIME_SEND_TIMEOUT: &str = "volte_runtime_send_timeout";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_REPLY_CLOSED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:192:15
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub const RUNTIME_REPLY_CLOSED: &str = "volte_runtime_reply_closed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_JOIN_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |     pub const RUNTIME_JOIN_FAILED: &str = "volte_runtime_join_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_UDP_BIND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:194:15
[INFO] [stdout]     |
[INFO] [stdout] 194 |     pub const RUNTIME_UDP_BIND_FAILED: &str = "volte_runtime_udp_bind_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_UDP_TIMEOUT_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:195:15
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub const RUNTIME_UDP_TIMEOUT_FAILED: &str = "volte_runtime_udp_timeout_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UDP_RECV_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:196:15
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub const UDP_RECV_FAILED: &str = "volte_udp_recv_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UDP_RECV_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:197:15
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub const UDP_RECV_TIMEOUT: &str = "volte_udp_recv_timeout";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UDP_TIMEOUT_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |     pub const UDP_TIMEOUT_FAILED: &str = "volte_udp_timeout_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_IMS_FAMILY_UNSUPPORTED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:199:15
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub const RUNTIME_IMS_FAMILY_UNSUPPORTED: &str = "volte_runtime_ims_family_unsupported";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_ALL_IP_FAMILIES_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:202:15
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub const RUNTIME_ALL_IP_FAMILIES_FAILED: &str = "volte_runtime_all_ip_families_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_MODEM` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:205:15
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub const RUNTIME_MM_MODEM: &str = "volte_runtime_mm_modem";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_MODEM_PRESENT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 |     pub const RUNTIME_MM_MODEM_PRESENT: &str = "volte_runtime_mm_modem_present";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_MODEM_PRESENT_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:207:15
[INFO] [stdout]     |
[INFO] [stdout] 207 |     pub const RUNTIME_MM_MODEM_PRESENT_TIMEOUT: &str = "volte_runtime_mm_modem_present_timeout";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_MODEM_WAIT_TIMEOUT` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:209:15
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub const RUNTIME_MM_MODEM_WAIT_TIMEOUT: &str = "volte_runtime_mm_modem_wait_timeout";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_BEARER` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:210:15
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub const RUNTIME_MM_BEARER: &str = "volte_runtime_mm_bearer";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_BEARER_PATH_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:211:15
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub const RUNTIME_MM_BEARER_PATH_MISSING: &str = "volte_runtime_mm_bearer_path_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_BEARER_NOT_CONNECTED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:212:15
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub const RUNTIME_MM_BEARER_NOT_CONNECTED: &str = "volte_runtime_mm_bearer_not_connected";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_BEARER_CONNECT_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:213:15
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub const RUNTIME_MM_BEARER_CONNECT_FAILED: &str = "volte_runtime_mm_bearer_connect_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_ADDRESS_MISSING` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:216:15
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub const RUNTIME_MM_ADDRESS_MISSING: &str = "volte_runtime_mm_address_missing";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MM_ADDRESS_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub const RUNTIME_MM_ADDRESS_INVALID: &str = "volte_runtime_mm_address_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_HEALTH_BEARER` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:220:15
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub const RUNTIME_HEALTH_BEARER: &str = "volte_runtime_health_bearer";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMS_ENCODE_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:232:15
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub const SMS_ENCODE_FAILED: &str = "volte_sms_encode_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMS_MESSAGE_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:233:15
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub const SMS_MESSAGE_SEND_FAILED: &str = "volte_sms_message_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SMS_MESSAGE_ALL_VARIANTS_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:234:15
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub const SMS_MESSAGE_ALL_VARIANTS_FAILED: &str = "volte_sms_message_all_variants_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_SMS_MESSAGE_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:235:15
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub const IPSEC_SMS_MESSAGE_SEND_FAILED: &str = "volte_ipsec_sms_message_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IPSEC_SMS_ALL_VARIANTS_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:236:15
[INFO] [stdout]     |
[INFO] [stdout] 236 |     pub const IPSEC_SMS_ALL_VARIANTS_FAILED: &str = "volte_ipsec_sms_all_variants_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MT_RP_ACK_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:237:15
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub const RUNTIME_MT_RP_ACK_SEND_FAILED: &str = "volte_runtime_mt_rp_ack_send_failed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_MT_RP_ACK_UNCONFIRMED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub const RUNTIME_MT_RP_ACK_UNCONFIRMED: &str = "volte_runtime_mt_rp_ack_unconfirmed";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_IPSEC_MT_RP_ACK_SEND_FAILED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:239:15
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub const RUNTIME_IPSEC_MT_RP_ACK_SEND_FAILED: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RUNTIME_IPSEC_MT_RP_ACK_UNCONFIRMED` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:241:15
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub const RUNTIME_IPSEC_MT_RP_ACK_UNCONFIRMED: &str =
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IP_INVALID` is never used
[INFO] [stdout]    --> backend/src/volte/mod.rs:246:15
[INFO] [stdout]     |
[INFO] [stdout] 246 |     pub const IP_INVALID: &str = "volte_ip_invalid";
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 02s
[INFO] running `Command { std: "docker" "inspect" "88689a1d2f5057c686ca2d7b5702ec5f7b53e867c4b8beb558244295093bbad5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "88689a1d2f5057c686ca2d7b5702ec5f7b53e867c4b8beb558244295093bbad5", kill_on_drop: false }`
[INFO] [stdout] 88689a1d2f5057c686ca2d7b5702ec5f7b53e867c4b8beb558244295093bbad5
