[INFO] cloning repository https://github.com/chffhc/rustdesk-lite
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/chffhc/rustdesk-lite" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchffhc%2Frustdesk-lite", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchffhc%2Frustdesk-lite'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 40710862be884bbef08e1d7308ed115c0508f4ec
[INFO] checking chffhc/rustdesk-lite against master#b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd for pr-155499
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchffhc%2Frustdesk-lite" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/chffhc/rustdesk-lite
[INFO] finished tweaking git repo https://github.com/chffhc/rustdesk-lite
[INFO] tweaked toml for git repo https://github.com/chffhc/rustdesk-lite written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/chffhc/rustdesk-lite on toolchain b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/chffhc/rustdesk-lite 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" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded webrtc-util v0.10.0
[INFO] [stderr]   Downloaded env_filter v1.0.1
[INFO] [stderr]   Downloaded rtp v0.12.0
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.67
[INFO] [stderr]   Downloaded opus v0.3.1
[INFO] [stderr]   Downloaded webrtc-srtp v0.14.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.117
[INFO] [stderr]   Downloaded env_logger v0.11.10
[INFO] [stderr]   Downloaded screenshots v0.7.3
[INFO] [stderr]   Downloaded portable-atomic-util v0.2.6
[INFO] [stderr]   Downloaded toml_edit v0.25.10+spec-1.1.0
[INFO] [stderr]   Downloaded interceptor v0.13.0
[INFO] [stderr]   Downloaded rtcp v0.12.0
[INFO] [stderr]   Downloaded dbus v0.9.10
[INFO] [stderr]   Downloaded webrtc-dtls v0.11.0
[INFO] [stderr]   Downloaded webrtc-ice v0.12.0
[INFO] [stderr]   Downloaded webrtc-sctp v0.11.0
[INFO] [stderr]   Downloaded turn v0.9.0
[INFO] [stderr]   Downloaded indexmap v2.13.1
[INFO] [stderr]   Downloaded xcb v1.7.0
[INFO] [stderr]   Downloaded js-sys v0.3.94
[INFO] [stderr]   Downloaded webrtc v0.12.0
[INFO] [stderr]   Downloaded cc v1.2.59
[INFO] [stderr]   Downloaded stun v0.7.0
[INFO] [stderr]   Downloaded webrtc-mdns v0.8.0
[INFO] [stderr]   Downloaded webrtc-media v0.9.0
[INFO] [stderr]   Downloaded enigo v0.2.1
[INFO] [stderr]   Downloaded arc-swap v1.9.1
[INFO] [stderr]   Downloaded jpeg-encoder v0.6.1
[INFO] [stderr]   Downloaded sdp v0.7.0
[INFO] [stderr]   Downloaded webrtc-data v0.10.0
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.117
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.117
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.117
[INFO] [stderr]   Downloaded web-sys v0.3.94
[INFO] [stderr]   Downloaded tokio v1.51.0
[INFO] [stderr]   Downloaded audiopus_sys v0.2.2
[INFO] [stderr]   Downloaded icrate v0.1.2
[INFO] [stderr]   Downloaded libdbus-sys v0.2.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f53fe691bdfcf313695a90c72a448a34001dac325c10db08d1b480efe2957d5d
[INFO] running `Command { std: "docker" "start" "-a" "f53fe691bdfcf313695a90c72a448a34001dac325c10db08d1b480efe2957d5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f53fe691bdfcf313695a90c72a448a34001dac325c10db08d1b480efe2957d5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f53fe691bdfcf313695a90c72a448a34001dac325c10db08d1b480efe2957d5d", kill_on_drop: false }`
[INFO] [stdout] f53fe691bdfcf313695a90c72a448a34001dac325c10db08d1b480efe2957d5d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b2f1ccf524a3a4cf9c34545167cc23b659cf1cbd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a4d622a7b8fd11d3258aa76d2782f4992f06bcbc102ee13007d89d05f52eada6
[INFO] running `Command { std: "docker" "start" "-a" "a4d622a7b8fd11d3258aa76d2782f4992f06bcbc102ee13007d89d05f52eada6", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]     Checking base64ct v1.8.3
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]     Checking pem-rfc7468 v0.7.0
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling oid-registry v0.7.1
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking rusticata-macros v4.1.0
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking uuid v1.23.0
[INFO] [stderr]    Compiling quick-xml v0.30.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]    Compiling xcb v1.7.0
[INFO] [stderr]     Checking aligned v0.4.3
[INFO] [stderr]     Checking arc-swap v1.9.1
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]    Compiling libdbus-sys v0.2.7
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling substring v1.4.5
[INFO] [stderr]     Checking y4m v0.8.0
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]     Checking waitgroup v0.1.2
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]    Compiling audiopus_sys v0.2.2
[INFO] [stderr]     Checking bitstream-io v4.9.0
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]     Checking tokio v1.51.0
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]    Compiling asn1-rs-impl v0.2.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling asn1-rs-derive v0.5.1
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking asn1-rs v0.6.2
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking primeorder v0.13.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking der-parser v9.0.0
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking rustls-webpki v0.103.10
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking x509-parser v0.16.0
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking imgref v1.12.0
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking zune-core v0.5.1
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking jiff v0.2.23
[INFO] [stderr]     Checking webrtc-util v0.10.0
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking rcgen v0.13.2
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking p256 v0.13.2
[INFO] [stderr]     Checking p384 v0.13.1
[INFO] [stderr]     Checking common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ccm v0.5.0
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]     Checking rtp v0.12.0
[INFO] [stderr]     Checking rtcp v0.12.0
[INFO] [stderr]     Checking stun v0.7.0
[INFO] [stderr]     Checking webrtc-mdns v0.8.0
[INFO] [stderr]     Checking webrtc-sctp v0.11.0
[INFO] [stderr]     Checking turn v0.9.0
[INFO] [stderr]     Checking webrtc-srtp v0.14.0
[INFO] [stderr]     Checking avif-serialize v0.8.8
[INFO] [stderr]     Checking memmap2 v0.8.0
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking gif v0.14.1
[INFO] [stderr]     Checking webrtc-data v0.10.0
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking xkbcommon v0.7.0
[INFO] [stderr]     Checking webrtc-dtls v0.11.0
[INFO] [stderr]     Checking interceptor v0.13.0
[INFO] [stderr]     Checking sdp v0.7.0
[INFO] [stderr]     Checking webrtc-ice v0.12.0
[INFO] [stderr]     Checking display-info v0.4.8
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking webrtc-media v0.9.0
[INFO] [stderr]     Checking dbus v0.9.10
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]     Checking opus v0.3.1
[INFO] [stderr]     Checking webrtc v0.12.0
[INFO] [stderr]     Checking enigo v0.2.1
[INFO] [stderr]     Checking jpeg-encoder v0.6.1
[INFO] [stderr]     Checking server v0.1.0 (/opt/rustwide/workdir/server)
[INFO] [stderr]     Checking screenshots v0.7.3
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking host v0.1.0 (/opt/rustwide/workdir/host)
[INFO] [stdout] warning: function `start_screen_capture` is never used
[INFO] [stdout]   --> host/src/capture.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub async fn start_screen_capture(
[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 `FfmpegEncoder` is never constructed
[INFO] [stdout]   --> host/src/h264.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct FfmpegEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ENCODER` is never used
[INFO] [stdout]   --> host/src/h264.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | static ENCODER: OnceLock<Mutex<Option<FfmpegEncoder>>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_encoder` is never used
[INFO] [stdout]   --> host/src/h264.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn init_encoder(width: u32, height: u32, fps: u32) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_h264_enabled` is never used
[INFO] [stdout]   --> host/src/h264.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn is_h264_enabled() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_h264` is never used
[INFO] [stdout]   --> host/src/h264.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn encode_h264(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_encoder_info` is never used
[INFO] [stdout]    --> host/src/h264.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn get_encoder_info() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, and `fps` are never read
[INFO] [stdout]   --> host/src/h264_mp4.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct FfmpegMp4Encoder {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 18 |     width: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 19 |     height: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 20 |     fps: u32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FfmpegMp4Encoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_ffmpeg_process` is never used
[INFO] [stdout]   --> host/src/h264_mp4.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn start_ffmpeg_process(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_encoder_info` is never used
[INFO] [stdout]   --> host/src/h264_mp4.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn get_encoder_info() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Ftyp` is never constructed
[INFO] [stdout]    --> host/src/h264_mp4.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum BoxType {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] 108 |     Ftyp = 0x66747970,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BoxType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EncryptionKey` is never used
[INFO] [stdout]   --> host/src/e2ee.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub type EncryptionKey = [u8; 32];
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `peer_public_key`, `local_private_key`, and `local_public_key` are never read
[INFO] [stdout]   --> host/src/e2ee.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct EncryptionState {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 22 |     key: Option<LessSafeKey>,
[INFO] [stdout] 23 |     peer_public_key: Option<[u8; 65]>, // P-256 公钥 (未压缩格式)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     local_private_key: Option<[u8; 32]>, // P-256 私钥
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     local_public_key: Option<[u8; 65]>, // P-256 公钥
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_keypair`, `compute_shared_secret`, `set_key`, `decrypt`, and `get_local_public_key` are never used
[INFO] [stdout]    --> host/src/e2ee.rs:40:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EncryptionState {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn generate_keypair(&mut self) -> Result<[u8; 65], Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn compute_shared_secret(&mut self, _peer_public_key: &[u8]) -> Result<EncryptionKey, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn set_key(&mut self, key: EncryptionKey) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn decrypt(&self, ciphertext: &[u8]) -> Result<Vec<u8>, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn get_local_public_key(&self) -> Option<[u8; 65]> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_encryption_state` is never used
[INFO] [stdout]    --> host/src/e2ee.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn get_encryption_state() -> Option<Arc<Mutex<EncryptionState>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bits_per_sample` is never read
[INFO] [stdout]   --> host/src/audio.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct AudioConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub bits_per_sample: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AudioConfig` 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 `stop`, `is_running`, and `get_config` are never used
[INFO] [stdout]    --> host/src/audio.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl AudioCapture {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn stop(&self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn get_config(&self) -> &AudioConfig {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_id` is never read
[INFO] [stdout]   --> host/src/signaling.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SignalingClient {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 11 |     ws: WebSocketStream<MaybeTlsStream<TcpStream>>,
[INFO] [stdout] 12 |     device_id: DeviceId,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `register`, `handle_message`, and `send_frame` are never used
[INFO] [stdout]    --> host/src/signaling.rs:18:18
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl SignalingClient {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  17 |     /// 创建新的信令客户端并连接
[INFO] [stdout]  18 |     pub async fn new(
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub async fn run(&mut self) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     async fn register(&mut self) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     async fn handle_message(&mut self, text: &str) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub async fn send_frame(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_event_tx`, `video_width`, and `video_height` are never read
[INFO] [stdout]   --> host/src/webrtc.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct WebRtcSignalingClient {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     input_event_tx: broadcast::Sender<InputEvent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     video_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 37 |     video_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current_width`, `current_height`, and `target_bps` are never read
[INFO] [stdout]   --> host/src/bitrate.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct AdaptiveBitrateController {
[INFO] [stdout]    |            ------------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     current_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     /// 当前高度
[INFO] [stdout] 17 |     current_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     target_bps: f64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `calculate_crf`, `set_target_bps`, `target_bps`, and `resolution` are never used
[INFO] [stdout]    --> host/src/bitrate.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl AdaptiveBitrateController {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn calculate_crf(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn set_target_bps(&mut self, target_bps: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn target_bps(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn resolution(&self) -> (u32, u32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SharedBitrateController` is never used
[INFO] [stdout]    --> host/src/bitrate.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub type SharedBitrateController = std::sync::Arc<Mutex<AdaptiveBitrateController>>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_screen_capture` is never used
[INFO] [stdout]   --> host/src/capture.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub async fn start_screen_capture(
[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 `FfmpegEncoder` is never constructed
[INFO] [stdout]   --> host/src/h264.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct FfmpegEncoder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ENCODER` is never used
[INFO] [stdout]   --> host/src/h264.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | static ENCODER: OnceLock<Mutex<Option<FfmpegEncoder>>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_encoder` is never used
[INFO] [stdout]   --> host/src/h264.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn init_encoder(width: u32, height: u32, fps: u32) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_h264_enabled` is never used
[INFO] [stdout]   --> host/src/h264.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn is_h264_enabled() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_h264` is never used
[INFO] [stdout]   --> host/src/h264.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn encode_h264(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_encoder_info` is never used
[INFO] [stdout]    --> host/src/h264.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn get_encoder_info() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `width`, `height`, and `fps` are never read
[INFO] [stdout]   --> host/src/h264_mp4.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct FfmpegMp4Encoder {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 18 |     width: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 19 |     height: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 20 |     fps: u32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FfmpegMp4Encoder` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_ffmpeg_process` is never used
[INFO] [stdout]   --> host/src/h264_mp4.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn start_ffmpeg_process(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_encoder_info` is never used
[INFO] [stdout]   --> host/src/h264_mp4.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn get_encoder_info() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Ftyp` is never constructed
[INFO] [stdout]    --> host/src/h264_mp4.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum BoxType {
[INFO] [stdout]     |          ------- variant in this enum
[INFO] [stdout] 108 |     Ftyp = 0x66747970,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BoxType` 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 `peer_public_key`, `local_private_key`, and `local_public_key` are never read
[INFO] [stdout]   --> host/src/e2ee.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct EncryptionState {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 22 |     key: Option<LessSafeKey>,
[INFO] [stdout] 23 |     peer_public_key: Option<[u8; 65]>, // P-256 公钥 (未压缩格式)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     local_private_key: Option<[u8; 32]>, // P-256 私钥
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     local_public_key: Option<[u8; 65]>, // P-256 公钥
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_keypair`, `compute_shared_secret`, and `get_local_public_key` are never used
[INFO] [stdout]    --> host/src/e2ee.rs:40:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl EncryptionState {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  40 |     pub fn generate_keypair(&mut self) -> Result<[u8; 65], Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn compute_shared_secret(&mut self, _peer_public_key: &[u8]) -> Result<EncryptionKey, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn get_local_public_key(&self) -> Option<[u8; 65]> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_encryption_state` is never used
[INFO] [stdout]    --> host/src/e2ee.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub fn get_encryption_state() -> Option<Arc<Mutex<EncryptionState>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bits_per_sample` is never read
[INFO] [stdout]   --> host/src/audio.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct AudioConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub bits_per_sample: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AudioConfig` 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 `stop`, `is_running`, and `get_config` are never used
[INFO] [stdout]    --> host/src/audio.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl AudioCapture {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn stop(&self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn get_config(&self) -> &AudioConfig {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `device_id` is never read
[INFO] [stdout]   --> host/src/signaling.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct SignalingClient {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 11 |     ws: WebSocketStream<MaybeTlsStream<TcpStream>>,
[INFO] [stdout] 12 |     device_id: DeviceId,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `register`, `handle_message`, and `send_frame` are never used
[INFO] [stdout]    --> host/src/signaling.rs:18:18
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl SignalingClient {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  17 |     /// 创建新的信令客户端并连接
[INFO] [stdout]  18 |     pub async fn new(
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub async fn run(&mut self) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     async fn register(&mut self) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     async fn handle_message(&mut self, text: &str) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub async fn send_frame(
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `input_event_tx`, `video_width`, and `video_height` are never read
[INFO] [stdout]   --> host/src/webrtc.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct WebRtcSignalingClient {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     input_event_tx: broadcast::Sender<InputEvent>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 36 |     video_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 37 |     video_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `current_width`, `current_height`, and `target_bps` are never read
[INFO] [stdout]   --> host/src/bitrate.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct AdaptiveBitrateController {
[INFO] [stdout]    |            ------------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     current_width: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     /// 当前高度
[INFO] [stdout] 17 |     current_height: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     target_bps: f64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_target_bps`, `target_bps`, and `resolution` are never used
[INFO] [stdout]    --> host/src/bitrate.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl AdaptiveBitrateController {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn set_target_bps(&mut self, target_bps: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn target_bps(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn resolution(&self) -> (u32, u32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SharedBitrateController` is never used
[INFO] [stdout]    --> host/src/bitrate.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub type SharedBitrateController = std::sync::Arc<Mutex<AdaptiveBitrateController>>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 14s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: screenshots v0.7.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 9`
[INFO] running `Command { std: "docker" "inspect" "a4d622a7b8fd11d3258aa76d2782f4992f06bcbc102ee13007d89d05f52eada6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4d622a7b8fd11d3258aa76d2782f4992f06bcbc102ee13007d89d05f52eada6", kill_on_drop: false }`
[INFO] [stdout] a4d622a7b8fd11d3258aa76d2782f4992f06bcbc102ee13007d89d05f52eada6
