[INFO] cloning repository https://github.com/Aux0x7F/constitute-nvr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Aux0x7F/constitute-nvr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAux0x7F%2Fconstitute-nvr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAux0x7F%2Fconstitute-nvr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1a48dbe77b7162c28dce7d9760130e267def5c60
[INFO] checking Aux0x7F/constitute-nvr against try#24e1a22664233bce1f9b5dc6eee7c1f74327e28c for pr-159343
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAux0x7F%2Fconstitute-nvr" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Aux0x7F/constitute-nvr
[INFO] finished tweaking git repo https://github.com/Aux0x7F/constitute-nvr
[INFO] tweaked toml for git repo https://github.com/Aux0x7F/constitute-nvr written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Aux0x7F/constitute-nvr on toolchain 24e1a22664233bce1f9b5dc6eee7c1f74327e28c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Aux0x7F/constitute-nvr 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" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4382282ac0b09fbc6a4c0cc140735ea968e7afd7807974a1c338fb42d2c273e8
[INFO] running `Command { std: "docker" "start" "4382282ac0b09fbc6a4c0cc140735ea968e7afd7807974a1c338fb42d2c273e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4382282ac0b09fbc6a4c0cc140735ea968e7afd7807974a1c338fb42d2c273e8", 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" "4382282ac0b09fbc6a4c0cc140735ea968e7afd7807974a1c338fb42d2c273e8" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4382282ac0b09fbc6a4c0cc140735ea968e7afd7807974a1c338fb42d2c273e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4382282ac0b09fbc6a4c0cc140735ea968e7afd7807974a1c338fb42d2c273e8" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking pem-rfc7468 v0.6.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking ff v0.12.1
[INFO] [stderr]     Checking base16ct v0.1.1
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking cipher v0.2.5
[INFO] [stderr]    Compiling oid-registry v0.6.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking group v0.12.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]    Compiling oid-registry v0.4.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking arc-swap v1.9.0
[INFO] [stderr]    Compiling substring v1.4.5
[INFO] [stderr]     Checking aes-soft v0.6.4
[INFO] [stderr]     Checking waitgroup v0.1.2
[INFO] [stderr]     Checking ctr v0.8.0
[INFO] [stderr]     Checking aes v0.7.5
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]     Checking aead v0.4.3
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking aead v0.3.2
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking block-modes v0.7.0
[INFO] [stderr]     Checking aes v0.6.0
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking clap_builder v4.5.60
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking ccm v0.3.0
[INFO] [stderr]     Checking roxmltree v0.20.0
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling webrtc-util v0.7.0
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling secp256k1-sys v0.10.1
[INFO] [stderr]     Checking chrono-tz v0.10.4
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]    Compiling asn1-rs-impl v0.1.0
[INFO] [stderr]    Compiling asn1-rs-derive v0.4.0
[INFO] [stderr]    Compiling asn1-rs-derive v0.1.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking der v0.6.1
[INFO] [stderr]     Checking crypto-bigint v0.4.9
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking asn1-rs v0.5.2
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking asn1-rs v0.3.1
[INFO] [stderr]     Checking spki v0.6.0
[INFO] [stderr]     Checking rfc6979 v0.3.1
[INFO] [stderr]     Checking sct v0.6.1
[INFO] [stderr]     Checking pkcs8 v0.9.0
[INFO] [stderr]     Checking webpki v0.21.4
[INFO] [stderr]     Checking sec1 v0.3.0
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking secp256k1 v0.29.1
[INFO] [stderr]     Checking rustls v0.19.1
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking tungstenite v0.28.0
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking der-parser v8.2.0
[INFO] [stderr]     Checking elliptic-curve v0.12.3
[INFO] [stderr]    Compiling derive_builder_core v0.11.2
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking ecdsa v0.14.8
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking curve25519-dalek v3.2.0
[INFO] [stderr]     Checking der-parser v7.0.0
[INFO] [stderr]     Checking x509-parser v0.14.0
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]     Checking p384 v0.11.2
[INFO] [stderr]     Checking p256 v0.11.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking des v0.8.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking cfb-mode v0.8.2
[INFO] [stderr]     Checking x509-parser v0.13.2
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]    Compiling derive_builder_macro v0.11.2
[INFO] [stderr]     Checking derive_builder v0.11.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking rcgen v0.10.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking constitute-protocol v0.1.0 (https://github.com/Aux0x7F/constitute-protocol?branch=main#e0db9421)
[INFO] [stderr]     Checking clap v4.5.60
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking sdp v0.5.3
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tokio-tungstenite v0.28.0
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking rtp v0.8.0
[INFO] [stderr]     Checking rtcp v0.9.0
[INFO] [stderr]     Checking stun v0.4.4
[INFO] [stderr]     Checking webrtc-mdns v0.5.2
[INFO] [stderr]     Checking webrtc-sctp v0.8.0
[INFO] [stderr]     Checking webrtc-dtls v0.7.2
[INFO] [stderr]     Checking webrtc-media v0.6.1
[INFO] [stderr]     Checking turn v0.6.1
[INFO] [stderr]     Checking webrtc-srtp v0.10.0
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking axum v0.8.8
[INFO] [stderr]     Checking interceptor v0.9.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking webrtc-data v0.7.0
[INFO] [stderr]     Checking webrtc-ice v0.9.1
[INFO] [stderr]     Checking webrtc v0.8.0
[INFO] [stderr]     Checking constitute-fabric v0.1.0 (https://github.com/Aux0x7F/constitute-fabric?branch=main#433f5439)
[INFO] [stderr]     Checking constitute-nvr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `CameraDeviceDesiredConfig`
[INFO] [stdout]  --> src/api.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::config::{CameraDeviceConfig, CameraDeviceDesiredConfig, Config};
[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: `mount::mount_camera_device`
[INFO] [stdout]    --> src/camera_device/mod.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub use mount::mount_camera_device;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webrtc::peer_connection::sdp::session_description::RTCSessionDescription`
[INFO] [stdout]   --> src/live/stream_records.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use webrtc::peer_connection::sdp::session_description::RTCSessionDescription;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mount::mount_camera_device`
[INFO] [stdout]    --> src/camera_device/mod.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub use mount::mount_camera_device;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `api_route_manifest` is never used
[INFO] [stdout]   --> src/api.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) fn api_route_manifest() -> &'static [&'static str] {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CameraDeviceMountResult` is never constructed
[INFO] [stdout]    --> src/camera_device/mod.rs:259:12
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct CameraDeviceMountResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_driver_mount` is never used
[INFO] [stdout]     --> src/camera_device/mod.rs:1685:10
[INFO] [stdout]      |
[INFO] [stdout] 1685 | async fn apply_driver_mount(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_vendor` is never used
[INFO] [stdout]     --> src/camera_device/mod.rs:3222:4
[INFO] [stdout]      |
[INFO] [stdout] 3222 | fn derive_vendor(candidate: &DiscoveredCameraCandidate, driver_id: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_state` is never used
[INFO] [stdout]    --> src/camera_device/drivers/reolink/cgi.rs:773:14
[INFO] [stdout]     |
[INFO] [stdout] 773 | pub async fn apply_state(request: &ReolinkStateApplyRequest) -> Result<ReolinkStateApplyResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReolinkStateApplyRequest` is never constructed
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct ReolinkStateApplyRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `normalized` is never used
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | impl ReolinkStateApplyRequest {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] 295 |     pub fn normalized(self) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReolinkStateApplyResult` is never constructed
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub struct ReolinkStateApplyResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_state` is never used
[INFO] [stdout]     --> src/camera_device/drivers/reolink/driver.rs:1159:14
[INFO] [stdout]      |
[INFO] [stdout] 1159 | pub async fn read_state(request: ReolinkConnectRequest) -> Result<ReolinkStateResult> {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_state` is never used
[INFO] [stdout]     --> src/camera_device/drivers/reolink/driver.rs:1216:14
[INFO] [stdout]      |
[INFO] [stdout] 1216 | pub async fn apply_state(request: ReolinkStateApplyRequest) -> Result<ReolinkStateApplyResult> {
[INFO] [stdout]      |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mount_camera_device` is never used
[INFO] [stdout]  --> src/camera_device/mount.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn mount_camera_device(
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_hello_proof` is never used
[INFO] [stdout]   --> src/crypto.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn compute_hello_proof(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_hello_proof` is never used
[INFO] [stdout]   --> src/crypto.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn verify_hello_proof(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_session_key` is never used
[INFO] [stdout]   --> src/crypto.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn derive_session_key(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_payload` is never used
[INFO] [stdout]   --> src/crypto.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn decrypt_payload(session_key: &[u8], nonce: &[u8; 24], ciphertext: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_b64_exact` is never used
[INFO] [stdout]    --> src/crypto.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn decode_b64_exact(b64: &str, expected_len: usize) -> Result<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_session_health_records` is never used
[INFO] [stdout]   --> src/media_projection/mod.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn stream_session_health_records(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_token` is never used
[INFO] [stdout]    --> src/media_projection/mod.rs:341:4
[INFO] [stdout]     |
[INFO] [stdout] 341 | fn record_token(value: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `service_ref` is never used
[INFO] [stdout]    --> src/media_projection/mod.rs:356:4
[INFO] [stdout]     |
[INFO] [stdout] 356 | fn service_ref(service_pk: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_keypair` is never used
[INFO] [stdout]   --> src/nostr.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn generate_keypair() -> (String, String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pubkey_from_sk_hex` is never used
[INFO] [stdout]   --> src/nostr.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn pubkey_from_sk_hex(sk_hex: &str) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `xonly_pk_hex` is never used
[INFO] [stdout]    --> src/nostr.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn xonly_pk_hex(keypair: &Keypair) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SegmentEntry` is never constructed
[INFO] [stdout]   --> src/storage.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SegmentEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `list_segments` and `read_segment` are never used
[INFO] [stdout]    --> src/storage.rs:83:18
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl StorageManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub async fn list_segments(&self, source_id: &str, limit: usize) -> Result<Vec<SegmentEntry>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub async fn read_segment(&self, source_id: &str, name: &str) -> Result<Vec<u8>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_pin_intent_for_segment` is never used
[INFO] [stdout]    --> src/storage.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn storage_pin_intent_for_segment(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_pin_intent_for_history` is never used
[INFO] [stdout]    --> src/storage.rs:169:8
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn storage_pin_intent_for_history(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_blob` is never used
[INFO] [stdout]    --> src/storage.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn decrypt_blob(key: &[u8], blob: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `segment_object_ref` is never used
[INFO] [stdout]    --> src/storage.rs:259:4
[INFO] [stdout]     |
[INFO] [stdout] 259 | fn segment_object_ref(source_id: &str, name: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `metadata_manifest_hash` is never used
[INFO] [stdout]    --> src/storage.rs:267:4
[INFO] [stdout]     |
[INFO] [stdout] 267 | fn metadata_manifest_hash(value: &serde_json::Value) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_token` is never used
[INFO] [stdout]    --> src/storage.rs:274:4
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn record_token(value: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `authority_ref` is never used
[INFO] [stdout]    --> src/storage.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn authority_ref(service_pk: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retention_class` is never used
[INFO] [stdout]    --> src/storage.rs:303:4
[INFO] [stdout]     |
[INFO] [stdout] 303 | fn retention_class(retention: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_offer_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1673:4
[INFO] [stdout]      |
[INFO] [stdout] 1673 | fn is_stream_offer_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_control_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1683:4
[INFO] [stdout]      |
[INFO] [stdout] 1683 | fn is_stream_control_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_candidate_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1690:4
[INFO] [stdout]      |
[INFO] [stdout] 1690 | fn is_stream_candidate_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_close_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1697:4
[INFO] [stdout]      |
[INFO] [stdout] 1697 | fn is_stream_close_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CameraDeviceMountResult` is never constructed
[INFO] [stdout]    --> src/camera_device/mod.rs:259:12
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct CameraDeviceMountResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_driver_mount` is never used
[INFO] [stdout]     --> src/camera_device/mod.rs:1685:10
[INFO] [stdout]      |
[INFO] [stdout] 1685 | async fn apply_driver_mount(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_vendor` is never used
[INFO] [stdout]     --> src/camera_device/mod.rs:3222:4
[INFO] [stdout]      |
[INFO] [stdout] 3222 | fn derive_vendor(candidate: &DiscoveredCameraCandidate, driver_id: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_state` is never used
[INFO] [stdout]    --> src/camera_device/drivers/reolink/cgi.rs:773:14
[INFO] [stdout]     |
[INFO] [stdout] 773 | pub async fn apply_state(request: &ReolinkStateApplyRequest) -> Result<ReolinkStateApplyResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReolinkStateApplyRequest` is never constructed
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct ReolinkStateApplyRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `normalized` is never used
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | impl ReolinkStateApplyRequest {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] 295 |     pub fn normalized(self) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReolinkStateApplyResult` is never constructed
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub struct ReolinkStateApplyResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_state` is never used
[INFO] [stdout]     --> src/camera_device/drivers/reolink/driver.rs:1159:14
[INFO] [stdout]      |
[INFO] [stdout] 1159 | pub async fn read_state(request: ReolinkConnectRequest) -> Result<ReolinkStateResult> {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_state` is never used
[INFO] [stdout]     --> src/camera_device/drivers/reolink/driver.rs:1216:14
[INFO] [stdout]      |
[INFO] [stdout] 1216 | pub async fn apply_state(request: ReolinkStateApplyRequest) -> Result<ReolinkStateApplyResult> {
[INFO] [stdout]      |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mount_camera_device` is never used
[INFO] [stdout]  --> src/camera_device/mount.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn mount_camera_device(
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_session_key` is never used
[INFO] [stdout]   --> src/crypto.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn derive_session_key(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_b64_exact` is never used
[INFO] [stdout]    --> src/crypto.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn decode_b64_exact(b64: &str, expected_len: usize) -> Result<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pubkey_from_sk_hex` is never used
[INFO] [stdout]   --> src/nostr.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn pubkey_from_sk_hex(sk_hex: &str) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `list_segments` and `read_segment` are never used
[INFO] [stdout]    --> src/storage.rs:83:18
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl StorageManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub async fn list_segments(&self, source_id: &str, limit: usize) -> Result<Vec<SegmentEntry>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub async fn read_segment(&self, source_id: &str, name: &str) -> Result<Vec<u8>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_offer_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1673:4
[INFO] [stdout]      |
[INFO] [stdout] 1673 | fn is_stream_offer_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_close_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1697:4
[INFO] [stdout]      |
[INFO] [stdout] 1697 | fn is_stream_close_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 27s
[INFO] running `Command { std: "docker" "inspect" "4382282ac0b09fbc6a4c0cc140735ea968e7afd7807974a1c338fb42d2c273e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4382282ac0b09fbc6a4c0cc140735ea968e7afd7807974a1c338fb42d2c273e8", kill_on_drop: false }`
[INFO] [stdout] 4382282ac0b09fbc6a4c0cc140735ea968e7afd7807974a1c338fb42d2c273e8
