[INFO] cloning repository https://github.com/Sentinel-Ops/Nidan-v2 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Sentinel-Ops/Nidan-v2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSentinel-Ops%2FNidan-v2", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSentinel-Ops%2FNidan-v2'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5274e4192879fea762a34e161ff5554393d02f15 [INFO] checking Sentinel-Ops/Nidan-v2 against master#c290daa1e5274a52e54a0f49e31bd70192abc606 for pr-133502-23 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSentinel-Ops%2FNidan-v2" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Sentinel-Ops/Nidan-v2 [INFO] finished tweaking git repo https://github.com/Sentinel-Ops/Nidan-v2 [INFO] tweaked toml for git repo https://github.com/Sentinel-Ops/Nidan-v2 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Sentinel-Ops/Nidan-v2 on toolchain c290daa1e5274a52e54a0f49e31bd70192abc606 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Sentinel-Ops/Nidan-v2 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" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded prost-build v0.13.5 [INFO] [stderr] Downloaded tokio-vsock v0.7.2 [INFO] [stderr] Downloaded vsock v0.5.4 [INFO] [stderr] Downloaded ashpd v0.9.3 [INFO] [stderr] Downloaded nasm-rs v0.3.2 [INFO] [stderr] Downloaded tree_magic_mini v3.2.2 [INFO] [stderr] Downloaded oid-registry v0.7.1 [INFO] [stderr] Downloaded asn1-rs-derive v0.5.1 [INFO] [stderr] Downloaded wl-clipboard-rs v0.9.3 [INFO] [stderr] Downloaded der-parser v9.0.0 [INFO] [stderr] Downloaded x509-parser v0.16.0 [INFO] [stderr] Downloaded asn1-rs v0.6.2 [INFO] [stderr] Downloaded openh264-sys2 v0.6.6 [INFO] [stderr] Downloaded sdl2 v0.36.0 [INFO] [stderr] Downloaded openh264 v0.6.6 [INFO] [stderr] Downloaded sdl2-sys v0.36.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 9619ee5d2bef41fad2c8d5627e927b476eac7e5e2d0c315f17304593e3462deb [INFO] running `Command { std: "docker" "start" "9619ee5d2bef41fad2c8d5627e927b476eac7e5e2d0c315f17304593e3462deb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9619ee5d2bef41fad2c8d5627e927b476eac7e5e2d0c315f17304593e3462deb", 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" "9619ee5d2bef41fad2c8d5627e927b476eac7e5e2d0c315f17304593e3462deb" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9619ee5d2bef41fad2c8d5627e927b476eac7e5e2d0c315f17304593e3462deb", 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" "9619ee5d2bef41fad2c8d5627e927b476eac7e5e2d0c315f17304593e3462deb" "/opt/rustwide/cargo-home/bin/cargo" "+c290daa1e5274a52e54a0f49e31bd70192abc606" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Checking memchr v2.8.1 [INFO] [stderr] Checking itoa v1.0.18 [INFO] [stderr] Checking once_cell v1.21.4 [INFO] [stderr] Checking pin-project-lite v0.2.17 [INFO] [stderr] Checking bytes v1.11.1 [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.52 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking typenum v1.20.1 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling cc v1.2.63 [INFO] [stderr] Checking log v0.4.32 [INFO] [stderr] Compiling either v1.16.0 [INFO] [stderr] Checking futures-core v0.3.32 [INFO] [stderr] Checking futures-sink v0.3.32 [INFO] [stderr] Compiling crunchy v0.2.4 [INFO] [stderr] Checking tracing-core v0.1.36 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking futures-channel v0.3.32 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling tiny-keccak v2.0.2 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Checking slab v0.4.12 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling bitflags v2.13.0 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Checking futures-io v0.3.32 [INFO] [stderr] Checking cpufeatures v0.2.17 [INFO] [stderr] Compiling fixedbitset v0.5.7 [INFO] [stderr] Checking futures-task v0.3.32 [INFO] [stderr] Compiling ucd-trie v0.1.7 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling const-random-macro v0.1.16 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling multimap v0.10.1 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Compiling pest v2.8.6 [INFO] [stderr] Compiling petgraph v0.7.1 [INFO] [stderr] Checking const-random v0.1.18 [INFO] [stderr] Checking hashbrown v0.17.1 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Checking dlv-list v0.5.2 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Checking indexmap v2.14.0 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking inout v0.1.4 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Checking winnow v0.7.15 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Compiling aws-lc-sys v0.41.0 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking socket2 v0.6.4 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking mio v1.2.1 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Compiling pest_meta v2.8.6 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking unicode-segmentation v1.13.3 [INFO] [stderr] Checking arraydeque v0.5.1 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Checking anstyle-parse v1.0.0 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking pathdiff v0.2.3 [INFO] [stderr] Checking colorchoice v1.0.5 [INFO] [stderr] Checking convert_case v0.6.0 [INFO] [stderr] Checking anstyle v1.0.14 [INFO] [stderr] Checking anstyle-query v1.1.5 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking clap_lex v1.1.0 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Checking anstream v1.0.0 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Compiling aws-lc-rs v1.17.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Checking deranged v0.5.8 [INFO] [stderr] Checking clap_builder v4.6.0 [INFO] [stderr] Checking time-core v0.1.8 [INFO] [stderr] Checking num-conv v0.2.2 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Checking http v1.4.2 [INFO] [stderr] Compiling rustls v0.23.40 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Compiling pest_generator v2.8.6 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Checking openssl-probe v0.2.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Compiling regex v1.12.4 [INFO] [stderr] Compiling quinn-udp v0.5.14 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking siphasher v1.0.3 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Checking tinyvec v1.11.0 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Compiling quinn v0.11.9 [INFO] [stderr] Checking rustc-hash v2.1.2 [INFO] [stderr] Checking time v0.3.47 [INFO] [stderr] Checking iana-time-zone v0.1.65 [INFO] [stderr] Checking lru-slab v0.1.2 [INFO] [stderr] Checking tower-layer v0.3.3 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Checking atomic-waker v1.1.2 [INFO] [stderr] Checking percent-encoding v2.3.2 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling nix v0.31.3 [INFO] [stderr] Checking form_urlencoded v1.2.2 [INFO] [stderr] Compiling nasm-rs v0.3.2 [INFO] [stderr] Checking linux-raw-sys v0.12.1 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking ryu v1.0.23 [INFO] [stderr] Checking simd-adler32 v0.3.9 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Compiling openh264-sys2 v0.6.6 [INFO] [stderr] Checking pem v3.0.6 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking adler2 v2.0.1 [INFO] [stderr] Checking matchit v0.7.3 [INFO] [stderr] Compiling protobuf v2.28.0 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Checking hashlink v0.8.4 [INFO] [stderr] Checking ordered-multimap v0.7.3 [INFO] [stderr] Checking rand v0.9.4 [INFO] [stderr] Checking rand v0.8.6 [INFO] [stderr] Checking safe_arch v0.7.4 [INFO] [stderr] Checking miniz_oxide v0.8.9 [INFO] [stderr] Checking yaml-rust2 v0.8.1 [INFO] [stderr] Checking uuid v1.23.3 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling prost-derive v0.13.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling pest_derive v2.8.6 [INFO] [stderr] Checking zeroize v1.8.2 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Checking rust-ini v0.20.0 [INFO] [stderr] Compiling prost-derive v0.12.6 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking rustls-pki-types v1.14.1 [INFO] [stderr] Checking tokio v1.52.3 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Checking fastbloom v0.14.1 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking rustls-native-certs v0.8.4 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Compiling asn1-rs-derive v0.5.1 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling displaydoc v0.2.6 [INFO] [stderr] Compiling asn1-rs-impl v0.2.0 [INFO] [stderr] Compiling prost v0.13.5 [INFO] [stderr] Checking tower-http v0.5.2 [INFO] [stderr] Checking rusticata-macros v4.1.0 [INFO] [stderr] Compiling prometheus v0.13.4 [INFO] [stderr] Checking asn1-rs v0.6.2 [INFO] [stderr] Checking vsock v0.5.4 [INFO] [stderr] Checking flate2 v1.1.9 [INFO] [stderr] Checking wide v0.7.33 [INFO] [stderr] Checking simple_asn1 v0.6.4 [INFO] [stderr] Compiling prost-types v0.13.5 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking x25519-dalek v2.0.1 [INFO] [stderr] Compiling oid-registry v0.7.1 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking data-encoding v2.11.0 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking prost v0.12.6 [INFO] [stderr] Checking clap v4.6.1 [INFO] [stderr] Checking x11rb-protocol v0.13.2 [INFO] [stderr] Checking yasna v0.5.2 [INFO] [stderr] Checking der-parser v9.0.0 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking rcgen v0.13.2 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking json5 v0.4.1 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Compiling prost-build v0.13.5 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Checking tracing-serde v0.2.0 [INFO] [stderr] Checking chrono v0.4.45 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking tracing-subscriber v0.3.23 [INFO] [stderr] Checking jsonwebtoken v9.3.1 [INFO] [stderr] Checking x509-parser v0.16.0 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking gethostname v1.1.0 [INFO] [stderr] Compiling nidan-proto v0.1.0 (/opt/rustwide/workdir/nidan-proto) [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking hyper v1.10.1 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking tokio-vsock v0.7.2 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking config v0.14.1 [INFO] [stderr] Checking nidan-common v0.1.0 (/opt/rustwide/workdir/nidan-common) [INFO] [stderr] Checking axum v0.7.9 [INFO] [stdout] warning: unused import: `AeadCore` [INFO] [stdout] --> nidan-common/src/crypto.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | aead::{Aead, AeadCore, KeyInit, OsRng}, [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: `AeadCore` [INFO] [stdout] --> nidan-common/src/crypto.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | aead::{Aead, AeadCore, KeyInit, OsRng}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking nidan-agent v0.1.0 (/opt/rustwide/workdir/nidan-agent) [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | use tracing::{debug, info, warn}; [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: `Context` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:52:11 [INFO] [stdout] | [INFO] [stdout] 52 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:33:19 [INFO] [stdout] | [INFO] [stdout] 33 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:133:11 [INFO] [stdout] | [INFO] [stdout] 133 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:215:15 [INFO] [stdout] | [INFO] [stdout] 215 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:129:19 [INFO] [stdout] | [INFO] [stdout] 129 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-agent/src/input.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputEventPayload` [INFO] [stdout] --> nidan-agent/src/input.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | use nidan_proto::{InputBatch, InputEventPayload}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:69:19 [INFO] [stdout] | [INFO] [stdout] 69 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:94:15 [INFO] [stdout] | [INFO] [stdout] 94 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:154:19 [INFO] [stdout] | [INFO] [stdout] 154 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:175:15 [INFO] [stdout] | [INFO] [stdout] 175 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProxyHelloAck` [INFO] [stdout] --> nidan-agent/src/vsock_link.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | PixelFormat, ProxyHelloAck, RawFrame as ProtoRawFrame, StartCapture, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | use tracing::{debug, info, warn}; [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: `Context` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:52:11 [INFO] [stdout] | [INFO] [stdout] 52 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:33:19 [INFO] [stdout] | [INFO] [stdout] 33 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:133:11 [INFO] [stdout] | [INFO] [stdout] 133 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:215:15 [INFO] [stdout] | [INFO] [stdout] 215 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:129:19 [INFO] [stdout] | [INFO] [stdout] 129 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-agent/src/input.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputEventPayload` [INFO] [stdout] --> nidan-agent/src/input.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | use nidan_proto::{InputBatch, InputEventPayload}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:69:19 [INFO] [stdout] | [INFO] [stdout] 69 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:94:15 [INFO] [stdout] | [INFO] [stdout] 94 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:154:19 [INFO] [stdout] | [INFO] [stdout] 154 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-agent/src/input.rs:175:15 [INFO] [stdout] | [INFO] [stdout] 175 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `pipewire-capture`, `remotedesktop-input`, `stub`, and `wayland` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ProxyHelloAck` [INFO] [stdout] --> nidan-agent/src/vsock_link.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | PixelFormat, ProxyHelloAck, RawFrame as ProtoRawFrame, StartCapture, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> nidan-agent/src/vsock_link.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | mut stream: VsockStream, [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> nidan-agent/src/vsock_link.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | mut stream: VsockStream, [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_number` [INFO] [stdout] --> nidan-agent/src/input.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(display_number: u32, width: u32, height: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `injector_task` [INFO] [stdout] --> nidan-agent/src/main.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let injector_task = injector.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_injector_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `is_keyframe` and `damage_rects` are never read [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct RawFrame { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub is_keyframe: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 41 | /// Rectangle(s) modifié(s) depuis la frame précédente (optionnel) [INFO] [stdout] 42 | pub damage_rects: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawFrame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, `width`, and `height` are never read [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct DamageRect { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 48 | pub x: i16, [INFO] [stdout] | ^ [INFO] [stdout] 49 | pub y: i16, [INFO] [stdout] | ^ [INFO] [stdout] 50 | pub width: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | pub height: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DamageRect` 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 `supports_xshm` and `supports_xdamage` are never read [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct CapturerCapabilities { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 59 | pub supports_xshm: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 60 | pub supports_xdamage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapturerCapabilities` 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 `Rgba8888` and `Rgb888` are never constructed [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum PixelFormat { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 67 | Bgra8888, [INFO] [stdout] 68 | Rgba8888, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 69 | Rgb888, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PixelFormat` 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 `bytes_per_pixel` and `ffmpeg_name` are never used [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl PixelFormat { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 73 | /// Bytes par pixel [INFO] [stdout] 74 | pub fn bytes_per_pixel(self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn ffmpeg_name(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StubCapturer` is never constructed [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 147 | pub struct StubCapturer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl StubCapturer { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 152 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `display_number` is never read [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct X11Capturer { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 17 | caps: CapturerCapabilities, [INFO] [stdout] 18 | display_number: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InputInjector` is never constructed [INFO] [stdout] --> nidan-agent/src/input.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct InputInjector { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `inject_batch`, `inject_one`, `injected_count`, `set_clipboard`, and `clipboard` are never used [INFO] [stdout] --> nidan-agent/src/input.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl InputInjector { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | /// Crée un injecteur connecté au display X [INFO] [stdout] 39 | pub fn new(display_number: u32, width: u32, height: u32) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn inject_batch(&mut self, batch: &InputBatch) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn inject_one(&mut self, event: &nidan_proto::InputEvent) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn injected_count(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn set_clipboard(&mut self, content: &[u8]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn clipboard(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> nidan-agent/src/vsock_link.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | Stop(StopCapture), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 40 - Stop(StopCapture), [INFO] [stdout] 40 + Stop(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_number` [INFO] [stdout] --> nidan-agent/src/input.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(display_number: u32, width: u32, height: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `injector_task` [INFO] [stdout] --> nidan-agent/src/main.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let injector_task = injector.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_injector_task` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `is_keyframe` and `damage_rects` are never read [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct RawFrame { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub is_keyframe: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 41 | /// Rectangle(s) modifié(s) depuis la frame précédente (optionnel) [INFO] [stdout] 42 | pub damage_rects: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawFrame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, `width`, and `height` are never read [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct DamageRect { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 48 | pub x: i16, [INFO] [stdout] | ^ [INFO] [stdout] 49 | pub y: i16, [INFO] [stdout] | ^ [INFO] [stdout] 50 | pub width: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | pub height: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DamageRect` 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 `supports_xshm` and `supports_xdamage` are never read [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct CapturerCapabilities { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 59 | pub supports_xshm: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 60 | pub supports_xdamage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapturerCapabilities` 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 `Rgba8888` and `Rgb888` are never constructed [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum PixelFormat { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 67 | Bgra8888, [INFO] [stdout] 68 | Rgba8888, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 69 | Rgb888, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PixelFormat` 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 `bytes_per_pixel` and `ffmpeg_name` are never used [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl PixelFormat { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 73 | /// Bytes par pixel [INFO] [stdout] 74 | pub fn bytes_per_pixel(self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn ffmpeg_name(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StubCapturer` is never constructed [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 147 | pub struct StubCapturer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> nidan-agent/src/capture/mod.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl StubCapturer { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 152 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `display_number` is never read [INFO] [stdout] --> nidan-agent/src/capture/x11.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct X11Capturer { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 17 | caps: CapturerCapabilities, [INFO] [stdout] 18 | display_number: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InputInjector` is never constructed [INFO] [stdout] --> nidan-agent/src/input.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct InputInjector { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `inject_batch`, `inject_one`, `injected_count`, `set_clipboard`, and `clipboard` are never used [INFO] [stdout] --> nidan-agent/src/input.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl InputInjector { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 38 | /// Crée un injecteur connecté au display X [INFO] [stdout] 39 | pub fn new(display_number: u32, width: u32, height: u32) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn inject_batch(&mut self, batch: &InputBatch) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | fn inject_one(&mut self, event: &nidan_proto::InputEvent) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn injected_count(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn set_clipboard(&mut self, content: &[u8]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn clipboard(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> nidan-agent/src/vsock_link.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | Stop(StopCapture), [INFO] [stdout] | ---- ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 40 - Stop(StopCapture), [INFO] [stdout] 40 + Stop(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stderr] Checking nidan-audit v0.1.0 (/opt/rustwide/workdir/nidan-audit) [INFO] [stderr] Checking capture-test v0.1.0 (/opt/rustwide/workdir/capture-test) [INFO] [stdout] warning: unused imports: `Counter` and `Gauge` [INFO] [stdout] --> nidan-audit/src/metrics/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Counter, Gauge, Histogram, HistogramOpts, IntCounter, IntGauge, [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: `self` [INFO] [stdout] --> nidan-audit/src/recording/mod.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> nidan-audit/src/recording/mod.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-audit/src/recording/mod.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> nidan-audit/src/storage/mod.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Counter` and `Gauge` [INFO] [stdout] --> nidan-audit/src/metrics/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Counter, Gauge, Histogram, HistogramOpts, IntCounter, IntGauge, [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: `self` [INFO] [stdout] --> nidan-audit/src/recording/mod.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Duration` [INFO] [stdout] --> nidan-audit/src/recording/mod.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-audit/src/recording/mod.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> nidan-audit/src/storage/mod.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_tx` [INFO] [stdout] --> nidan-audit/src/lib.rs:64:14 [INFO] [stdout] | [INFO] [stdout] 64 | let (event_tx, event_rx) = mpsc::channel::(1024); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_tx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `engine` [INFO] [stdout] --> nidan-audit/src/lib.rs:171:26 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn make_audit_sender(engine: &AuditEngine) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `quality` is never read [INFO] [stdout] --> nidan-audit/src/recording/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct SessionRecorder { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 66 | quality: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_tx` [INFO] [stdout] --> nidan-audit/src/lib.rs:64:14 [INFO] [stdout] | [INFO] [stdout] 64 | let (event_tx, event_rx) = mpsc::channel::(1024); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_tx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `engine` [INFO] [stdout] --> nidan-audit/src/lib.rs:171:26 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn make_audit_sender(engine: &AuditEngine) -> Option { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `quality` is never read [INFO] [stdout] --> nidan-audit/src/recording/mod.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct SessionRecorder { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 66 | quality: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking openh264 v0.6.6 [INFO] [stderr] Checking encode-test v0.1.0 (/opt/rustwide/workdir/encode-test) [INFO] [stderr] Checking rustls-webpki v0.103.13 [INFO] [stderr] Checking rustls-platform-verifier v0.6.2 [INFO] [stderr] Checking quinn-proto v0.11.14 [INFO] [stderr] Checking nidan-broker v0.1.0 (/opt/rustwide/workdir/nidan-broker) [INFO] [stderr] Checking nidan-server v0.1.0 (/opt/rustwide/workdir/nidan-server) [INFO] [stderr] Checking nidan-client v0.1.0 (/opt/rustwide/workdir/nidan-client) [INFO] [stderr] Checking nidan-proxy-encoder v0.1.0 (/opt/rustwide/workdir/nidan-proxy-encoder) [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-client/src/decoder/mod.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | use anyhow::{Context, Result}; [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: `VideoCodec` [INFO] [stdout] --> nidan-client/src/decoder/mod.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 27 | use nidan_proto::{VideoCodec, VideoFrame}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-client/src/decoder/ffmpeg.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info` and `warn` [INFO] [stdout] --> nidan-client/src/decoder/ffmpeg.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-client/src/decoder/openh264_dec.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> nidan-client/src/decoder/openh264_dec.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{debug, info}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-client/src/input/mod.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use tracing::{debug, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputEventPayload` [INFO] [stdout] --> nidan-client/src/input/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | InputEventPayload, KeyEvent, MouseEvent, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn` [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> nidan-client/src/renderer/sdl.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-client/src/renderer/sdl.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> nidan-client/src/renderer/sdl.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RenderRect` and `ScalingMode` [INFO] [stdout] --> nidan-client/src/renderer/sdl.rs:15:56 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::renderer::{ConnectionStatus, RenderMetrics, RenderRect, ScalingMode}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:27:15 [INFO] [stdout] | [INFO] [stdout] 27 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BrokerSessionResponse` and `ClientSessionRequest` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | BrokerSessionResponse, ClientServerHandshake, ClientSessionRequest, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::session::ClientSession` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | use crate::session::ClientSession; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bail` [INFO] [stdout] --> nidan-broker/src/auth/jwt.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{bail, Context, Result}; [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: `std::sync::Mutex` [INFO] [stdout] --> nidan-broker/src/auth/ratelimit.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> nidan-broker/src/pool/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> nidan-broker/src/pool/mod.rs:11:27 [INFO] [stdout] | [INFO] [stdout] 11 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::RwLock` [INFO] [stdout] --> nidan-broker/src/pool/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VmEntry` [INFO] [stdout] --> nidan-broker/src/pool/mod.rs:20:33 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::config::{PoolConfig, VmEntry}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::RwLock` [INFO] [stdout] --> nidan-broker/src/routing/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> nidan-broker/src/routing/mod.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::IpAddr` [INFO] [stdout] --> nidan-broker/src/session.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::net::IpAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nidan_common::session::SessionId` [INFO] [stdout] --> nidan-broker/src/session.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use nidan_common::session::SessionId; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bail` [INFO] [stdout] --> nidan-broker/src/auth/jwt.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{bail, Context, Result}; [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: `std::sync::Mutex` [INFO] [stdout] --> nidan-broker/src/auth/ratelimit.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::sync::Mutex; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> nidan-broker/src/pool/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> nidan-broker/src/pool/mod.rs:11:27 [INFO] [stdout] | [INFO] [stdout] 11 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::RwLock` [INFO] [stdout] --> nidan-broker/src/pool/mod.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VmEntry` [INFO] [stdout] --> nidan-broker/src/pool/mod.rs:20:33 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::config::{PoolConfig, VmEntry}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::RwLock` [INFO] [stdout] --> nidan-broker/src/routing/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use tokio::sync::RwLock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> nidan-broker/src/routing/mod.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::IpAddr` [INFO] [stdout] --> nidan-broker/src/session.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::net::IpAddr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nidan_common::session::SessionId` [INFO] [stdout] --> nidan-broker/src/session.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use nidan_common::session::SessionId; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-client/src/decoder/mod.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | use anyhow::{Context, Result}; [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: `VideoCodec` [INFO] [stdout] --> nidan-client/src/decoder/mod.rs:27:19 [INFO] [stdout] | [INFO] [stdout] 27 | use nidan_proto::{VideoCodec, VideoFrame}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-client/src/decoder/ffmpeg.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info` and `warn` [INFO] [stdout] --> nidan-client/src/decoder/ffmpeg.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-client/src/decoder/openh264_dec.rs:6:14 [INFO] [stdout] | [INFO] [stdout] 6 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> nidan-client/src/decoder/openh264_dec.rs:7:22 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{debug, info}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-client/src/input/mod.rs:8:22 [INFO] [stdout] | [INFO] [stdout] 8 | use tracing::{debug, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputEventPayload` [INFO] [stdout] --> nidan-client/src/input/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | InputEventPayload, KeyEvent, MouseEvent, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn` [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> nidan-client/src/renderer/sdl.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-client/src/renderer/sdl.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `debug` and `warn` [INFO] [stdout] --> nidan-client/src/renderer/sdl.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `RenderRect` and `ScalingMode` [INFO] [stdout] --> nidan-client/src/renderer/sdl.rs:15:56 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::renderer::{ConnectionStatus, RenderMetrics, RenderRect, ScalingMode}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:27:15 [INFO] [stdout] | [INFO] [stdout] 27 | use tracing::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BrokerSessionResponse` and `ClientSessionRequest` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | BrokerSessionResponse, ClientServerHandshake, ClientSessionRequest, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::session::ClientSession` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | use crate::session::ClientSession; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/main.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | #[cfg(feature="remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/main.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pipewire-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | #[cfg(feature = "pipewire-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `pipewire-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | use tracing::{debug, info, warn}; [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: `Context` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:52:11 [INFO] [stdout] | [INFO] [stdout] 52 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:33:19 [INFO] [stdout] | [INFO] [stdout] 33 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:133:11 [INFO] [stdout] | [INFO] [stdout] 133 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:215:15 [INFO] [stdout] | [INFO] [stdout] 215 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:129:19 [INFO] [stdout] | [INFO] [stdout] 129 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pipewire-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:139:15 [INFO] [stdout] | [INFO] [stdout] 139 | #[cfg(feature = "pipewire-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `pipewire-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pipewire-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:145:19 [INFO] [stdout] | [INFO] [stdout] 145 | #[cfg(not(feature = "pipewire-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `pipewire-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputEventPayload` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | use nidan_proto::{InputBatch, InputEventPayload}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:69:19 [INFO] [stdout] | [INFO] [stdout] 69 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:94:15 [INFO] [stdout] | [INFO] [stdout] 94 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:154:19 [INFO] [stdout] | [INFO] [stdout] 154 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:175:15 [INFO] [stdout] | [INFO] [stdout] 175 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VideoCodec` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/mod.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 31 | use nidan_proto::{VideoCodec, VideoFrame}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffmpeg` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg(all(feature = "ffmpeg", not(feature = "stub")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `ffmpeg` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffmpeg` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | #[cfg(all(feature = "ffmpeg", not(feature = "stub")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `ffmpeg` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffmpeg` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | #[cfg(all(feature = "ffmpeg", not(feature = "stub")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `ffmpeg` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffmpeg` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:98:23 [INFO] [stdout] | [INFO] [stdout] 98 | #[cfg(all(feature = "ffmpeg", not(feature = "stub")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `ffmpeg` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/openh264_enc.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VideoFrame` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:30:62 [INFO] [stdout] | [INFO] [stdout] 30 | ClientServerHandshake, ServerHandshakeAck, SessionState, VideoFrame, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::session::ServerSession` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use crate::session::ServerSession; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | #[cfg(feature = "remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | #[cfg(feature = "remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:94:19 [INFO] [stdout] | [INFO] [stdout] 94 | #[cfg(feature = "remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:104:19 [INFO] [stdout] | [INFO] [stdout] 104 | #[cfg(feature = "remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:137:19 [INFO] [stdout] | [INFO] [stdout] 137 | #[cfg(feature = "remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-server/src/capture/mod.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | use tracing::{debug, info, warn}; [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: `Context` [INFO] [stdout] --> nidan-server/src/capture/x11.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> nidan-server/src/capture/x11.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-server/src/input.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputEventPayload` [INFO] [stdout] --> nidan-server/src/input.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | use nidan_proto::{InputBatch, InputEventPayload}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> nidan-server/src/encoder/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VideoCodec` [INFO] [stdout] --> nidan-server/src/encoder/mod.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 31 | use nidan_proto::{VideoCodec, VideoFrame}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-server/src/encoder/ffmpeg.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> nidan-server/src/encoder/openh264_enc.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VideoFrame` [INFO] [stdout] --> nidan-server/src/stream/mod.rs:30:62 [INFO] [stdout] | [INFO] [stdout] 30 | ClientServerHandshake, ServerHandshakeAck, SessionState, VideoFrame, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::session::ServerSession` [INFO] [stdout] --> nidan-server/src/stream/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use crate::session::ServerSession; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-server/src/capture/mod.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | use tracing::{debug, info, warn}; [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: `Context` [INFO] [stdout] --> nidan-server/src/capture/x11.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> nidan-server/src/capture/x11.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-server/src/input.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputEventPayload` [INFO] [stdout] --> nidan-server/src/input.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | use nidan_proto::{InputBatch, InputEventPayload}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> nidan-server/src/encoder/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VideoCodec` [INFO] [stdout] --> nidan-server/src/encoder/mod.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 31 | use nidan_proto::{VideoCodec, VideoFrame}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-server/src/encoder/ffmpeg.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> nidan-server/src/encoder/openh264_enc.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VideoFrame` [INFO] [stdout] --> nidan-server/src/stream/mod.rs:30:62 [INFO] [stdout] | [INFO] [stdout] 30 | ClientServerHandshake, ServerHandshakeAck, SessionState, VideoFrame, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::session::ServerSession` [INFO] [stdout] --> nidan-server/src/stream/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use crate::session::ServerSession; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> nidan-client/src/stream/mod.rs:183:19 [INFO] [stdout] | [INFO] [stdout] 183 | let (ack, mut video_cipher, mut control_cipher) = Self::do_handshake(&conn, &self.config, &session_token).await [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/main.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | #[cfg(feature="remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/main.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pipewire-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | #[cfg(feature = "pipewire-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `pipewire-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:18:28 [INFO] [stdout] | [INFO] [stdout] 18 | use tracing::{debug, info, warn}; [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: `Context` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use tracing::{debug, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:52:11 [INFO] [stdout] | [INFO] [stdout] 52 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:33:19 [INFO] [stdout] | [INFO] [stdout] 33 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:133:11 [INFO] [stdout] | [INFO] [stdout] 133 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:215:15 [INFO] [stdout] | [INFO] [stdout] 215 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:126:15 [INFO] [stdout] | [INFO] [stdout] 126 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:129:19 [INFO] [stdout] | [INFO] [stdout] 129 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pipewire-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:139:15 [INFO] [stdout] | [INFO] [stdout] 139 | #[cfg(feature = "pipewire-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `pipewire-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `pipewire-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:145:19 [INFO] [stdout] | [INFO] [stdout] 145 | #[cfg(not(feature = "pipewire-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `pipewire-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | use anyhow::{Context, Result}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InputEventPayload` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | use nidan_proto::{InputBatch, InputEventPayload}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:69:19 [INFO] [stdout] | [INFO] [stdout] 69 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:94:15 [INFO] [stdout] | [INFO] [stdout] 94 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:154:19 [INFO] [stdout] | [INFO] [stdout] 154 | #[cfg(not(feature = "x11-capture"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `x11-capture` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:175:15 [INFO] [stdout] | [INFO] [stdout] 175 | #[cfg(feature = "x11-capture")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `x11-capture` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VideoCodec` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/mod.rs:31:19 [INFO] [stdout] | [INFO] [stdout] 31 | use nidan_proto::{VideoCodec, VideoFrame}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffmpeg` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg(all(feature = "ffmpeg", not(feature = "stub")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `ffmpeg` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffmpeg` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | #[cfg(all(feature = "ffmpeg", not(feature = "stub")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `ffmpeg` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffmpeg` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:66:19 [INFO] [stdout] | [INFO] [stdout] 66 | #[cfg(all(feature = "ffmpeg", not(feature = "stub")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `ffmpeg` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ffmpeg` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:98:23 [INFO] [stdout] | [INFO] [stdout] 98 | #[cfg(all(feature = "ffmpeg", not(feature = "stub")))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `ffmpeg` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/openh264_enc.rs:7:21 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{info, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `VideoFrame` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:30:62 [INFO] [stdout] | [INFO] [stdout] 30 | ClientServerHandshake, ServerHandshakeAck, SessionState, VideoFrame, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::session::ServerSession` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | use crate::session::ServerSession; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:54:11 [INFO] [stdout] | [INFO] [stdout] 54 | #[cfg(feature = "remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | #[cfg(feature = "remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:94:19 [INFO] [stdout] | [INFO] [stdout] 94 | #[cfg(feature = "remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:104:19 [INFO] [stdout] | [INFO] [stdout] 104 | #[cfg(feature = "remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `remotedesktop-input` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:137:19 [INFO] [stdout] | [INFO] [stdout] 137 | #[cfg(feature = "remotedesktop-input")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `openh264`, `stub`, and `vsock-source` [INFO] [stdout] = help: consider adding `remotedesktop-input` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> nidan-client/src/stream/mod.rs:183:19 [INFO] [stdout] | [INFO] [stdout] 183 | let (ack, mut video_cipher, mut control_cipher) = Self::do_handshake(&conn, &self.config, &session_token).await [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nal` [INFO] [stdout] --> nidan-client/src/decoder/ffmpeg.rs:82:37 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn decode_packet(&mut self, nal: &[u8], is_keyframe: bool) -> Result>> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_nal` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_video` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:195:14 [INFO] [stdout] | [INFO] [stdout] 195 | let (tx_video, rx_video) = mpsc::channel::(VIDEO_CHANNEL_SIZE); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_video` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx_video` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:195:24 [INFO] [stdout] | [INFO] [stdout] 195 | let (tx_video, rx_video) = mpsc::channel::(VIDEO_CHANNEL_SIZE); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rx_video` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_decoded` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:196:14 [INFO] [stdout] | [INFO] [stdout] 196 | let (tx_decoded, rx_decoded_sync) = { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx_decoded_sync` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:196:26 [INFO] [stdout] | [INFO] [stdout] 196 | let (tx_decoded, rx_decoded_sync) = { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rx_decoded_sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:197:18 [INFO] [stdout] | [INFO] [stdout] 197 | let (s, r) = std::sync::mpsc::sync_channel::(DECODED_CHANNEL_SIZE); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tr` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:199:22 [INFO] [stdout] | [INFO] [stdout] 199 | let (ts, tr) = mpsc::channel::(DECODED_CHANNEL_SIZE); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_input` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:202:14 [INFO] [stdout] | [INFO] [stdout] 202 | let (tx_input, rx_input) = mpsc::channel::(INPUT_CHANNEL_SIZE); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx_input` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:202:24 [INFO] [stdout] | [INFO] [stdout] 202 | let (tx_input, rx_input) = mpsc::channel::(INPUT_CHANNEL_SIZE); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rx_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metrics_rx` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:218:26 [INFO] [stdout] | [INFO] [stdout] 218 | let (metrics_tx, metrics_rx) = tokio::sync::watch::channel( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_number` [INFO] [stdout] --> nidan-server/src/input.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(display_number: u32, width: u32, height: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `data`, `width`, `height`, `pts_ms`, `monitor_index`, and `decode_duration_us` are never read [INFO] [stdout] --> nidan-client/src/decoder/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct DecodedFrame { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 35 | /// Pixels BGRA (4 bytes par pixel) [INFO] [stdout] 36 | pub data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 37 | /// Dimensions [INFO] [stdout] 38 | pub width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | pub height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub pts_ms: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 44 | /// Indice du moniteur source [INFO] [stdout] 45 | pub monitor_index: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Durée de décodage (µs) [INFO] [stdout] 47 | pub decode_duration_us: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecodedFrame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ffmpeg_hw_name` is never used [INFO] [stdout] --> nidan-client/src/decoder/mod.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl DecoderCodec { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn ffmpeg_hw_name(self) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `codec`, `width`, `height`, and `hardware` are never read [INFO] [stdout] --> nidan-client/src/decoder/ffmpeg.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct FfmpegDecoder { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 13 | codec: DecoderCodec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 14 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 15 | height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 16 | hardware: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `flush`, `width`, and `height` are never used [INFO] [stdout] --> nidan-client/src/decoder/ffmpeg.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl FfmpegDecoder { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn flush(&mut self) -> Result>> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn width(&self) -> u32 { self.width } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 148 | pub fn height(&self) -> u32 { self.height } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Openh264Decoder` is never constructed [INFO] [stdout] --> nidan-client/src/decoder/openh264_dec.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Openh264Decoder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> nidan-client/src/decoder/openh264_dec.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Openh264Decoder { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 27 | /// Crée un décodeur H.264 réel [INFO] [stdout] 28 | pub fn new(codec: DecoderCodec, _hardware: bool) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn stub(width: u32, height: u32) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn request_idr(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn decode_packet(&mut self, nal: &[u8], _is_keyframe: bool) -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn flush(&mut self) -> Result>> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn width(&self) -> u32 { self.width } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 124 | pub fn height(&self) -> u32 { self.height } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> nidan-client/src/input/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum InputEvent { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 18 | KeyDown { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | KeyUp { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | MouseMove { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | MouseDown { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | MouseUp { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | MouseScroll { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | ClipboardChanged { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InputEvent` 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: enum `ScalingMode` is never used [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum ScalingMode { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_str` is never used [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl ScalingMode { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 34 | pub fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderRect` is never constructed [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct RenderRect { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `compute` and `window_to_normalized` are never used [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:54:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl RenderRect { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 53 | /// Calcule le rectangle de destination selon le mode de scaling [INFO] [stdout] 54 | pub fn compute( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn window_to_normalized(&self, wx: i32, wy: i32) -> Option<(f32, f32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fps`, `frames_rendered`, `frames_dropped`, `decode_latency_us`, `last_frame_size`, and `connection_status` are never read [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 95 | pub struct RenderMetrics { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 96 | pub fps: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 97 | pub frames_rendered: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 98 | pub frames_dropped: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 99 | pub decode_latency_us: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 100 | pub last_frame_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | pub connection_status: ConnectionStatus, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RenderMetrics` 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 `Reconnecting` and `Disconnected` are never constructed [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 105 | pub enum ConnectionStatus { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 109 | Reconnecting, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 110 | Disconnected, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConnectionStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `label` is never used [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl ConnectionStatus { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 114 | pub fn label(self) -> &'static str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RendererHandle` is never constructed [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | pub struct RendererHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `start_renderer` is never used [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn start_renderer( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ClientSessionState` is never used [INFO] [stdout] --> nidan-client/src/session.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum ClientSessionState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientSessionMetrics` is never constructed [INFO] [stdout] --> nidan-client/src/session.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct ClientSessionMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientSession` is never constructed [INFO] [stdout] --> nidan-client/src/session.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct ClientSession { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `elapsed_secs`, `fps`, and `record_frame` are never used [INFO] [stdout] --> nidan-client/src/session.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ClientSession { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 43 | pub fn new(width: u32, height: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn elapsed_secs(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn fps(&self) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn record_frame(&mut self, size: usize, decode_us: u32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_number` [INFO] [stdout] --> nidan-server/src/input.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(display_number: u32, width: u32, height: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `nal` [INFO] [stdout] --> nidan-client/src/decoder/ffmpeg.rs:82:37 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn decode_packet(&mut self, nal: &[u8], is_keyframe: bool) -> Result>> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_nal` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> nidan-server/src/encoder/ffmpeg.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | fn init_encoder(params: &EncoderParams) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> nidan-server/src/encoder/ffmpeg.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | fn init_encoder(params: &EncoderParams) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handshake` [INFO] [stdout] --> nidan-server/src/stream/mod.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 432 | handshake: ClientServerHandshake, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handshake` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_video` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:195:14 [INFO] [stdout] | [INFO] [stdout] 195 | let (tx_video, rx_video) = mpsc::channel::(VIDEO_CHANNEL_SIZE); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_video` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx_video` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:195:24 [INFO] [stdout] | [INFO] [stdout] 195 | let (tx_video, rx_video) = mpsc::channel::(VIDEO_CHANNEL_SIZE); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rx_video` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_decoded` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:196:14 [INFO] [stdout] | [INFO] [stdout] 196 | let (tx_decoded, rx_decoded_sync) = { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx_decoded_sync` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:196:26 [INFO] [stdout] | [INFO] [stdout] 196 | let (tx_decoded, rx_decoded_sync) = { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rx_decoded_sync` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:197:18 [INFO] [stdout] | [INFO] [stdout] 197 | let (s, r) = std::sync::mpsc::sync_channel::(DECODED_CHANNEL_SIZE); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tr` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:199:22 [INFO] [stdout] | [INFO] [stdout] 199 | let (ts, tr) = mpsc::channel::(DECODED_CHANNEL_SIZE); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_tr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tx_input` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:202:14 [INFO] [stdout] | [INFO] [stdout] 202 | let (tx_input, rx_input) = mpsc::channel::(INPUT_CHANNEL_SIZE); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tx_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx_input` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:202:24 [INFO] [stdout] | [INFO] [stdout] 202 | let (tx_input, rx_input) = mpsc::channel::(INPUT_CHANNEL_SIZE); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rx_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `metrics_rx` [INFO] [stdout] --> nidan-client/src/stream/mod.rs:218:26 [INFO] [stdout] | [INFO] [stdout] 218 | let (metrics_tx, metrics_rx) = tokio::sync::watch::channel( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handshake` [INFO] [stdout] --> nidan-server/src/stream/mod.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 432 | handshake: ClientServerHandshake, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handshake` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stride` and `damage_rects` are never read [INFO] [stdout] --> nidan-server/src/capture/mod.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct RawFrame { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 34 | pub stride: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub damage_rects: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawFrame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, `width`, and `height` are never read [INFO] [stdout] --> nidan-server/src/capture/mod.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct DamageRect { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 48 | pub x: i16, [INFO] [stdout] | ^ [INFO] [stdout] 49 | pub y: i16, [INFO] [stdout] | ^ [INFO] [stdout] 50 | pub width: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | pub height: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DamageRect` 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 `supports_xshm`, `supports_xdamage`, and `pixel_format` are never read [INFO] [stdout] --> nidan-server/src/capture/mod.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct CapturerCapabilities { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 59 | pub supports_xshm: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 60 | pub supports_xdamage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 61 | pub pixel_format: PixelFormat, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapturerCapabilities` 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 `Rgba8888` and `Rgb888` are never constructed [INFO] [stdout] --> nidan-server/src/capture/mod.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum PixelFormat { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 67 | Bgra8888, [INFO] [stdout] 68 | Rgba8888, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 69 | Rgb888, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PixelFormat` 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 `bytes_per_pixel` and `ffmpeg_name` are never used [INFO] [stdout] --> nidan-server/src/capture/mod.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl PixelFormat { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 73 | /// Bytes par pixel [INFO] [stdout] 74 | pub fn bytes_per_pixel(self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn ffmpeg_name(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StubCapturer` is never constructed [INFO] [stdout] --> nidan-server/src/capture/mod.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 147 | pub struct StubCapturer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> nidan-server/src/capture/mod.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl StubCapturer { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 152 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `display_number` is never read [INFO] [stdout] --> nidan-server/src/capture/x11.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct X11Capturer { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 17 | caps: CapturerCapabilities, [INFO] [stdout] 18 | display_number: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> nidan-server/src/input.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct InputInjector { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clipboard` is never used [INFO] [stdout] --> nidan-server/src/input.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl InputInjector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn clipboard(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `flush`, `set_bitrate`, and `resolution` are never used [INFO] [stdout] --> nidan-server/src/encoder/ffmpeg.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl FfmpegEncoder { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn flush(&mut self) -> Result>> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn set_bitrate(&mut self, kbps: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn resolution(&self) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Openh264Encoder` is never constructed [INFO] [stdout] --> nidan-server/src/encoder/openh264_enc.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Openh264Encoder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `request_keyframe`, `encode_frame`, and `resolution` are never used [INFO] [stdout] --> nidan-server/src/encoder/openh264_enc.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Openh264Encoder { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 29 | /// Crée un encodeur H.264 openh264 [INFO] [stdout] 30 | pub fn new(params: &EncoderParams) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn request_keyframe(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn encode_frame(&mut self, frame: &RawFrame) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn resolution(&self) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bitrate_kbps`, `crf`, `h264_profile`, `hw_device`, and `threads` are never read [INFO] [stdout] --> nidan-server/src/encoder/params.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct EncoderParams { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub bitrate_kbps: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 20 | /// Qualité CRF (0–51 pour H.264, lower = better) [INFO] [stdout] 21 | pub crf: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | /// Profil H.264 : "baseline", "main", "high" [INFO] [stdout] 23 | pub h264_profile: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub hw_device: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub threads: u32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncoderParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ffmpeg_hw_codec_name` is never used [INFO] [stdout] --> nidan-server/src/encoder/params.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl EncoderParams { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn ffmpeg_hw_codec_name(&self) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerSession` is never constructed [INFO] [stdout] --> nidan-server/src/session.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct ServerSession { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionMetrics` is never constructed [INFO] [stdout] --> nidan-server/src/session.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct SessionMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `record_frame`, `fps_actual`, and `bitrate_kbps` are never used [INFO] [stdout] --> nidan-server/src/session.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl SessionMetrics { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 31 | pub fn record_frame(&mut self, size: usize, encode_us: u32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn fps_actual(&self, elapsed_secs: f64) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn bitrate_kbps(&self, elapsed_secs: f64) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `elapsed_secs` are never used [INFO] [stdout] --> nidan-server/src/session.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl ServerSession { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 49 | pub fn new(id: SessionId) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn elapsed_secs(&self) -> f64 { self.started_at.elapsed().as_secs_f64() } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MfaRequired` is never constructed [INFO] [stdout] --> nidan-broker/src/auth/mod.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 81 | pub enum AuthOutcome { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 87 | MfaRequired { challenge: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuthOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ExpiredCredentials` is never constructed [INFO] [stdout] --> nidan-broker/src/auth/mod.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub enum AuthFailureReason { [INFO] [stdout] | ----------------- variant in this enum [INFO] [stdout] 92 | InvalidCredentials, [INFO] [stdout] 93 | ExpiredCredentials, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuthFailureReason` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_proto_result_i32` is never used [INFO] [stdout] --> nidan-broker/src/auth/mod.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl AuthOutcome { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 114 | pub fn to_proto_result_i32(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `validate_session_token` is never used [INFO] [stdout] --> nidan-broker/src/auth/mod.rs:348:12 [INFO] [stdout] | [INFO] [stdout] 133 | impl AuthEngine { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 348 | pub fn validate_session_token(&self, token: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `verify_ignore_expiry` is never used [INFO] [stdout] --> nidan-broker/src/auth/jwt.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl JwtEngine { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn verify_ignore_expiry(&self, token: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `stats` is never used [INFO] [stdout] --> nidan-broker/src/auth/ratelimit.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl RateLimiter { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn stats(&self) -> RateLimitStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateLimitStats` is never constructed [INFO] [stdout] --> nidan-broker/src/auth/ratelimit.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct RateLimitStats { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mark_unhealthy` and `get` are never used [INFO] [stdout] --> nidan-broker/src/pool/mod.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 80 | impl VmPool { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn mark_unhealthy(&self, vm_id: &str, reason: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn get(&self, vm_id: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get` is never used [INFO] [stdout] --> nidan-broker/src/session.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl SessionRegistry { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn get(&self, session_id: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stride` and `damage_rects` are never read [INFO] [stdout] --> nidan-server/src/capture/mod.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct RawFrame { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 34 | pub stride: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub damage_rects: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawFrame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, `width`, and `height` are never read [INFO] [stdout] --> nidan-server/src/capture/mod.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct DamageRect { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 48 | pub x: i16, [INFO] [stdout] | ^ [INFO] [stdout] 49 | pub y: i16, [INFO] [stdout] | ^ [INFO] [stdout] 50 | pub width: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | pub height: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DamageRect` 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 `supports_xshm`, `supports_xdamage`, and `pixel_format` are never read [INFO] [stdout] --> nidan-server/src/capture/mod.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct CapturerCapabilities { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 59 | pub supports_xshm: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 60 | pub supports_xdamage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 61 | pub pixel_format: PixelFormat, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapturerCapabilities` 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 `Rgba8888` and `Rgb888` are never constructed [INFO] [stdout] --> nidan-server/src/capture/mod.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum PixelFormat { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 67 | Bgra8888, [INFO] [stdout] 68 | Rgba8888, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 69 | Rgb888, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PixelFormat` 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 `bytes_per_pixel` and `ffmpeg_name` are never used [INFO] [stdout] --> nidan-server/src/capture/mod.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 72 | impl PixelFormat { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 73 | /// Bytes par pixel [INFO] [stdout] 74 | pub fn bytes_per_pixel(self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn ffmpeg_name(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StubCapturer` is never constructed [INFO] [stdout] --> nidan-server/src/capture/mod.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 147 | pub struct StubCapturer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> nidan-server/src/capture/mod.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl StubCapturer { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 152 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `display_number` is never read [INFO] [stdout] --> nidan-server/src/capture/x11.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct X11Capturer { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 17 | caps: CapturerCapabilities, [INFO] [stdout] 18 | display_number: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> nidan-server/src/input.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct InputInjector { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clipboard` is never used [INFO] [stdout] --> nidan-server/src/input.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl InputInjector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn clipboard(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `flush`, `set_bitrate`, and `resolution` are never used [INFO] [stdout] --> nidan-server/src/encoder/ffmpeg.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl FfmpegEncoder { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn flush(&mut self) -> Result>> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn set_bitrate(&mut self, kbps: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn resolution(&self) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Openh264Encoder` is never constructed [INFO] [stdout] --> nidan-server/src/encoder/openh264_enc.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Openh264Encoder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `request_keyframe`, `encode_frame`, and `resolution` are never used [INFO] [stdout] --> nidan-server/src/encoder/openh264_enc.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Openh264Encoder { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 29 | /// Crée un encodeur H.264 openh264 [INFO] [stdout] 30 | pub fn new(params: &EncoderParams) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn request_keyframe(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn encode_frame(&mut self, frame: &RawFrame) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn resolution(&self) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bitrate_kbps`, `crf`, `h264_profile`, `hw_device`, and `threads` are never read [INFO] [stdout] --> nidan-server/src/encoder/params.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct EncoderParams { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub bitrate_kbps: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 20 | /// Qualité CRF (0–51 pour H.264, lower = better) [INFO] [stdout] 21 | pub crf: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | /// Profil H.264 : "baseline", "main", "high" [INFO] [stdout] 23 | pub h264_profile: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub hw_device: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub threads: u32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncoderParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ffmpeg_hw_codec_name` is never used [INFO] [stdout] --> nidan-server/src/encoder/params.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl EncoderParams { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn ffmpeg_hw_codec_name(&self) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerSession` is never constructed [INFO] [stdout] --> nidan-server/src/session.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct ServerSession { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionMetrics` is never constructed [INFO] [stdout] --> nidan-server/src/session.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct SessionMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `record_frame`, `fps_actual`, and `bitrate_kbps` are never used [INFO] [stdout] --> nidan-server/src/session.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl SessionMetrics { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 31 | pub fn record_frame(&mut self, size: usize, encode_us: u32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn fps_actual(&self, elapsed_secs: f64) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn bitrate_kbps(&self, elapsed_secs: f64) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `elapsed_secs` are never used [INFO] [stdout] --> nidan-server/src/session.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl ServerSession { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 49 | pub fn new(id: SessionId) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn elapsed_secs(&self) -> f64 { self.started_at.elapsed().as_secs_f64() } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `data`, `width`, `height`, `pts_ms`, `monitor_index`, and `decode_duration_us` are never read [INFO] [stdout] --> nidan-client/src/decoder/mod.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct DecodedFrame { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 35 | /// Pixels BGRA (4 bytes par pixel) [INFO] [stdout] 36 | pub data: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 37 | /// Dimensions [INFO] [stdout] 38 | pub width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 39 | pub height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub pts_ms: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 44 | /// Indice du moniteur source [INFO] [stdout] 45 | pub monitor_index: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 46 | /// Durée de décodage (µs) [INFO] [stdout] 47 | pub decode_duration_us: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecodedFrame` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `ffmpeg_hw_name` is never used [INFO] [stdout] --> nidan-client/src/decoder/mod.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl DecoderCodec { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn ffmpeg_hw_name(self) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `codec`, `width`, `height`, and `hardware` are never read [INFO] [stdout] --> nidan-client/src/decoder/ffmpeg.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct FfmpegDecoder { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 13 | codec: DecoderCodec, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 14 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 15 | height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 16 | hardware: bool, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `flush`, `width`, and `height` are never used [INFO] [stdout] --> nidan-client/src/decoder/ffmpeg.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl FfmpegDecoder { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn flush(&mut self) -> Result>> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn width(&self) -> u32 { self.width } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 148 | pub fn height(&self) -> u32 { self.height } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Openh264Decoder` is never constructed [INFO] [stdout] --> nidan-client/src/decoder/openh264_dec.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Openh264Decoder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> nidan-client/src/decoder/openh264_dec.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Openh264Decoder { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 27 | /// Crée un décodeur H.264 réel [INFO] [stdout] 28 | pub fn new(codec: DecoderCodec, _hardware: bool) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn stub(width: u32, height: u32) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn request_idr(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn decode_packet(&mut self, nal: &[u8], _is_keyframe: bool) -> Result>> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn flush(&mut self) -> Result>> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn width(&self) -> u32 { self.width } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 124 | pub fn height(&self) -> u32 { self.height } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `content` and `mime` are never read [INFO] [stdout] --> nidan-client/src/input/mod.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 50 | ClipboardChanged { [INFO] [stdout] | ---------------- fields in this variant [INFO] [stdout] 51 | content: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 52 | mime: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InputEvent` 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 `KeyUp`, `MouseDown`, `MouseUp`, and `MouseScroll` are never constructed [INFO] [stdout] --> nidan-client/src/input/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum InputEvent { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 27 | KeyUp { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | MouseDown { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | MouseUp { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | MouseScroll { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InputEvent` 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 `OneToOne` is never constructed [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum ScalingMode { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 30 | OneToOne, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScalingMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_str` is never used [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl ScalingMode { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 34 | pub fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `fps`, `frames_rendered`, `frames_dropped`, `decode_latency_us`, `last_frame_size`, and `connection_status` are never read [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 95 | pub struct RenderMetrics { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 96 | pub fps: f32, [INFO] [stdout] | ^^^ [INFO] [stdout] 97 | pub frames_rendered: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 98 | pub frames_dropped: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 99 | pub decode_latency_us: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 100 | pub last_frame_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | pub connection_status: ConnectionStatus, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RenderMetrics` 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 `Reconnecting` and `Disconnected` are never constructed [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 105 | pub enum ConnectionStatus { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 109 | Reconnecting, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 110 | Disconnected, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConnectionStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `label` is never used [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl ConnectionStatus { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] 114 | pub fn label(self) -> &'static str { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RendererHandle` is never constructed [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | pub struct RendererHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `start_renderer` is never used [INFO] [stdout] --> nidan-client/src/renderer/mod.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn start_renderer( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ClientSessionState` is never used [INFO] [stdout] --> nidan-client/src/session.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum ClientSessionState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientSessionMetrics` is never constructed [INFO] [stdout] --> nidan-client/src/session.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct ClientSessionMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientSession` is never constructed [INFO] [stdout] --> nidan-client/src/session.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct ClientSession { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `elapsed_secs`, `fps`, and `record_frame` are never used [INFO] [stdout] --> nidan-client/src/session.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl ClientSession { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 43 | pub fn new(width: u32, height: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn elapsed_secs(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn fps(&self) -> f32 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn record_frame(&mut self, size: usize, decode_us: u32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> nidan-proxy-encoder/src/capture/vsock.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 131 | let mut listener = VsockListener::bind(listen_addr) [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_number` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(display_number: u32, width: u32, height: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> nidan-proxy-encoder/src/capture/vsock.rs:131:17 [INFO] [stdout] | [INFO] [stdout] 131 | let mut listener = VsockListener::bind(listen_addr) [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | fn init_encoder(params: &EncoderParams) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MfaRequired` is never constructed [INFO] [stdout] --> nidan-broker/src/auth/mod.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 81 | pub enum AuthOutcome { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 87 | MfaRequired { challenge: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuthOutcome` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ExpiredCredentials` is never constructed [INFO] [stdout] --> nidan-broker/src/auth/mod.rs:93:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub enum AuthFailureReason { [INFO] [stdout] | ----------------- variant in this enum [INFO] [stdout] 92 | InvalidCredentials, [INFO] [stdout] 93 | ExpiredCredentials, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AuthFailureReason` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_proto_result_i32` is never used [INFO] [stdout] --> nidan-broker/src/auth/mod.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 113 | impl AuthOutcome { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 114 | pub fn to_proto_result_i32(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `validate_session_token` is never used [INFO] [stdout] --> nidan-broker/src/auth/mod.rs:348:12 [INFO] [stdout] | [INFO] [stdout] 133 | impl AuthEngine { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 348 | pub fn validate_session_token(&self, token: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `decoding_key` and `validation` are never read [INFO] [stdout] --> nidan-broker/src/auth/jwt.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct JwtEngine { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 39 | encoding_key: EncodingKey, [INFO] [stdout] 40 | decoding_key: DecodingKey, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | validation: Validation, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `verify` and `verify_ignore_expiry` are never used [INFO] [stdout] --> nidan-broker/src/auth/jwt.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl JwtEngine { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn verify(&self, token: &str) -> Result { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn verify_ignore_expiry(&self, token: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_common_name` is never used [INFO] [stdout] --> nidan-broker/src/auth/mtls.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn extract_common_name(cert_der: &[u8]) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `stats` is never used [INFO] [stdout] --> nidan-broker/src/auth/ratelimit.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 46 | impl RateLimiter { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn stats(&self) -> RateLimitStats { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RateLimitStats` is never constructed [INFO] [stdout] --> nidan-broker/src/auth/ratelimit.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct RateLimitStats { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mark_unhealthy` and `get` are never used [INFO] [stdout] --> nidan-broker/src/pool/mod.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 80 | impl VmPool { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn mark_unhealthy(&self, vm_id: &str, reason: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | pub fn get(&self, vm_id: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get` is never used [INFO] [stdout] --> nidan-broker/src/session.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl SessionRegistry { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn get(&self, session_id: &str) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_number` [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:39:16 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new(display_number: u32, width: u32, height: u32) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_number` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handshake` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:503:9 [INFO] [stdout] | [INFO] [stdout] 503 | handshake: ClientServerHandshake, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handshake` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | fn init_encoder(params: &EncoderParams) -> Result { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `handshake` [INFO] [stdout] --> nidan-proxy-encoder/src/stream/mod.rs:503:9 [INFO] [stdout] | [INFO] [stdout] 503 | handshake: ClientServerHandshake, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_handshake` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stride` and `damage_rects` are never read [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct RawFrame { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub stride: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub damage_rects: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawFrame` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, `width`, and `height` are never read [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct DamageRect { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 54 | pub x: i16, [INFO] [stdout] | ^ [INFO] [stdout] 55 | pub y: i16, [INFO] [stdout] | ^ [INFO] [stdout] 56 | pub width: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 57 | pub height: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DamageRect` 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 `supports_xshm`, `supports_xdamage`, and `pixel_format` are never read [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct CapturerCapabilities { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 65 | pub supports_xshm: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 66 | pub supports_xdamage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | pub pixel_format: PixelFormat, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapturerCapabilities` 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 `Rgba8888` and `Rgb888` are never constructed [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub enum PixelFormat { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 73 | Bgra8888, [INFO] [stdout] 74 | Rgba8888, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 75 | Rgb888, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PixelFormat` 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 `bytes_per_pixel` and `ffmpeg_name` are never used [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 78 | impl PixelFormat { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 79 | /// Bytes par pixel [INFO] [stdout] 80 | pub fn bytes_per_pixel(self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn ffmpeg_name(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StubCapturer` is never constructed [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct StubCapturer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 172 | impl StubCapturer { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 173 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `display_number` is never read [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct X11Capturer { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 17 | caps: CapturerCapabilities, [INFO] [stdout] 18 | display_number: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `current_capabilities` is never used [INFO] [stdout] --> nidan-proxy-encoder/src/capture/vsock_service.rs:217:18 [INFO] [stdout] | [INFO] [stdout] 115 | impl VsockService { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 217 | pub async fn current_capabilities(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct InputInjector { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clipboard` is never used [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl InputInjector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn clipboard(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FfmpegEncoder` is never constructed [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct FfmpegEncoder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EncoderInner` is never used [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:24:6 [INFO] [stdout] | [INFO] [stdout] 24 | enum EncoderInner { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl FfmpegEncoder { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 41 | /// Crée et initialise un encodeur FFmpeg [INFO] [stdout] 42 | pub fn new(params: &EncoderParams) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn init_encoder(params: &EncoderParams) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn request_keyframe(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn encode_frame(&mut self, frame: &RawFrame) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn encode_stub(&self, frame: &RawFrame, is_keyframe: bool) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn flush(&mut self) -> Result>> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn set_bitrate(&mut self, kbps: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn resolution(&self) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `resolution` is never used [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/openh264_enc.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Openh264Encoder { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn resolution(&self) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bitrate_kbps`, `crf`, `h264_profile`, `hw_device`, and `threads` are never read [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/params.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct EncoderParams { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub bitrate_kbps: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 20 | /// Qualité CRF (0–51 pour H.264, lower = better) [INFO] [stdout] 21 | pub crf: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | /// Profil H.264 : "baseline", "main", "high" [INFO] [stdout] 23 | pub h264_profile: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub hw_device: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub threads: u32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncoderParams` 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 `ffmpeg_codec_name` and `ffmpeg_hw_codec_name` are never used [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/params.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl EncoderParams { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn ffmpeg_codec_name(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn ffmpeg_hw_codec_name(&self) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerSession` is never constructed [INFO] [stdout] --> nidan-proxy-encoder/src/session.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct ServerSession { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionMetrics` is never constructed [INFO] [stdout] --> nidan-proxy-encoder/src/session.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct SessionMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `record_frame`, `fps_actual`, and `bitrate_kbps` are never used [INFO] [stdout] --> nidan-proxy-encoder/src/session.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl SessionMetrics { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 31 | pub fn record_frame(&mut self, size: usize, encode_us: u32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn fps_actual(&self, elapsed_secs: f64) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn bitrate_kbps(&self, elapsed_secs: f64) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `elapsed_secs` are never used [INFO] [stdout] --> nidan-proxy-encoder/src/session.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl ServerSession { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 49 | pub fn new(id: SessionId) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn elapsed_secs(&self) -> f64 { self.started_at.elapsed().as_secs_f64() } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `stride` and `damage_rects` are never read [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct RawFrame { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub stride: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub damage_rects: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawFrame` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, `width`, and `height` are never read [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct DamageRect { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 54 | pub x: i16, [INFO] [stdout] | ^ [INFO] [stdout] 55 | pub y: i16, [INFO] [stdout] | ^ [INFO] [stdout] 56 | pub width: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 57 | pub height: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DamageRect` 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 `supports_xshm`, `supports_xdamage`, and `pixel_format` are never read [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct CapturerCapabilities { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 65 | pub supports_xshm: bool, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 66 | pub supports_xdamage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | pub pixel_format: PixelFormat, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CapturerCapabilities` 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 `Rgba8888` and `Rgb888` are never constructed [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub enum PixelFormat { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 73 | Bgra8888, [INFO] [stdout] 74 | Rgba8888, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 75 | Rgb888, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PixelFormat` 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 `bytes_per_pixel` and `ffmpeg_name` are never used [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 78 | impl PixelFormat { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 79 | /// Bytes par pixel [INFO] [stdout] 80 | pub fn bytes_per_pixel(self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn ffmpeg_name(self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StubCapturer` is never constructed [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct StubCapturer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> nidan-proxy-encoder/src/capture/mod.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 172 | impl StubCapturer { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 173 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `display_number` is never read [INFO] [stdout] --> nidan-proxy-encoder/src/capture/x11.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct X11Capturer { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 17 | caps: CapturerCapabilities, [INFO] [stdout] 18 | display_number: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `current_capabilities` is never used [INFO] [stdout] --> nidan-proxy-encoder/src/capture/vsock_service.rs:217:18 [INFO] [stdout] | [INFO] [stdout] 115 | impl VsockService { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 217 | pub async fn current_capabilities(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct InputInjector { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | width: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 29 | height: u32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clipboard` is never used [INFO] [stdout] --> nidan-proxy-encoder/src/input.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl InputInjector { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn clipboard(&self) -> &[u8] { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FfmpegEncoder` is never constructed [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct FfmpegEncoder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EncoderInner` is never used [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:24:6 [INFO] [stdout] | [INFO] [stdout] 24 | enum EncoderInner { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/ffmpeg.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl FfmpegEncoder { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 41 | /// Crée et initialise un encodeur FFmpeg [INFO] [stdout] 42 | pub fn new(params: &EncoderParams) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | fn init_encoder(params: &EncoderParams) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn request_keyframe(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn encode_frame(&mut self, frame: &RawFrame) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn encode_stub(&self, frame: &RawFrame, is_keyframe: bool) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn flush(&mut self) -> Result>> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn set_bitrate(&mut self, kbps: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn resolution(&self) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `resolution` is never used [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/openh264_enc.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Openh264Encoder { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn resolution(&self) -> (u32, u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bitrate_kbps`, `crf`, `h264_profile`, `hw_device`, and `threads` are never read [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/params.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct EncoderParams { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | pub bitrate_kbps: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 20 | /// Qualité CRF (0–51 pour H.264, lower = better) [INFO] [stdout] 21 | pub crf: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | /// Profil H.264 : "baseline", "main", "high" [INFO] [stdout] 23 | pub h264_profile: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub hw_device: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub threads: u32, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EncoderParams` 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 `ffmpeg_codec_name` and `ffmpeg_hw_codec_name` are never used [INFO] [stdout] --> nidan-proxy-encoder/src/encoder/params.rs:77:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl EncoderParams { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn ffmpeg_codec_name(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn ffmpeg_hw_codec_name(&self) -> Option<&'static str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerSession` is never constructed [INFO] [stdout] --> nidan-proxy-encoder/src/session.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct ServerSession { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionMetrics` is never constructed [INFO] [stdout] --> nidan-proxy-encoder/src/session.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct SessionMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `record_frame`, `fps_actual`, and `bitrate_kbps` are never used [INFO] [stdout] --> nidan-proxy-encoder/src/session.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl SessionMetrics { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 31 | pub fn record_frame(&mut self, size: usize, encode_us: u32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn fps_actual(&self, elapsed_secs: f64) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn bitrate_kbps(&self, elapsed_secs: f64) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `elapsed_secs` are never used [INFO] [stdout] --> nidan-proxy-encoder/src/session.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl ServerSession { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 49 | pub fn new(id: SessionId) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn elapsed_secs(&self) -> f64 { self.started_at.elapsed().as_secs_f64() } [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [optimized + debuginfo] target(s) in 2m 39s [INFO] running `Command { std: "docker" "inspect" "9619ee5d2bef41fad2c8d5627e927b476eac7e5e2d0c315f17304593e3462deb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9619ee5d2bef41fad2c8d5627e927b476eac7e5e2d0c315f17304593e3462deb", kill_on_drop: false }` [INFO] [stdout] 9619ee5d2bef41fad2c8d5627e927b476eac7e5e2d0c315f17304593e3462deb