[INFO] cloning repository https://github.com/py-ultra/MICAFP
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/py-ultra/MICAFP" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpy-ultra%2FMICAFP", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpy-ultra%2FMICAFP'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3b368e3deedf1e0d2bd9d73382bc89b6343a8709
[INFO] checking py-ultra/MICAFP against 416264364aa47959f5827723e1d7dabc95d0744b for pr-162242
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpy-ultra%2FMICAFP" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/py-ultra/MICAFP
[INFO] finished tweaking git repo https://github.com/py-ultra/MICAFP
[INFO] tweaked toml for git repo https://github.com/py-ultra/MICAFP written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/py-ultra/MICAFP on toolchain 416264364aa47959f5827723e1d7dabc95d0744b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+416264364aa47959f5827723e1d7dabc95d0744b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/py-ultra/MICAFP 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" "+416264364aa47959f5827723e1d7dabc95d0744b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-0-tc2/source/daemon/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] [stderr] warning: unused workspace dependency `serde`
[INFO] [stderr]  --> Cargo.toml:9:25
[INFO] [stderr]   |
[INFO] [stderr] 9 | [workspace.dependencies.serde]
[INFO] [stderr]   |                         ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_workspace_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the workspace dependency `serde`
[INFO] [stderr] warning: unused workspace dependency `thiserror`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | thiserror = "1"
[INFO] [stderr]   | ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the workspace dependency `thiserror`
[INFO] [stderr] warning: unused workspace dependency `tokio`
[INFO] [stderr]   --> Cargo.toml:13:25
[INFO] [stderr]    |
[INFO] [stderr] 13 | [workspace.dependencies.tokio]
[INFO] [stderr]    |                         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `tokio`
[INFO] [stderr] warning: unused workspace dependency `tracing`
[INFO] [stderr]  --> Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | tracing = "0.1"
[INFO] [stderr]   | ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the workspace dependency `tracing`
[INFO] [stderr] warning: workspace (manifest) generated 4 warnings
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded c2rust-bitfields v0.18.0
[INFO] [stderr]   Downloaded c2rust-bitfields-derive v0.18.0
[INFO] [stderr]   Downloaded tun v0.6.1
[INFO] [stderr]   Downloaded ioctl-sys v0.8.0
[INFO] [stderr]   Downloaded rustc-demangle v0.1.27
[INFO] [stderr]   Downloaded signal-hook-tokio v0.3.1
[INFO] [stderr]   Downloaded rumqttc v0.24.0
[INFO] [stderr]   Downloaded wintun v0.3.2
[INFO] [stderr]   Downloaded hyper v1.10.0
[INFO] [stderr]   Downloaded kem v0.3.0-pre.0
[INFO] [stderr]   Downloaded rw-stream-sink v0.4.0
[INFO] [stderr]   Downloaded hybrid-array v0.2.3
[INFO] [stderr]   Downloaded memsec v0.7.0
[INFO] [stderr]   Downloaded ml-kem v0.2.3
[INFO] [stderr]   Downloaded libp2p v0.53.2
[INFO] [stderr]   Downloaded multiaddr v0.18.2
[INFO] [stderr]   Downloaded multihash v0.19.5
[INFO] [stderr]   Downloaded data-encoding-macro v0.1.20
[INFO] [stderr]   Downloaded base256emoji v1.0.2
[INFO] [stderr]   Downloaded match-lookup v0.1.2
[INFO] [stderr]   Downloaded libp2p-identity v0.2.14
[INFO] [stderr]   Downloaded const-str v0.4.3
[INFO] [stderr]   Downloaded multibase v0.9.2
[INFO] [stderr]   Downloaded data-encoding-macro-internal v0.1.18
[INFO] [stderr]   Downloaded libp2p-yamux v0.45.2
[INFO] [stderr]   Downloaded lzma-rust2 v0.15.8
[INFO] [stderr]   Downloaded yamux v0.13.10
[INFO] [stderr]   Downloaded yamux v0.12.1
[INFO] [stderr]   Downloaded libp2p-core v0.41.3
[INFO] [stderr]   Downloaded multistream-select v0.13.0
[INFO] [stderr]   Downloaded unsigned-varint v0.7.2
[INFO] [stderr]   Downloaded libp2p-tcp v0.41.0
[INFO] [stderr]   Downloaded if-watch v3.2.2
[INFO] [stderr]   Downloaded if-addrs v0.15.0
[INFO] [stderr]   Downloaded quick-protobuf v0.8.1
[INFO] [stderr]   Downloaded rtnetlink v0.20.0
[INFO] [stderr]   Downloaded libp2p-noise v0.44.0
[INFO] [stderr]   Downloaded ndarray v0.16.1
[INFO] [stderr]   Downloaded libp2p-swarm v0.44.2
[INFO] [stderr]   Downloaded asynchronous-codec v0.7.0
[INFO] [stderr]   Downloaded libp2p-metrics v0.14.1
[INFO] [stderr]   Downloaded prometheus-client-derive-encode v0.4.2
[INFO] [stderr]   Downloaded quick-protobuf-codec v0.3.1
[INFO] [stderr]   Downloaded netlink-packet-route v0.28.0
[INFO] [stderr]   Downloaded prometheus-client v0.22.3
[INFO] [stderr]   Downloaded libp2p-identify v0.44.2
[INFO] [stderr]   Downloaded libp2p-kad v0.45.3
[INFO] [stderr]   Downloaded libp2p-connection-limits v0.3.1
[INFO] [stderr]   Downloaded libp2p-allow-block-list v0.3.0
[INFO] [stderr]   Downloaded vsprintf v2.0.0
[INFO] [stderr]   Downloaded ipnet v0.20.1
[INFO] [stderr]   Downloaded io-uring v0.6.4
[INFO] [stderr]   Downloaded futures-bounded v0.2.4
[INFO] [stderr]   Downloaded nix v0.27.1
[INFO] [stderr]   Downloaded build-target v0.4.0
[INFO] [stderr]   Downloaded dns-lookup v2.1.1
[INFO] [stderr]   Downloaded oslog v0.2.0
[INFO] [stderr]   Downloaded flutter_rust_bridge_macros v2.12.0
[INFO] [stderr]   Downloaded delegate-attr v0.3.0
[INFO] [stderr]   Downloaded android_logger v0.15.1
[INFO] [stderr]   Downloaded allo-isolate v0.1.27
[INFO] [stderr]   Downloaded dart-sys v4.1.5
[INFO] [stderr]   Downloaded snow v0.9.6
[INFO] [stderr]   Downloaded sha3 v0.10.9
[INFO] [stderr]   Downloaded flutter_rust_bridge v2.12.0
[INFO] [stderr]   Downloaded libbpf-rs v0.22.1
[INFO] [stderr]   Downloaded ip_network_table-deps-treebitmap v0.5.0
[INFO] [stderr]   Downloaded ip_network_table v0.2.0
[INFO] [stderr]   Downloaded boringtun v0.7.1
[INFO] [stderr]   Downloaded trust-dns-client v0.23.2
[INFO] [stderr]   Downloaded pqcrypto-mlkem v0.1.1
[INFO] [stderr]   Downloaded sntpc v0.3.9
[INFO] [stderr]   Downloaded nostr-sdk-net v0.26.0
[INFO] [stderr]   Downloaded pqcrypto-mldsa v0.1.2
[INFO] [stderr]   Downloaded nostr-sdk v0.26.1
[INFO] [stderr]   Downloaded wasm-ws v0.1.1
[INFO] [stderr]   Downloaded libbpf-sys v1.7.0+v1.7.0
[INFO] [stderr]   Downloaded url-fork v3.0.1
[INFO] [stderr]   Downloaded bitcoin_hashes v0.12.0
[INFO] [stderr]   Downloaded bitcoin-private v0.1.0
[INFO] [stderr]   Downloaded bech32 v0.9.1
[INFO] [stderr]   Downloaded negentropy v0.3.1
[INFO] [stderr]   Downloaded bitcoin v0.30.3
[INFO] [stderr]   Downloaded bitcoin_hashes v0.14.100
[INFO] [stderr]   Downloaded async-utility v0.1.1
[INFO] [stderr]   Downloaded serde_bencode v0.2.4
[INFO] [stderr]   Downloaded secp256k1-sys v0.8.2
[INFO] [stderr]   Downloaded imgref v1.12.1
[INFO] [stderr]   Downloaded windows v0.51.1
[INFO] [stderr]   Downloaded nostr-database v0.26.0
[INFO] [stderr]   Downloaded nostr v0.26.3
[INFO] [stderr]   Downloaded mainline v1.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bdda6b651479a36849e7c7029779e5b753a6f881d2d589e0952c8327ef76e563
[INFO] running `Command { std: "docker" "start" "bdda6b651479a36849e7c7029779e5b753a6f881d2d589e0952c8327ef76e563", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bdda6b651479a36849e7c7029779e5b753a6f881d2d589e0952c8327ef76e563", 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" "bdda6b651479a36849e7c7029779e5b753a6f881d2d589e0952c8327ef76e563" "/opt/rustwide/cargo-home/bin/cargo" "+416264364aa47959f5827723e1d7dabc95d0744b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bdda6b651479a36849e7c7029779e5b753a6f881d2d589e0952c8327ef76e563", 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" "bdda6b651479a36849e7c7029779e5b753a6f881d2d589e0952c8327ef76e563" "/opt/rustwide/cargo-home/bin/cargo" "+416264364aa47959f5827723e1d7dabc95d0744b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/daemon/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr] warning: unused workspace dependency `serde`
[INFO] [stderr]  --> Cargo.toml:9:25
[INFO] [stderr]   |
[INFO] [stderr] 9 | [workspace.dependencies.serde]
[INFO] [stderr]   |                         ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_workspace_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the workspace dependency `serde`
[INFO] [stderr] warning: unused workspace dependency `thiserror`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | thiserror = "1"
[INFO] [stderr]   | ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the workspace dependency `thiserror`
[INFO] [stderr] warning: unused workspace dependency `tokio`
[INFO] [stderr]   --> Cargo.toml:13:25
[INFO] [stderr]    |
[INFO] [stderr] 13 | [workspace.dependencies.tokio]
[INFO] [stderr]    |                         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the workspace dependency `tokio`
[INFO] [stderr] warning: unused workspace dependency `tracing`
[INFO] [stderr]  --> Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | tracing = "0.1"
[INFO] [stderr]   | ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the workspace dependency `tracing`
[INFO] [stderr] warning: workspace (manifest) generated 4 warnings
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking memchr v2.8.1
[INFO] [stderr]     Checking log v0.4.30
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking rustc-demangle v0.1.27
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]     Checking http v1.4.1
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking data-encoding v2.11.0
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking object v0.37.3
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling openssl v0.10.80
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]    Compiling bitcoin-private v0.1.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking hex-conservative v0.2.2
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling built v0.8.1
[INFO] [stderr]    Compiling bitcoin v0.30.3
[INFO] [stderr]     Checking aligned v0.4.3
[INFO] [stderr]     Checking crc32fast v1.5.0
[INFO] [stderr]     Checking bitcoin_hashes v0.14.100
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]     Checking no_std_io2 v0.9.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking bech32 v0.9.1
[INFO] [stderr]     Checking y4m v0.8.0
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking bitstream-io v4.10.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]     Checking negentropy v0.3.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]     Checking zune-core v0.5.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling openssl-sys v0.9.116
[INFO] [stderr]    Compiling secp256k1-sys v0.8.2
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking imgref v1.12.1
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking avif-serialize v0.8.9
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking fax v0.2.7
[INFO] [stderr]     Checking crc-catalog v2.5.0
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]     Checking pxfm v0.1.29
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking lebe v0.5.3
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]     Checking gif v0.14.2
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking crc v3.4.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]    Compiling quinn-udp v0.5.14
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]     Checking siphasher v1.0.3
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]     Checking no-std-net v0.6.0
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]     Checking sha1_smol v1.0.1
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking sntpc v0.3.9
[INFO] [stderr]     Checking sysinfo v0.30.13
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling quinn v0.11.9
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking ip_network_table-deps-treebitmap v0.5.0
[INFO] [stderr]     Checking lru-slab v0.1.2
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking keccak v0.1.6
[INFO] [stderr]     Checking ip_network v0.4.1
[INFO] [stderr]     Checking sha3 v0.10.9
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking ip_network_table v0.2.0
[INFO] [stderr]     Checking yasna v0.5.2
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking hybrid-array v0.2.3
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking webpki-roots v1.0.7
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]    Compiling profiling-procmacros v1.0.18
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking profiling v1.0.18
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking rustls-native-certs v0.7.3
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking kem v0.3.0-pre.0
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking ioctl-sys v0.8.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]     Checking resolv-conf v0.7.6
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking ml-kem v0.2.3
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking rcgen v0.13.2
[INFO] [stderr]     Checking ndarray v0.16.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking bitcoin_hashes v0.12.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking flume v0.11.1
[INFO] [stderr]     Checking url-fork v3.0.1
[INFO] [stderr]     Checking bip39 v2.2.2
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking serde_bencode v0.2.4
[INFO] [stderr]    Compiling prost-build v0.13.5
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking dashmap v6.2.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking uuid v1.23.2
[INFO] [stderr]     Checking dns-lookup v2.1.1
[INFO] [stderr]     Checking memsec v0.7.0
[INFO] [stderr]     Checking tracing-appender v0.2.5
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking arc-swap v1.9.1
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking ipnet v0.20.1
[INFO] [stderr]     Checking unicode-segmentation v1.13.3
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]     Checking compact_str v0.7.1
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking boringtun v0.7.1
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]    Compiling stability v0.2.1
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]    Compiling micafp-unified-shield-daemon v9.0.0 (/opt/rustwide/workdir/daemon)
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking ratatui v0.26.3
[INFO] [stderr]     Checking fastbloom v0.14.1
[INFO] [stderr]     Checking secp256k1 v0.27.0
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking mainline v1.5.0
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking trust-dns-proto v0.23.2
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-socks v0.5.3
[INFO] [stderr]     Checking async-utility v0.1.1
[INFO] [stderr]     Checking tokio-rustls v0.25.0
[INFO] [stderr]     Checking signal-hook-tokio v0.3.1
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking rumqttc v0.24.0
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tun v0.6.1
[INFO] [stderr]     Checking nostr-sdk-net v0.26.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking trust-dns-client v0.23.2
[INFO] [stderr]     Checking trust-dns-resolver v0.23.2
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper v1.10.0
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking nostr v0.26.3
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.2
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking quinn-proto v0.11.14
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking nostr-database v0.26.0
[INFO] [stderr]     Checking nostr-sdk v0.26.1
[INFO] [stderr]     Checking micafp-core v10.0.0 (/opt/rustwide/workdir/micafp-core)
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, 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: `crate::MicafpError`
[INFO] [stdout]   --> micafp-core/src/channel/runner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::MicafpError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::MicafpError`
[INFO] [stdout]   --> micafp-core/src/time/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::MicafpError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> micafp-core/src/cache/mod.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::MicafpError`
[INFO] [stdout]   --> micafp-core/src/cache/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::MicafpError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::MicafpError`
[INFO] [stdout]   --> micafp-core/src/tamper/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::MicafpError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> micafp-core/src/multikey/mod.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{info, warn};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MicafpError` and `runner`
[INFO] [stdout]   --> micafp-core/src/engine/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     MicafpError,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 12 |     cache::{CacheState, EncryptedCache},
[INFO] [stdout] 13 |     channel::{stats::ChannelStats, runner},
[INFO] [stdout]    |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, 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: `crate::MicafpError`
[INFO] [stdout]   --> micafp-core/src/channel/runner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::MicafpError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::MicafpError`
[INFO] [stdout]   --> micafp-core/src/time/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::MicafpError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> micafp-core/src/cache/mod.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::MicafpError`
[INFO] [stdout]   --> micafp-core/src/cache/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::MicafpError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::MicafpError`
[INFO] [stdout]   --> micafp-core/src/tamper/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::MicafpError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]    --> micafp-core/src/tamper/mod.rs:133:25
[INFO] [stdout]     |
[INFO] [stdout] 133 |         use std::time::{Instant, Duration};
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> micafp-core/src/multikey/mod.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{info, warn};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MicafpError` and `runner`
[INFO] [stdout]   --> micafp-core/src/engine/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     MicafpError,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 12 |     cache::{CacheState, EncryptedCache},
[INFO] [stdout] 13 |     channel::{stats::ChannelStats, runner},
[INFO] [stdout]    |                                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0576]: cannot find associated type `Ciphertext` in trait `KemCore`
[INFO] [stdout]   --> daemon/src/security/post_quantum.rs:56:47
[INFO] [stdout]    |
[INFO] [stdout] 56 | type MlKemCiphertext = <MlKem768 as KemCore>::Ciphertext;
[INFO] [stdout]    |                                               ^^^^^^^^^^ not found in `KemCore`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0576]: cannot find associated type `Ciphertext` in trait `KemCore`
[INFO] [stdout]   --> daemon/src/security/post_quantum.rs:56:47
[INFO] [stdout]    |
[INFO] [stdout] 56 | type MlKemCiphertext = <MlKem768 as KemCore>::Ciphertext;
[INFO] [stdout]    |                                               ^^^^^^^^^^ not found in `KemCore`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `load_p2p_bootstrap_peers` in the crate root
[INFO] [stdout]   --> daemon/src/p2p/yggdrasil_overlay.rs:91:40
[INFO] [stdout]    |
[INFO] [stdout] 91 |         if let Ok(peers_json) = crate::load_p2p_bootstrap_peers() {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^ not found in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `profiles` in this scope
[INFO] [stdout]   --> daemon/src/isp_detector/mod.rs:66:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |     profiles: serde_json::Value,
[INFO] [stdout]    |     -------- a field by that name exists in `Self`
[INFO] [stdout] ...
[INFO] [stdout] 66 |         Self { profiles }
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `load_p2p_bootstrap_peers` in the crate root
[INFO] [stdout]   --> daemon/src/p2p/yggdrasil_overlay.rs:91:40
[INFO] [stdout]    |
[INFO] [stdout] 91 |         if let Ok(peers_json) = crate::load_p2p_bootstrap_peers() {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^ not found in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `available_transport_names` in module `crate::transport`
[INFO] [stdout]    --> daemon/src/frb_api/mod.rs:175:23
[INFO] [stdout]     |
[INFO] [stdout] 175 |     crate::transport::available_transport_names()
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::transport`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `profiles` in this scope
[INFO] [stdout]   --> daemon/src/isp_detector/mod.rs:66:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |     profiles: serde_json::Value,
[INFO] [stdout]    |     -------- a field by that name exists in `Self`
[INFO] [stdout] ...
[INFO] [stdout] 66 |         Self { profiles }
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/security/anti_forensics.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::sync::Arc;
[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: `tokio::fs`
[INFO] [stdout]   --> daemon/src/security/anti_forensics.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tokio::fs;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OsRng as AesOsRng`
[INFO] [stdout]   --> daemon/src/security/device_secret.rs:24:36
[INFO] [stdout]    |
[INFO] [stdout] 24 | use aes_gcm::aead::{Aead, KeyInit, OsRng as AesOsRng};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/security/ephemeral_identity.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/security/ephemeral_identity.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `available_transport_names` in module `crate::transport`
[INFO] [stdout]    --> daemon/src/frb_api/mod.rs:175:23
[INFO] [stdout]     |
[INFO] [stdout] 175 |     crate::transport::available_transport_names()
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::transport`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UdpSocket`
[INFO] [stdout]   --> daemon/src/transport/dns_tunnel.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::net::{TcpStream, UdpSocket};
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CdnProvider`
[INFO] [stdout]  --> daemon/src/transport/cdn_tunnel.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::domain_fronting::{CdnProvider, DomainFrontingTransport};
[INFO] [stdout]   |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio::io::{AsyncRead, AsyncWrite, AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> daemon/src/transport/chinese_cdn.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> daemon/src/transport/chinese_cdn.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> daemon/src/transport/chinese_cdn.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> daemon/src/transport/cloudflare_worker.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> daemon/src/transport/doh_tunnel.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> daemon/src/transport/icmp_tunnel.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio::io::{AsyncRead, AsyncWrite};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> daemon/src/transport/icmp_tunnel.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |         (!sum as u16)
[INFO] [stdout]     |         ^           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 269 -         (!sum as u16)
[INFO] [stdout] 269 +         !sum as u16
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]   --> daemon/src/transport/manager.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use async_trait::async_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> daemon/src/transport/manager.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Client`, `Event`, `Packet`, and `QoS`
[INFO] [stdout]  --> daemon/src/transport/mqtt_tunnel.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rumqttc::{MqttOptions, Client, Event, Packet, QoS};
[INFO] [stdout]   |                            ^^^^^^  ^^^^^  ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> daemon/src/transport/multihop_chain.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> daemon/src/transport/multihop_chain.rs:18:27
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]   --> daemon/src/transport/multihop_chain.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use async_trait::async_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> daemon/src/transport/multihop_chain.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |               ^^^^^              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/transport/reality.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharedSecret`
[INFO] [stdout]   --> daemon/src/transport/reality.rs:18:48
[INFO] [stdout]    |
[INFO] [stdout] 18 | use x25519_dalek::{EphemeralSecret, PublicKey, SharedSecret};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/transport/shadow_tls.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/transport/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/obfuscation/traffic_shaper.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 | use tracing::{debug, trace, warn};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/obfuscation/wasm_obfuscator.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> daemon/src/obfuscation/wasm_obfuscator.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/obfuscation/wasm_obfuscator.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> daemon/src/obfuscation/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> daemon/src/obfuscation/shadow_tls/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> daemon/src/obfuscation/reality_advanced.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> daemon/src/obfuscation/reality_advanced.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> daemon/src/obfuscation/reality_advanced.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]   --> daemon/src/obfuscation/reality_advanced.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tracing::{debug, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/cores/core_manager.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> daemon/src/ai/ucb_bandit.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> daemon/src/ai/onnx_runtime.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> daemon/src/ai/adversarial_traffic.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> daemon/src/ai/adversarial_traffic.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/ai/adversarial_traffic.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> daemon/src/ai/rl_transport_selector.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/ai/rl_transport_selector.rs:29:28
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> daemon/src/ai/dpi_classifier.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array1`
[INFO] [stdout]  --> daemon/src/ai/dpi_classifier.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::Array1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpAddr`
[INFO] [stdout]  --> daemon/src/scanner/dpi_scanner.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::net::{IpAddr, SocketAddr};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> daemon/src/scanner/dpi_scanner.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> daemon/src/scanner/network_assessor.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> daemon/src/scanner/network_assessor.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{info, warn};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> daemon/src/scanner/port_scanner.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]  --> daemon/src/scanner/port_scanner.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::net::SocketAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> daemon/src/scanner/port_scanner.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/scanner/port_scanner.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> daemon/src/p2p/i2p_overlay.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/p2p/i2p_overlay.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `yggdrasil-ffi`
[INFO] [stdout]    --> daemon/src/p2p/yggdrasil_overlay.rs:493:7
[INFO] [stdout]     |
[INFO] [stdout] 493 | #[cfg(feature = "yggdrasil-ffi")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `ai-inference`, `all-advanced`, `android-jni`, `default`, `ebpf`, `flutter_rust_bridge`, `frb-mobile`, `full`, `go-bridge`, `hardened-memory`, `io-uring`, `io_uring`, `libbpf-rs`, `libp2p-optional`, `ort`, `p2p`, `platform-android`, `platform-ios`, `platform-linux`, `platform-openwrt`, `platform-windows`, `post-quantum`, `pqc`, `pqcrypto-mldsa`, `pqcrypto-mlkem`, `quantum-extensions`, `quantum-full`, `quic-transport`, `tun`, and `userspace-tunnel`
[INFO] [stdout]     = help: consider adding `yggdrasil-ffi` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> daemon/src/p2p/yggdrasil_overlay.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> daemon/src/p2p/yggdrasil_overlay.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> daemon/src/p2p/yggdrasil_overlay.rs:30:28
[INFO] [stdout]    |
[INFO] [stdout] 30 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |                            ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> daemon/src/national_intranet/acoustic_covert.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorCode`
[INFO] [stdout]   --> daemon/src/national_intranet/nain_detector.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::error::{ErrorCode, ShieldError};
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cursor`
[INFO] [stdout]   --> daemon/src/national_intranet/ntp_covert.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::io::{Cursor, Read, Write};
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ipv4Addr`
[INFO] [stdout]   --> daemon/src/national_intranet/arvancloud_relay.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::net::{IpAddr, Ipv4Addr};
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zeroize`
[INFO] [stdout]   --> daemon/src/quantum/quantum_ratchet.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use zeroize::{Zeroize, ZeroizeOnDrop};
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zeroize`
[INFO] [stdout]  --> daemon/src/quantum/pqc_key_store.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use zeroize::{Zeroize, ZeroizeOnDrop};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> daemon/src/quantum/lattice_onion.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/quantum/lattice_onion.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/quantum/neural_steganography.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> daemon/src/quantum/qkd_simulation.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> daemon/src/quantum/quantum_noise.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::ShieldError`
[INFO] [stdout]   --> daemon/src/quantum/quantum_noise.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::error::ShieldError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::ShieldError`
[INFO] [stdout]   --> daemon/src/quantum/quantum_obfuscator.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::error::ShieldError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> daemon/src/quantum/zkp_auth.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/battery/adaptive_duty.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/battery/coalesced_timer.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> daemon/src/battery/coalesced_timer.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/battery/coalesced_timer.rs:56:35
[INFO] [stdout]    |
[INFO] [stdout] 56 | use tracing::{debug, info, trace, warn};
[INFO] [stdout]    |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast`
[INFO] [stdout]   --> daemon/src/battery/optimizer.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | use tokio::sync::broadcast;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/battery/optimizer.rs:42:22
[INFO] [stdout]    |
[INFO] [stdout] 42 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]   --> daemon/src/battery/power_state.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                      ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/platform/linux/zapret.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/platform/linux/zapret.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IpAddr`, `Ipv4Addr`, and `Ipv6Addr`
[INFO] [stdout]   --> daemon/src/tunnel/boringtun_adapter.rs:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr};
[INFO] [stdout]    |                ^^^^^^  ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> daemon/src/tunnel/boringtun_adapter.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 | use tokio::io::{AsyncRead, AsyncWrite};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `oneshot`
[INFO] [stdout]   --> daemon/src/tunnel/boringtun_adapter.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 | use tokio::sync::{mpsc, oneshot, RwLock};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trace`
[INFO] [stdout]   --> daemon/src/tunnel/boringtun_adapter.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ObfuscationMode`
[INFO] [stdout]   --> daemon/src/tunnel/boringtun_adapter.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 | use crate::tunnel::{ObfuscationMode, TunnelConfig, TunnelError, TunnelState, TunnelStats};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpAddr`
[INFO] [stdout]   --> daemon/src/tunnel/mod.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::net::{IpAddr, Ipv4Addr};
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> daemon/src/config/endpoint_manager.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorCode`
[INFO] [stdout]   --> daemon/src/config/endpoint_manager.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::error::{ErrorCode, ShieldError};
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorCode`
[INFO] [stdout]   --> daemon/src/config/ipfs_updater.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::error::{ErrorCode, ShieldError};
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::endpoint_manager::EndpointUpdate`
[INFO] [stdout]   --> daemon/src/config/ipfs_updater.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::endpoint_manager::EndpointUpdate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::IpAddr`
[INFO] [stdout]   --> daemon/src/config/isp_profile.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::net::IpAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/config/isp_profile.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> daemon/src/monitoring/alert_manager.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> daemon/src/monitoring/health_checker.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]  --> daemon/src/monitoring/latency_tracker.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> daemon/src/mesh/gossip_protocol.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::debug`
[INFO] [stdout]  --> daemon/src/mesh/gossip_protocol.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> daemon/src/mesh/mesh_coordinator.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EphemeralSecret`, `PublicKey`, and `SharedSecret`
[INFO] [stdout]   --> daemon/src/mesh/mesh_crypto.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use x25519_dalek::{EphemeralSecret, PublicKey, SharedSecret};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> daemon/src/mesh/topology_manager.rs:6:45
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{BinaryHeap, HashMap, HashSet};
[INFO] [stdout]   |                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/resilience/circuit_breaker.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/resilience/fallback_chain.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> daemon/src/resilience/watchdog.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::Stream`
[INFO] [stdout]  --> daemon/src/orchestrator/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> daemon/src/orchestrator/control_plane.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/orchestrator/control_plane.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{error, info, warn};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> daemon/src/orchestrator/failover.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{info, warn};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> daemon/src/load_balancer/swrr.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> daemon/src/telemetry/reporter.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tracing::{info, warn};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> daemon/src/fallback/health_monitor.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> daemon/src/fallback/hot_swap.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockSignalSeverity`
[INFO] [stdout]   --> daemon/src/fallback/hot_swap.rs:10:53
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::{ActiveTunnel, TunnelError, TunnelStats, BlockSignalSeverity};
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `watch`
[INFO] [stdout]   --> daemon/src/fallback/mod.rs:71:34
[INFO] [stdout]    |
[INFO] [stdout] 71 | use tokio::sync::{Mutex, RwLock, watch};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interval`
[INFO] [stdout]   --> daemon/src/fallback/mod.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 | use tokio::time::{interval, sleep, timeout};
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockSignalType`
[INFO] [stdout]   --> daemon/src/fallback/mod.rs:76:35
[INFO] [stdout]    |
[INFO] [stdout] 76 | use block_detector::{BlockSignal, BlockSignalType};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/license/cache.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]   --> daemon/src/license/ntp_verifier.rs:29:36
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/license/ntp_verifier.rs:30:28
[INFO] [stdout]    |
[INFO] [stdout] 30 | use tracing::{debug, warn, error};
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]   --> daemon/src/license/token.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                           ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::warn`
[INFO] [stdout]   --> daemon/src/license/token.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::warn;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> daemon/src/license/enforcer.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PollResult`
[INFO] [stdout]   --> daemon/src/license/enforcer.rs:39:40
[INFO] [stdout]    |
[INFO] [stdout] 39 | use super::nostr_poller::{NostrPoller, PollResult};
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::token::LicensePayload`
[INFO] [stdout]   --> daemon/src/license/enforcer.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use super::token::LicensePayload;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> daemon/src/license/mod.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warn`
[INFO] [stdout]   --> daemon/src/license/mod.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 | use tracing::{error, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> daemon/src/isp_detector/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/security/anti_forensics.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::sync::Arc;
[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: `tokio::fs`
[INFO] [stdout]   --> daemon/src/security/anti_forensics.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tokio::fs;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OsRng as AesOsRng`
[INFO] [stdout]   --> daemon/src/security/device_secret.rs:24:36
[INFO] [stdout]    |
[INFO] [stdout] 24 | use aes_gcm::aead::{Aead, KeyInit, OsRng as AesOsRng};
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/security/ephemeral_identity.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/security/ephemeral_identity.rs:18:22
[INFO] [stdout]    |
[INFO] [stdout] 18 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UdpSocket`
[INFO] [stdout]   --> daemon/src/transport/dns_tunnel.rs:16:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tokio::net::{TcpStream, UdpSocket};
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CdnProvider`
[INFO] [stdout]  --> daemon/src/transport/cdn_tunnel.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::domain_fronting::{CdnProvider, DomainFrontingTransport};
[INFO] [stdout]   |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio::io::{AsyncRead, AsyncWrite, AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> daemon/src/transport/chinese_cdn.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> daemon/src/transport/chinese_cdn.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> daemon/src/transport/chinese_cdn.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> daemon/src/transport/cloudflare_worker.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> daemon/src/transport/doh_tunnel.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> daemon/src/transport/icmp_tunnel.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tokio::io::{AsyncRead, AsyncWrite};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> daemon/src/transport/icmp_tunnel.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |         (!sum as u16)
[INFO] [stdout]     |         ^           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 269 -         (!sum as u16)
[INFO] [stdout] 269 +         !sum as u16
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]   --> daemon/src/transport/manager.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use async_trait::async_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> daemon/src/transport/manager.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Client`, `Event`, `Packet`, and `QoS`
[INFO] [stdout]  --> daemon/src/transport/mqtt_tunnel.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rumqttc::{MqttOptions, Client, Event, Packet, QoS};
[INFO] [stdout]   |                            ^^^^^^  ^^^^^  ^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> daemon/src/transport/multihop_chain.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Instant`
[INFO] [stdout]   --> daemon/src/transport/multihop_chain.rs:18:27
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]   --> daemon/src/transport/multihop_chain.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use async_trait::async_trait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> daemon/src/transport/multihop_chain.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |               ^^^^^              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/transport/reality.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharedSecret`
[INFO] [stdout]   --> daemon/src/transport/reality.rs:18:48
[INFO] [stdout]    |
[INFO] [stdout] 18 | use x25519_dalek::{EphemeralSecret, PublicKey, SharedSecret};
[INFO] [stdout]    |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/transport/shadow_tls.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/transport/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/obfuscation/traffic_shaper.rs:43:29
[INFO] [stdout]    |
[INFO] [stdout] 43 | use tracing::{debug, trace, warn};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/obfuscation/wasm_obfuscator.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> daemon/src/obfuscation/wasm_obfuscator.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/obfuscation/wasm_obfuscator.rs:59:34
[INFO] [stdout]    |
[INFO] [stdout] 59 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> daemon/src/obfuscation/mod.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> daemon/src/obfuscation/shadow_tls/mod.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> daemon/src/obfuscation/reality_advanced.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> daemon/src/obfuscation/reality_advanced.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> daemon/src/obfuscation/reality_advanced.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]   --> daemon/src/obfuscation/reality_advanced.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tracing::{debug, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/cores/core_manager.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> daemon/src/ai/ucb_bandit.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> daemon/src/ai/onnx_runtime.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> daemon/src/ai/adversarial_traffic.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::path::PathBuf;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> daemon/src/ai/adversarial_traffic.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/ai/adversarial_traffic.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> daemon/src/ai/rl_transport_selector.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/ai/rl_transport_selector.rs:29:28
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> daemon/src/ai/dpi_classifier.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray::Array1`
[INFO] [stdout]  --> daemon/src/ai/dpi_classifier.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::Array1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpAddr`
[INFO] [stdout]  --> daemon/src/scanner/dpi_scanner.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::net::{IpAddr, SocketAddr};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> daemon/src/scanner/dpi_scanner.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> daemon/src/scanner/network_assessor.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> daemon/src/scanner/network_assessor.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{info, warn};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> daemon/src/scanner/port_scanner.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]  --> daemon/src/scanner/port_scanner.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::net::SocketAddr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> daemon/src/scanner/port_scanner.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/scanner/port_scanner.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> daemon/src/p2p/i2p_overlay.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/p2p/i2p_overlay.rs:28:34
[INFO] [stdout]    |
[INFO] [stdout] 28 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `yggdrasil-ffi`
[INFO] [stdout]    --> daemon/src/p2p/yggdrasil_overlay.rs:493:7
[INFO] [stdout]     |
[INFO] [stdout] 493 | #[cfg(feature = "yggdrasil-ffi")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected values for `feature` are: `ai-inference`, `all-advanced`, `android-jni`, `default`, `ebpf`, `flutter_rust_bridge`, `frb-mobile`, `full`, `go-bridge`, `hardened-memory`, `io-uring`, `io_uring`, `libbpf-rs`, `libp2p-optional`, `ort`, `p2p`, `platform-android`, `platform-ios`, `platform-linux`, `platform-openwrt`, `platform-windows`, `post-quantum`, `pqc`, `pqcrypto-mldsa`, `pqcrypto-mlkem`, `quantum-extensions`, `quantum-full`, `quic-transport`, `tun`, and `userspace-tunnel`
[INFO] [stdout]     = help: consider adding `yggdrasil-ffi` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> daemon/src/p2p/yggdrasil_overlay.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> daemon/src/p2p/yggdrasil_overlay.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error` and `warn`
[INFO] [stdout]   --> daemon/src/p2p/yggdrasil_overlay.rs:30:28
[INFO] [stdout]    |
[INFO] [stdout] 30 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |                            ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> daemon/src/national_intranet/acoustic_covert.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorCode`
[INFO] [stdout]   --> daemon/src/national_intranet/nain_detector.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::error::{ErrorCode, ShieldError};
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cursor`
[INFO] [stdout]   --> daemon/src/national_intranet/ntp_covert.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::io::{Cursor, Read, Write};
[INFO] [stdout]    |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ipv4Addr`
[INFO] [stdout]   --> daemon/src/national_intranet/arvancloud_relay.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 | use std::net::{IpAddr, Ipv4Addr};
[INFO] [stdout]    |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zeroize`
[INFO] [stdout]   --> daemon/src/quantum/quantum_ratchet.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use zeroize::{Zeroize, ZeroizeOnDrop};
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Zeroize`
[INFO] [stdout]  --> daemon/src/quantum/pqc_key_store.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use zeroize::{Zeroize, ZeroizeOnDrop};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::SocketAddr`
[INFO] [stdout]   --> daemon/src/quantum/lattice_onion.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::net::SocketAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/quantum/lattice_onion.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/quantum/neural_steganography.rs:26:28
[INFO] [stdout]    |
[INFO] [stdout] 26 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> daemon/src/quantum/qkd_simulation.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> daemon/src/quantum/quantum_noise.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::ShieldError`
[INFO] [stdout]   --> daemon/src/quantum/quantum_noise.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::error::ShieldError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::error::ShieldError`
[INFO] [stdout]   --> daemon/src/quantum/quantum_obfuscator.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::error::ShieldError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> daemon/src/quantum/zkp_auth.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/battery/adaptive_duty.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/battery/coalesced_timer.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::RwLock`
[INFO] [stdout]   --> daemon/src/battery/coalesced_timer.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | use tokio::sync::RwLock;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/battery/coalesced_timer.rs:56:35
[INFO] [stdout]    |
[INFO] [stdout] 56 | use tracing::{debug, info, trace, warn};
[INFO] [stdout]    |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast`
[INFO] [stdout]   --> daemon/src/battery/optimizer.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | use tokio::sync::broadcast;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/battery/optimizer.rs:42:22
[INFO] [stdout]    |
[INFO] [stdout] 42 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]   --> daemon/src/battery/power_state.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                      ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/platform/linux/zapret.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/platform/linux/zapret.rs:55:34
[INFO] [stdout]    |
[INFO] [stdout] 55 | use tracing::{debug, info, warn, error};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IpAddr`, `Ipv4Addr`, and `Ipv6Addr`
[INFO] [stdout]   --> daemon/src/tunnel/boringtun_adapter.rs:46:16
[INFO] [stdout]    |
[INFO] [stdout] 46 | use std::net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr};
[INFO] [stdout]    |                ^^^^^^  ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncRead` and `AsyncWrite`
[INFO] [stdout]   --> daemon/src/tunnel/boringtun_adapter.rs:51:17
[INFO] [stdout]    |
[INFO] [stdout] 51 | use tokio::io::{AsyncRead, AsyncWrite};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `oneshot`
[INFO] [stdout]   --> daemon/src/tunnel/boringtun_adapter.rs:53:25
[INFO] [stdout]    |
[INFO] [stdout] 53 | use tokio::sync::{mpsc, oneshot, RwLock};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `trace`
[INFO] [stdout]   --> daemon/src/tunnel/boringtun_adapter.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 | use tracing::{debug, error, info, trace, warn};
[INFO] [stdout]    |                                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ObfuscationMode`
[INFO] [stdout]   --> daemon/src/tunnel/boringtun_adapter.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 | use crate::tunnel::{ObfuscationMode, TunnelConfig, TunnelError, TunnelState, TunnelStats};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IpAddr`
[INFO] [stdout]   --> daemon/src/tunnel/mod.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::net::{IpAddr, Ipv4Addr};
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> daemon/src/config/endpoint_manager.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorCode`
[INFO] [stdout]   --> daemon/src/config/endpoint_manager.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::error::{ErrorCode, ShieldError};
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorCode`
[INFO] [stdout]   --> daemon/src/config/ipfs_updater.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | use crate::error::{ErrorCode, ShieldError};
[INFO] [stdout]    |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::endpoint_manager::EndpointUpdate`
[INFO] [stdout]   --> daemon/src/config/ipfs_updater.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::endpoint_manager::EndpointUpdate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::net::IpAddr`
[INFO] [stdout]   --> daemon/src/config/isp_profile.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::net::IpAddr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/config/isp_profile.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> daemon/src/monitoring/alert_manager.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> daemon/src/monitoring/health_checker.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]  --> daemon/src/monitoring/latency_tracker.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> daemon/src/mesh/gossip_protocol.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::debug`
[INFO] [stdout]  --> daemon/src/mesh/gossip_protocol.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> daemon/src/mesh/mesh_coordinator.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EphemeralSecret`, `PublicKey`, and `SharedSecret`
[INFO] [stdout]   --> daemon/src/mesh/mesh_crypto.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use x25519_dalek::{EphemeralSecret, PublicKey, SharedSecret};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> daemon/src/mesh/topology_manager.rs:6:45
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::{BinaryHeap, HashMap, HashSet};
[INFO] [stdout]   |                                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/resilience/circuit_breaker.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]   --> daemon/src/resilience/fallback_chain.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::Arc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]   --> daemon/src/resilience/watchdog.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::task::JoinHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::Stream`
[INFO] [stdout]  --> daemon/src/orchestrator/mod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::Stream;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> daemon/src/orchestrator/control_plane.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/orchestrator/control_plane.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{error, info, warn};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> daemon/src/orchestrator/failover.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{info, warn};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> daemon/src/load_balancer/swrr.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> daemon/src/telemetry/reporter.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tracing::{info, warn};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> daemon/src/fallback/health_monitor.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> daemon/src/fallback/hot_swap.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockSignalSeverity`
[INFO] [stdout]   --> daemon/src/fallback/hot_swap.rs:10:53
[INFO] [stdout]    |
[INFO] [stdout] 10 | use super::{ActiveTunnel, TunnelError, TunnelStats, BlockSignalSeverity};
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `watch`
[INFO] [stdout]   --> daemon/src/fallback/mod.rs:71:34
[INFO] [stdout]    |
[INFO] [stdout] 71 | use tokio::sync::{Mutex, RwLock, watch};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interval`
[INFO] [stdout]   --> daemon/src/fallback/mod.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 | use tokio::time::{interval, sleep, timeout};
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockSignalType`
[INFO] [stdout]   --> daemon/src/fallback/mod.rs:76:35
[INFO] [stdout]    |
[INFO] [stdout] 76 | use block_detector::{BlockSignal, BlockSignalType};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> daemon/src/license/cache.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 | use tracing::{debug, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]   --> daemon/src/license/ntp_verifier.rs:29:36
[INFO] [stdout]    |
[INFO] [stdout] 29 | use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                                    ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> daemon/src/license/ntp_verifier.rs:30:28
[INFO] [stdout]    |
[INFO] [stdout] 30 | use tracing::{debug, warn, error};
[INFO] [stdout]    |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]   --> daemon/src/license/token.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::time::{Duration, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                           ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::warn`
[INFO] [stdout]   --> daemon/src/license/token.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::warn;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]   --> daemon/src/license/enforcer.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use std::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PollResult`
[INFO] [stdout]   --> daemon/src/license/enforcer.rs:39:40
[INFO] [stdout]    |
[INFO] [stdout] 39 | use super::nostr_poller::{NostrPoller, PollResult};
[INFO] [stdout]    |                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::token::LicensePayload`
[INFO] [stdout]   --> daemon/src/license/enforcer.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | use super::token::LicensePayload;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]   --> daemon/src/license/mod.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warn`
[INFO] [stdout]   --> daemon/src/license/mod.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 | use tracing::{error, info, warn};
[INFO] [stdout]    |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> daemon/src/isp_detector/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:49:35
[INFO] [stdout]    |
[INFO] [stdout] 49 |     async fn publish_token(&self, token: &SignedToken) -> Result<(), MicafpError> {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> micafp-core/src/channel/dht_bep44.rs:41:35
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn publish_token(&self, token: &SignedToken) -> Result<(), MicafpError> {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:49:35
[INFO] [stdout]    |
[INFO] [stdout] 49 |     async fn publish_token(&self, token: &SignedToken) -> Result<(), MicafpError> {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]   --> micafp-core/src/channel/dht_bep44.rs:41:35
[INFO] [stdout]    |
[INFO] [stdout] 41 |     async fn publish_token(&self, token: &SignedToken) -> Result<(), MicafpError> {
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> micafp-core/src/token/mod.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     message: &[u8],
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> micafp-core/src/token/mod.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 194 |     message: &[u8],
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels.
[INFO] [stdout]    --> daemon/src/security/anti_forensics.rs:557:26
[INFO] [stdout]     |
[INFO] [stdout] 557 |     ring::constant_time::verify_slices_are_equal(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_uri`
[INFO] [stdout]   --> micafp-core/src/deadman/mod.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |         if let Some(ref token_uri) = state.token.clone() {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels.
[INFO] [stdout]    --> daemon/src/security/anti_forensics.rs:557:26
[INFO] [stdout]     |
[INFO] [stdout] 557 |     ring::constant_time::verify_slices_are_equal(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_uri`
[INFO] [stdout]    --> micafp-core/src/engine/mod.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |         if let Some(ref token_uri) = state.token.clone() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ordered`
[INFO] [stdout]    --> micafp-core/src/engine/mod.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let ordered: Vec<u8> = sorted.iter()
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ordered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_uri`
[INFO] [stdout]   --> micafp-core/src/deadman/mod.rs:26:21
[INFO] [stdout]    |
[INFO] [stdout] 26 |         if let Some(ref token_uri) = state.token.clone() {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COVER_DOMAINS` is never used
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const COVER_DOMAINS: &[(&str, &str)] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEEK_BRIDGE_IP` is never used
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const MEEK_BRIDGE_IP: &str = "104.236.76.95";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEEK_BRIDGE_PORT` is never used
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const MEEK_BRIDGE_PORT: u16 = 443;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PINNED_CERT_SHA256` is never used
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const PINNED_CERT_SHA256: &str = "0000000000000000000000000000000000000000000000000000000000000000";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEARTBEAT_INTERVAL_DAYS` is never used
[INFO] [stdout]  --> micafp-core/src/deadman/mod.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const HEARTBEAT_INTERVAL_DAYS: u64 = 7;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXTENSION_SECS` is never used
[INFO] [stdout]  --> micafp-core/src/deadman/mod.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const EXTENSION_SECS:          u64 = 90 * 86400;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `commitment` is never read
[INFO] [stdout]   --> micafp-core/src/zk/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ZkExpiryProof {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     commitment: [u8; 32],
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ZkExpiryProof` 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: variable `max_temp_milliC` should have a snake case name
[INFO] [stdout]    --> micafp-core/src/resource/mod.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut max_temp_milliC: i64 = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `max_temp_milli_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0204]: the trait `std::marker::Copy` cannot be implemented for this type
[INFO] [stdout]    --> daemon/src/platform/linux/zapret.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 140 | #[derive(Debug, Clone, Copy, PartialEq, Eq)]
[INFO] [stdout]     |                        ---- in this derive macro expansion
[INFO] [stdout] 141 | pub enum NfQueueVerdict {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     Modified(Vec<u8>),
[INFO] [stdout]     |              ------- this field does not implement `std::marker::Copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_uri`
[INFO] [stdout]    --> micafp-core/src/engine/mod.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |         if let Some(ref token_uri) = state.token.clone() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_uri`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ordered`
[INFO] [stdout]    --> micafp-core/src/engine/mod.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let ordered: Vec<u8> = sorted.iter()
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ordered`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:676:58
[INFO] [stdout]     |
[INFO] [stdout] 676 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 676 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:655:58
[INFO] [stdout]     |
[INFO] [stdout] 655 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 655 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:600:58
[INFO] [stdout]     |
[INFO] [stdout] 600 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 600 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/icmp_tunnel.rs:643:58
[INFO] [stdout]     |
[INFO] [stdout] 643 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 643 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/meek.rs:543:58
[INFO] [stdout]     |
[INFO] [stdout] 543 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 543 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/mqtt_ws.rs:533:58
[INFO] [stdout]     |
[INFO] [stdout] 533 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 533 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/naive_proxy.rs:483:58
[INFO] [stdout]     |
[INFO] [stdout] 483 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 483 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/reality.rs:459:58
[INFO] [stdout]     |
[INFO] [stdout] 459 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 459 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/shadow_tls.rs:421:58
[INFO] [stdout]     |
[INFO] [stdout] 421 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 421 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/tuic_v5.rs:464:58
[INFO] [stdout]     |
[INFO] [stdout] 464 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 464 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/vless.rs:885:58
[INFO] [stdout]     |
[INFO] [stdout] 885 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 885 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:508:58
[INFO] [stdout]     |
[INFO] [stdout] 508 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 508 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COVER_DOMAINS` is never used
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const COVER_DOMAINS: &[(&str, &str)] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEEK_BRIDGE_IP` is never used
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const MEEK_BRIDGE_IP: &str = "104.236.76.95";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEEK_BRIDGE_PORT` is never used
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const MEEK_BRIDGE_PORT: u16 = 443;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PINNED_CERT_SHA256` is never used
[INFO] [stdout]   --> micafp-core/src/channel/meek_lite.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const PINNED_CERT_SHA256: &str = "0000000000000000000000000000000000000000000000000000000000000000";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEARTBEAT_INTERVAL_DAYS` is never used
[INFO] [stdout]  --> micafp-core/src/deadman/mod.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const HEARTBEAT_INTERVAL_DAYS: u64 = 7;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXTENSION_SECS` is never used
[INFO] [stdout]  --> micafp-core/src/deadman/mod.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const EXTENSION_SECS:          u64 = 90 * 86400;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `commitment` is never read
[INFO] [stdout]   --> micafp-core/src/zk/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ZkExpiryProof {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     commitment: [u8; 32],
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ZkExpiryProof` 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: variable `max_temp_milliC` should have a snake case name
[INFO] [stdout]    --> micafp-core/src/resource/mod.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let mut max_temp_milliC: i64 = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `max_temp_milli_c`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0204]: the trait `std::marker::Copy` cannot be implemented for this type
[INFO] [stdout]    --> daemon/src/platform/linux/zapret.rs:141:10
[INFO] [stdout]     |
[INFO] [stdout] 140 | #[derive(Debug, Clone, Copy, PartialEq, Eq)]
[INFO] [stdout]     |                        ---- in this derive macro expansion
[INFO] [stdout] 141 | pub enum NfQueueVerdict {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     Modified(Vec<u8>),
[INFO] [stdout]     |              ------- this field does not implement `std::marker::Copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking micafp-admin v10.0.0 (/opt/rustwide/workdir/micafp-admin)
[INFO] [stderr]     Checking micafp-client v10.0.0 (/opt/rustwide/workdir/micafp-client)
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:676:58
[INFO] [stdout]     |
[INFO] [stdout] 676 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 676 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:655:58
[INFO] [stdout]     |
[INFO] [stdout] 655 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 655 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:600:58
[INFO] [stdout]     |
[INFO] [stdout] 600 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 600 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/icmp_tunnel.rs:643:58
[INFO] [stdout]     |
[INFO] [stdout] 643 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 643 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/meek.rs:543:58
[INFO] [stdout]     |
[INFO] [stdout] 543 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 543 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/mqtt_ws.rs:533:58
[INFO] [stdout]     |
[INFO] [stdout] 533 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 533 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/naive_proxy.rs:483:58
[INFO] [stdout]     |
[INFO] [stdout] 483 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 483 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/reality.rs:459:58
[INFO] [stdout]     |
[INFO] [stdout] 459 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 459 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/shadow_tls.rs:421:58
[INFO] [stdout]     |
[INFO] [stdout] 421 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 421 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/tuic_v5.rs:464:58
[INFO] [stdout]     |
[INFO] [stdout] 464 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 464 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/vless.rs:885:58
[INFO] [stdout]     |
[INFO] [stdout] 885 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 885 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:508:58
[INFO] [stdout]     |
[INFO] [stdout] 508 |     async fn connect(&self, addr: &SocketAddr) -> Result<TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: you can add the `dyn` keyword if you want a trait object
[INFO] [stdout]     |
[INFO] [stdout] 508 |     async fn connect(&self, addr: &SocketAddr) -> Result<dyn TransportConnection, ShieldError> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `CdnCertVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:617:53
[INFO] [stdout]     |
[INFO] [stdout] 617 | impl rustls::client::danger::ServerCertVerifier for CdnCertVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `CdnCertVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `CdnCertVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 607 + #[derive(Debug)]
[INFO] [stdout] 608 | struct CdnCertVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cache::EncryptedCache` and `deadman`
[INFO] [stdout]   --> micafp-admin/src/main.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | use micafp_core::{cache::EncryptedCache, deadman};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `DoqCertVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:392:53
[INFO] [stdout]     |
[INFO] [stdout] 392 | impl rustls::client::danger::ServerCertVerifier for DoqCertVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `DoqCertVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `DoqCertVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 382 + #[derive(Debug)]
[INFO] [stdout] 383 | struct DoqCertVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cache::EncryptedCache` and `deadman`
[INFO] [stdout]   --> micafp-admin/src/main.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | use micafp_core::{cache::EncryptedCache, deadman};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `HysteriaServerVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:531:53
[INFO] [stdout]     |
[INFO] [stdout] 531 | impl rustls::client::danger::ServerCertVerifier for HysteriaServerVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `HysteriaServerVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `HysteriaServerVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 520 + #[derive(Debug)]
[INFO] [stdout] 521 | struct HysteriaServerVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `NaiveCertVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/naive_proxy.rs:430:53
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl rustls::client::danger::ServerCertVerifier for NaiveCertVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `NaiveCertVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `NaiveCertVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 420 + #[derive(Debug)]
[INFO] [stdout] 421 | struct NaiveCertVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `TuicServerVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/tuic_v5.rs:174:53
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl rustls::client::danger::ServerCertVerifier for TuicServerVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TuicServerVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `TuicServerVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 163 + #[derive(Debug)]
[INFO] [stdout] 164 | struct TuicServerVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `VlessCertVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/vless.rs:831:53
[INFO] [stdout]     |
[INFO] [stdout] 831 | impl rustls::client::danger::ServerCertVerifier for VlessCertVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `VlessCertVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `VlessCertVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 821 + #[derive(Debug)]
[INFO] [stdout] 822 | struct VlessCertVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `WtCertVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:238:53
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl rustls::client::danger::ServerCertVerifier for WtCertVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `WtCertVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `WtCertVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 228 + #[derive(Debug)]
[INFO] [stdout] 229 | struct WtCertVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `tokio::io::AsyncWriteExt` is not dyn compatible
[INFO] [stdout]     --> daemon/src/tunnel/tun_device.rs:5:17
[INFO] [stdout]      |
[INFO] [stdout]    5 |     writer: Box<dyn AsyncWriteExt + Send + Unpin>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `tokio::io::AsyncWriteExt` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_write_ext.rs:130:12
[INFO] [stdout]      |
[INFO] [stdout]  130 |         fn write<'a>(&'a mut self, src: &'a [u8]) -> Write<'a, Self>
[INFO] [stdout]      |            ^^^^^ the trait is not dyn compatible because method `write` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  182 |         fn write_vectored<'a, 'b>(&'a mut self, bufs: &'a [IoSlice<'b>]) -> WriteVectored<'a, 'b, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_vectored` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  387 |         fn write_all<'a>(&'a mut self, src: &'a [u8]) -> WriteAll<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^ the trait is not dyn compatible because method `write_all` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  430 |             fn write_u8(&mut self, n: u8) -> WriteU8;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `write_u8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  467 |             fn write_i8(&mut self, n: i8) -> WriteI8;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `write_i8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  505 |             fn write_u16(&mut self, n: u16) -> WriteU16;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  543 |             fn write_i16(&mut self, n: i16) -> WriteI16;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  581 |             fn write_u32(&mut self, n: u32) -> WriteU32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  619 |             fn write_i32(&mut self, n: i32) -> WriteI32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  657 |             fn write_u64(&mut self, n: u64) -> WriteU64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  695 |             fn write_i64(&mut self, n: i64) -> WriteI64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  735 |             fn write_u128(&mut self, n: u128) -> WriteU128;
[INFO] [stdout]      |                ^^^^^^^^^^ the trait is not dyn compatible because method `write_u128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  775 |             fn write_i128(&mut self, n: i128) -> WriteI128;
[INFO] [stdout]      |                ^^^^^^^^^^ the trait is not dyn compatible because method `write_i128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  812 |             fn write_f32(&mut self, n: f32) -> WriteF32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_f32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  851 |             fn write_f64(&mut self, n: f64) -> WriteF64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_f64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  889 |             fn write_u16_le(&mut self, n: u16) -> WriteU16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  927 |             fn write_i16_le(&mut self, n: i16) -> WriteI16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  965 |             fn write_u32_le(&mut self, n: u32) -> WriteU32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1003 |             fn write_i32_le(&mut self, n: i32) -> WriteI32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1041 |             fn write_u64_le(&mut self, n: u64) -> WriteU64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1079 |             fn write_i64_le(&mut self, n: i64) -> WriteI64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1119 |             fn write_u128_le(&mut self, n: u128) -> WriteU128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1159 |             fn write_i128_le(&mut self, n: i128) -> WriteI128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1196 |             fn write_f32_le(&mut self, n: f32) -> WriteF32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_f32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1235 |             fn write_f64_le(&mut self, n: f64) -> WriteF64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_f64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1281 |         fn flush(&mut self) -> Flush<'_, Self>
[INFO] [stdout]      |            ^^^^^ the trait is not dyn compatible because method `flush` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1323 |         fn shutdown(&mut self) -> Shutdown<'_, Self>
[INFO] [stdout]      |            ^^^^^^^^ the trait is not dyn compatible because method `shutdown` references the `Self` type in its return type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `tokio::io::AsyncReadExt` is not dyn compatible
[INFO] [stdout]     --> daemon/src/tunnel/tun_device.rs:6:17
[INFO] [stdout]      |
[INFO] [stdout]    6 |     reader: Box<dyn AsyncReadExt + Send + Unpin>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `tokio::io::AsyncReadExt` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_read_ext.rs:177:12
[INFO] [stdout]      |
[INFO] [stdout]  177 |         fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>
[INFO] [stdout]      |            ^^^^ the trait is not dyn compatible because method `read` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  258 |         fn read_buf<'a, B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout]      |            |
[INFO] [stdout]      |            the trait is not dyn compatible because method `read_buf` references the `Self` type in its return type
[INFO] [stdout]      |            the trait is not dyn compatible because method `read_buf` has generic type parameters
[INFO] [stdout] ...
[INFO] [stdout]  323 |         fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^ the trait is not dyn compatible because method `read_exact` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  373 |             fn read_u8(&mut self) -> ReadU8;
[INFO] [stdout]      |                ^^^^^^^ the trait is not dyn compatible because method `read_u8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  417 |             fn read_i8(&mut self) -> ReadI8;
[INFO] [stdout]      |                ^^^^^^^ the trait is not dyn compatible because method `read_i8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  461 |             fn read_u16(&mut self) -> ReadU16;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  505 |             fn read_i16(&mut self) -> ReadI16;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  548 |             fn read_u32(&mut self) -> ReadU32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  592 |             fn read_i32(&mut self) -> ReadI32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  637 |             fn read_u64(&mut self) -> ReadU64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  680 |             fn read_i64(&mut self) -> ReadI64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  726 |             fn read_u128(&mut self) -> ReadU128;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `read_u128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  772 |             fn read_i128(&mut self) -> ReadI128;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `read_i128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  815 |             fn read_f32(&mut self) -> ReadF32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_f32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  860 |             fn read_f64(&mut self) -> ReadF64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_f64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  904 |             fn read_u16_le(&mut self) -> ReadU16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  948 |             fn read_i16_le(&mut self) -> ReadI16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  991 |             fn read_u32_le(&mut self) -> ReadU32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1035 |             fn read_i32_le(&mut self) -> ReadI32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1080 |             fn read_u64_le(&mut self) -> ReadU64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1123 |             fn read_i64_le(&mut self) -> ReadI64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1169 |             fn read_u128_le(&mut self) -> ReadU128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `read_u128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1215 |             fn read_i128_le(&mut self) -> ReadI128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `read_i128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1258 |             fn read_f32_le(&mut self) -> ReadF32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_f32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1303 |             fn read_f64_le(&mut self) -> ReadF64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_f64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1354 |         fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^ the trait is not dyn compatible because method `read_to_end` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1404 |         fn read_to_string<'a>(&'a mut self, dst: &'a mut String) -> ReadToString<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ the trait is not dyn compatible because method `read_to_string` references the `Self` type in its return type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `CdnCertVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:617:53
[INFO] [stdout]     |
[INFO] [stdout] 617 | impl rustls::client::danger::ServerCertVerifier for CdnCertVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `CdnCertVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `CdnCertVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 607 + #[derive(Debug)]
[INFO] [stdout] 608 | struct CdnCertVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `DoqCertVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:392:53
[INFO] [stdout]     |
[INFO] [stdout] 392 | impl rustls::client::danger::ServerCertVerifier for DoqCertVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `DoqCertVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `DoqCertVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 382 + #[derive(Debug)]
[INFO] [stdout] 383 | struct DoqCertVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `HysteriaServerVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:531:53
[INFO] [stdout]     |
[INFO] [stdout] 531 | impl rustls::client::danger::ServerCertVerifier for HysteriaServerVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `HysteriaServerVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `HysteriaServerVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 520 + #[derive(Debug)]
[INFO] [stdout] 521 | struct HysteriaServerVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `NaiveCertVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/naive_proxy.rs:430:53
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl rustls::client::danger::ServerCertVerifier for NaiveCertVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `NaiveCertVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `NaiveCertVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 420 + #[derive(Debug)]
[INFO] [stdout] 421 | struct NaiveCertVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `TuicServerVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/tuic_v5.rs:174:53
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl rustls::client::danger::ServerCertVerifier for TuicServerVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TuicServerVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `TuicServerVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 163 + #[derive(Debug)]
[INFO] [stdout] 164 | struct TuicServerVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `VlessCertVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/vless.rs:831:53
[INFO] [stdout]     |
[INFO] [stdout] 831 | impl rustls::client::danger::ServerCertVerifier for VlessCertVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `VlessCertVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `VlessCertVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 821 + #[derive(Debug)]
[INFO] [stdout] 822 | struct VlessCertVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `WtCertVerifier` doesn't implement `Debug`
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:238:53
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl rustls::client::danger::ServerCertVerifier for WtCertVerifier {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `WtCertVerifier`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `rustls::client::danger::ServerCertVerifier`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/verify.rs:69:31
[INFO] [stdout]     |
[INFO] [stdout]  69 | pub trait ServerCertVerifier: Debug + Send + Sync {
[INFO] [stdout]     |                               ^^^^^ required by this bound in `ServerCertVerifier`
[INFO] [stdout] help: consider annotating `WtCertVerifier` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 228 + #[derive(Debug)]
[INFO] [stdout] 229 | struct WtCertVerifier {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `tokio::io::AsyncWriteExt` is not dyn compatible
[INFO] [stdout]     --> daemon/src/tunnel/tun_device.rs:5:17
[INFO] [stdout]      |
[INFO] [stdout]    5 |     writer: Box<dyn AsyncWriteExt + Send + Unpin>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `tokio::io::AsyncWriteExt` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_write_ext.rs:130:12
[INFO] [stdout]      |
[INFO] [stdout]  130 |         fn write<'a>(&'a mut self, src: &'a [u8]) -> Write<'a, Self>
[INFO] [stdout]      |            ^^^^^ the trait is not dyn compatible because method `write` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  182 |         fn write_vectored<'a, 'b>(&'a mut self, bufs: &'a [IoSlice<'b>]) -> WriteVectored<'a, 'b, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_vectored` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  387 |         fn write_all<'a>(&'a mut self, src: &'a [u8]) -> WriteAll<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^ the trait is not dyn compatible because method `write_all` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  430 |             fn write_u8(&mut self, n: u8) -> WriteU8;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `write_u8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  467 |             fn write_i8(&mut self, n: i8) -> WriteI8;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `write_i8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  505 |             fn write_u16(&mut self, n: u16) -> WriteU16;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  543 |             fn write_i16(&mut self, n: i16) -> WriteI16;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  581 |             fn write_u32(&mut self, n: u32) -> WriteU32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  619 |             fn write_i32(&mut self, n: i32) -> WriteI32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  657 |             fn write_u64(&mut self, n: u64) -> WriteU64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  695 |             fn write_i64(&mut self, n: i64) -> WriteI64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  735 |             fn write_u128(&mut self, n: u128) -> WriteU128;
[INFO] [stdout]      |                ^^^^^^^^^^ the trait is not dyn compatible because method `write_u128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  775 |             fn write_i128(&mut self, n: i128) -> WriteI128;
[INFO] [stdout]      |                ^^^^^^^^^^ the trait is not dyn compatible because method `write_i128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  812 |             fn write_f32(&mut self, n: f32) -> WriteF32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_f32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  851 |             fn write_f64(&mut self, n: f64) -> WriteF64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_f64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  889 |             fn write_u16_le(&mut self, n: u16) -> WriteU16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  927 |             fn write_i16_le(&mut self, n: i16) -> WriteI16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  965 |             fn write_u32_le(&mut self, n: u32) -> WriteU32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1003 |             fn write_i32_le(&mut self, n: i32) -> WriteI32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1041 |             fn write_u64_le(&mut self, n: u64) -> WriteU64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1079 |             fn write_i64_le(&mut self, n: i64) -> WriteI64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1119 |             fn write_u128_le(&mut self, n: u128) -> WriteU128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1159 |             fn write_i128_le(&mut self, n: i128) -> WriteI128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1196 |             fn write_f32_le(&mut self, n: f32) -> WriteF32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_f32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1235 |             fn write_f64_le(&mut self, n: f64) -> WriteF64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_f64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1281 |         fn flush(&mut self) -> Flush<'_, Self>
[INFO] [stdout]      |            ^^^^^ the trait is not dyn compatible because method `flush` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1323 |         fn shutdown(&mut self) -> Shutdown<'_, Self>
[INFO] [stdout]      |            ^^^^^^^^ the trait is not dyn compatible because method `shutdown` references the `Self` type in its return type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `tokio::io::AsyncReadExt` is not dyn compatible
[INFO] [stdout]     --> daemon/src/tunnel/tun_device.rs:6:17
[INFO] [stdout]      |
[INFO] [stdout]    6 |     reader: Box<dyn AsyncReadExt + Send + Unpin>,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `tokio::io::AsyncReadExt` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_read_ext.rs:177:12
[INFO] [stdout]      |
[INFO] [stdout]  177 |         fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>
[INFO] [stdout]      |            ^^^^ the trait is not dyn compatible because method `read` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  258 |         fn read_buf<'a, B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout]      |            |
[INFO] [stdout]      |            the trait is not dyn compatible because method `read_buf` references the `Self` type in its return type
[INFO] [stdout]      |            the trait is not dyn compatible because method `read_buf` has generic type parameters
[INFO] [stdout] ...
[INFO] [stdout]  323 |         fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^ the trait is not dyn compatible because method `read_exact` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  373 |             fn read_u8(&mut self) -> ReadU8;
[INFO] [stdout]      |                ^^^^^^^ the trait is not dyn compatible because method `read_u8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  417 |             fn read_i8(&mut self) -> ReadI8;
[INFO] [stdout]      |                ^^^^^^^ the trait is not dyn compatible because method `read_i8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  461 |             fn read_u16(&mut self) -> ReadU16;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  505 |             fn read_i16(&mut self) -> ReadI16;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  548 |             fn read_u32(&mut self) -> ReadU32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  592 |             fn read_i32(&mut self) -> ReadI32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  637 |             fn read_u64(&mut self) -> ReadU64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  680 |             fn read_i64(&mut self) -> ReadI64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  726 |             fn read_u128(&mut self) -> ReadU128;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `read_u128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  772 |             fn read_i128(&mut self) -> ReadI128;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `read_i128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  815 |             fn read_f32(&mut self) -> ReadF32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_f32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  860 |             fn read_f64(&mut self) -> ReadF64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_f64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  904 |             fn read_u16_le(&mut self) -> ReadU16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  948 |             fn read_i16_le(&mut self) -> ReadI16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  991 |             fn read_u32_le(&mut self) -> ReadU32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1035 |             fn read_i32_le(&mut self) -> ReadI32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1080 |             fn read_u64_le(&mut self) -> ReadU64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1123 |             fn read_i64_le(&mut self) -> ReadI64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1169 |             fn read_u128_le(&mut self) -> ReadU128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `read_u128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1215 |             fn read_i128_le(&mut self) -> ReadI128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `read_i128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1258 |             fn read_f32_le(&mut self) -> ReadF32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_f32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1303 |             fn read_f64_le(&mut self) -> ReadF64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_f64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1354 |         fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^ the trait is not dyn compatible because method `read_to_end` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1404 |         fn read_to_string<'a>(&'a mut self, dst: &'a mut String) -> ReadToString<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ the trait is not dyn compatible because method `read_to_string` references the `Self` type in its return type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `self.wipe_rx` as mutable, as it is behind a `&` reference
[INFO] [stdout]    --> daemon/src/security/anti_forensics.rs:120:27
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 changed = self.wipe_rx.changed() => {
[INFO] [stdout]     |                           ^^^^^^^^^^^^ `self` is a `&` reference, so it cannot be borrowed as mutable
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be a mutable reference
[INFO] [stdout]     |
[INFO] [stdout] 114 |         &mut self,
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:71:35
[INFO] [stdout]    |
[INFO] [stdout] 71 |         name: "Alibaba Cloud CDN".into(),
[INFO] [stdout]    |                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:72:43
[INFO] [stdout]    |
[INFO] [stdout] 72 |         fronting_domain: "cdn.alicdn.com".into(),
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:73:39
[INFO] [stdout]    |
[INFO] [stdout] 73 |         worker_path: "/assets/worker".into(),
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:78:41
[INFO] [stdout]    |
[INFO] [stdout] 78 |         name: "Alibaba Cloud CDN (Alt)".into(),
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:79:41
[INFO] [stdout]    |
[INFO] [stdout] 79 |         fronting_domain: "g.alicdn.com".into(),
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:80:36
[INFO] [stdout]    |
[INFO] [stdout] 80 |         worker_path: "/lib/worker".into(),
[INFO] [stdout]    |                                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:85:38
[INFO] [stdout]    |
[INFO] [stdout] 85 |         name: "ByteDance Volcengine".into(),
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:86:46
[INFO] [stdout]    |
[INFO] [stdout] 86 |         fronting_domain: "cdn.bytedance.com".into(),
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:87:36
[INFO] [stdout]    |
[INFO] [stdout] 87 |         worker_path: "/api/worker".into(),
[INFO] [stdout]    |                                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:92:33
[INFO] [stdout]    |
[INFO] [stdout] 92 |         name: "ByteDance (Alt)".into(),
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:93:54
[INFO] [stdout]    |
[INFO] [stdout] 93 |         fronting_domain: "lf3-cdn-tos.bytegoofy.com".into(),
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:94:36
[INFO] [stdout]    |
[INFO] [stdout] 94 |         worker_path: "/obj/worker".into(),
[INFO] [stdout]    |                                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:99:33
[INFO] [stdout]    |
[INFO] [stdout] 99 |         name: "Tencent EdgeOne".into(),
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:100:38
[INFO] [stdout]     |
[INFO] [stdout] 100 |         fronting_domain: "cdn-go.cn".into(),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:101:37
[INFO] [stdout]     |
[INFO] [stdout] 101 |         worker_path: "/edge/worker".into(),
[INFO] [stdout]     |                                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:106:31
[INFO] [stdout]     |
[INFO] [stdout] 106 |         name: "Tencent (Alt)".into(),
[INFO] [stdout]     |                               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:107:41
[INFO] [stdout]     |
[INFO] [stdout] 107 |         fronting_domain: "sqimg.qq.com".into(),
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:108:36
[INFO] [stdout]     |
[INFO] [stdout] 108 |         worker_path: "/img/worker".into(),
[INFO] [stdout]     |                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:113:34
[INFO] [stdout]     |
[INFO] [stdout] 113 |         name: "Huawei Cloud CDN".into(),
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:114:48
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fronting_domain: "cdn.huaweicloud.com".into(),
[INFO] [stdout]     |                                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:115:36
[INFO] [stdout]     |
[INFO] [stdout] 115 |         worker_path: "/cdn/worker".into(),
[INFO] [stdout]     |                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:120:36
[INFO] [stdout]     |
[INFO] [stdout] 120 |         name: "Arvan Cloud (Iran)".into(),
[INFO] [stdout]     |                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:121:47
[INFO] [stdout]     |
[INFO] [stdout] 121 |         fronting_domain: "cdn.arvancloud.com".into(),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 |         worker_path: "/v1/worker".into(),
[INFO] [stdout]     |                                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:127:35
[INFO] [stdout]     |
[INFO] [stdout] 127 |         name: "Arvan Cloud (Alt)".into(),
[INFO] [stdout]     |                                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:128:52
[INFO] [stdout]     |
[INFO] [stdout] 128 |         fronting_domain: "nockette.arvanboost.com".into(),
[INFO] [stdout]     |                                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:129:38
[INFO] [stdout]     |
[INFO] [stdout] 129 |         worker_path: "/boost/worker".into(),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:464:62
[INFO] [stdout]     |
[INFO] [stdout] 464 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 464 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rustls::pki_types::ServerName<'_>: From<&std::string::String>` is not satisfied
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:474:14
[INFO] [stdout]     |
[INFO] [stdout] 474 |             .try_into()
[INFO] [stdout]     |              ^^^^^^^^ the trait `From<&std::string::String>` is not implemented for `rustls::pki_types::ServerName<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider casting the `&std::string::String` value to `&str`
[INFO] [stdout]     = help: `rustls::pki_types::ServerName<'_>` implements trait `From<T>`:
[INFO] [stdout]               From<rustls::pki_types::DnsName<'_>>
[INFO] [stdout]               From<rustls::pki_types::IpAddr>
[INFO] [stdout]               From<rustls::pki_types::Ipv4Addr>
[INFO] [stdout]               From<rustls::pki_types::Ipv6Addr>
[INFO] [stdout]               From<std::net::IpAddr>
[INFO] [stdout]               From<std::net::Ipv4Addr>
[INFO] [stdout]               From<std::net::Ipv6Addr>
[INFO] [stdout]     = note: required for `&std::string::String` to implement `Into<rustls::pki_types::ServerName<'_>>`
[INFO] [stdout]     = note: required for `rustls::pki_types::ServerName<'_>` to implement `TryFrom<&std::string::String>`
[INFO] [stdout]     = note: required for `&std::string::String` to implement `TryInto<rustls::pki_types::ServerName<'_>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `self.wipe_rx` as mutable, as it is behind a `&` reference
[INFO] [stdout]    --> daemon/src/security/anti_forensics.rs:120:27
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 changed = self.wipe_rx.changed() => {
[INFO] [stdout]     |                           ^^^^^^^^^^^^ `self` is a `&` reference, so it cannot be borrowed as mutable
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing this to be a mutable reference
[INFO] [stdout]     |
[INFO] [stdout] 114 |         &mut self,
[INFO] [stdout]     |          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `random` found for struct `EphemeralSecret` in the current scope
[INFO] [stdout]    --> daemon/src/transport/chinese_cdn.rs:99:49
[INFO] [stdout]     |
[INFO] [stdout]  99 |         let ephemeral_secret = EphemeralSecret::random();
[INFO] [stdout]     |                                                 ^^^^^^ associated function or constant not found in `EphemeralSecret`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `EphemeralSecret` consider using one of the following associated functions:
[INFO] [stdout]       EphemeralSecret::new
[INFO] [stdout]       EphemeralSecret::random_from_rng
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x25519-dalek-2.0.1/src/x25519.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn new<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn random_from_rng<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `and` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.6.11/src/follow_redirect/policy/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | /     fn and<P, B, E>(self, other: P) -> And<Self, P>
[INFO] [stdout] 142 | |     where
[INFO] [stdout] 143 | |         Self: Policy<B, E> + Sized,
[INFO] [stdout] 144 | |         P: Policy<B, E>;
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `fill_bytes` found for struct `ThreadRng` in the current scope
[INFO] [stdout]    --> daemon/src/transport/chinese_cdn.rs:117:28
[INFO] [stdout]     |
[INFO] [stdout] 117 |         rand::thread_rng().fill_bytes(&mut nonce_bytes);
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn fill_bytes(&mut self, dest: &mut [u8]);
[INFO] [stdout]     |        ---------- the method is available for `ThreadRng` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `RngCore` which provides `fill_bytes` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rand::RngCore;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `try_fill_bytes` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 117 |         rand::thread_rng().try_fill_bytes(&mut nonce_bytes);
[INFO] [stdout]     |                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `random` found for struct `EphemeralSecret` in the current scope
[INFO] [stdout]    --> daemon/src/transport/cloudflare_worker.rs:31:49
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let ephemeral_secret = EphemeralSecret::random();
[INFO] [stdout]     |                                                 ^^^^^^ associated function or constant not found in `EphemeralSecret`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `EphemeralSecret` consider using one of the following associated functions:
[INFO] [stdout]       EphemeralSecret::new
[INFO] [stdout]       EphemeralSecret::random_from_rng
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x25519-dalek-2.0.1/src/x25519.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn new<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn random_from_rng<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `and` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.6.11/src/follow_redirect/policy/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | /     fn and<P, B, E>(self, other: P) -> And<Self, P>
[INFO] [stdout] 142 | |     where
[INFO] [stdout] 143 | |         Self: Policy<B, E> + Sized,
[INFO] [stdout] 144 | |         P: Policy<B, E>;
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> daemon/src/transport/cloudflare_worker.rs:35:78
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let session_key = Self::derive_session_key(shared_secret.as_bytes(), &ephemeral_public.as_bytes());
[INFO] [stdout]    |                           ------------------------                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8]`, found `&&[u8; 32]`
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&[u8]`
[INFO] [stdout]               found reference `&&[u8; 32]`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> daemon/src/transport/cloudflare_worker.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn derive_session_key(shared_secret: &[u8], client_pub: &[u8]) -> [u8; 32] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^                       -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rustls::ClientConfig: quinn::crypto::ClientConfig` is not satisfied in `rustls::ClientConfig`
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:502:58
[INFO] [stdout]     |
[INFO] [stdout] 502 |         let mut client_config = quinn::ClientConfig::new(Arc::new(crypto));
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^ within `rustls::ClientConfig`, the trait `quinn::crypto::ClientConfig` is not implemented for `rustls::ClientConfig`
[INFO] [stdout]     |
[INFO] [stdout] help: item with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.22.4/src/client/client_conn.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct ClientConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: there are multiple different versions of crate `rustls` in the dependency graph
[INFO] [stdout] help: the trait `quinn::crypto::ClientConfig` is implemented for `QuicClientConfig`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-proto-0.11.14/src/crypto/rustls.rs:356:1
[INFO] [stdout]     |
[INFO] [stdout] 356 | impl crypto::ClientConfig for QuicClientConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `rustls::ClientConfig`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/client/client_conn.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ClientConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `std::sync::Arc<rustls::ClientConfig>` to implement `CoerceUnsized<std::sync::Arc<dyn quinn::crypto::ClientConfig>>`
[INFO] [stdout]     = note: required for the cast from `std::sync::Arc<rustls::ClientConfig>` to `std::sync::Arc<(dyn quinn::crypto::ClientConfig + 'static)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let connection = tokio::time::timeout(
[INFO] [stdout]     |                          -------------------- required by a bound introduced by this call
[INFO] [stdout] 516 |             timeout,
[INFO] [stdout] 517 |             endpoint.connect(addr, server_name),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: Result<Connecting, ConnectError> must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] note: required by a bound in `timeout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/time/timeout.rs:88:8
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub fn timeout<F>(duration: Duration, future: F) -> Timeout<F::IntoFuture>
[INFO] [stdout]     |        ------- required by a bound in this function
[INFO] [stdout]  87 | where
[INFO] [stdout]  88 |     F: IntoFuture,
[INFO] [stdout]     |        ^^^^^^^^^^ required by this bound in `timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:521:10
[INFO] [stdout]     |
[INFO] [stdout] 521 |         .map_err(|e| ShieldError::QuicError(format!("DoQ connect: {}", e)))?;
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout]     = note: `#[warn(method_call_on_diverging_infer_var)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:71:35
[INFO] [stdout]    |
[INFO] [stdout] 71 |         name: "Alibaba Cloud CDN".into(),
[INFO] [stdout]    |                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:72:43
[INFO] [stdout]    |
[INFO] [stdout] 72 |         fronting_domain: "cdn.alicdn.com".into(),
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:73:39
[INFO] [stdout]    |
[INFO] [stdout] 73 |         worker_path: "/assets/worker".into(),
[INFO] [stdout]    |                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:78:41
[INFO] [stdout]    |
[INFO] [stdout] 78 |         name: "Alibaba Cloud CDN (Alt)".into(),
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:79:41
[INFO] [stdout]    |
[INFO] [stdout] 79 |         fronting_domain: "g.alicdn.com".into(),
[INFO] [stdout]    |                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:80:36
[INFO] [stdout]    |
[INFO] [stdout] 80 |         worker_path: "/lib/worker".into(),
[INFO] [stdout]    |                                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:85:38
[INFO] [stdout]    |
[INFO] [stdout] 85 |         name: "ByteDance Volcengine".into(),
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:86:46
[INFO] [stdout]    |
[INFO] [stdout] 86 |         fronting_domain: "cdn.bytedance.com".into(),
[INFO] [stdout]    |                                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:87:36
[INFO] [stdout]    |
[INFO] [stdout] 87 |         worker_path: "/api/worker".into(),
[INFO] [stdout]    |                                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:92:33
[INFO] [stdout]    |
[INFO] [stdout] 92 |         name: "ByteDance (Alt)".into(),
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:93:54
[INFO] [stdout]    |
[INFO] [stdout] 93 |         fronting_domain: "lf3-cdn-tos.bytegoofy.com".into(),
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:94:36
[INFO] [stdout]    |
[INFO] [stdout] 94 |         worker_path: "/obj/worker".into(),
[INFO] [stdout]    |                                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]   --> daemon/src/transport/cdn_worker.rs:99:33
[INFO] [stdout]    |
[INFO] [stdout] 99 |         name: "Tencent EdgeOne".into(),
[INFO] [stdout]    |                                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:100:38
[INFO] [stdout]     |
[INFO] [stdout] 100 |         fronting_domain: "cdn-go.cn".into(),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:101:37
[INFO] [stdout]     |
[INFO] [stdout] 101 |         worker_path: "/edge/worker".into(),
[INFO] [stdout]     |                                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:106:31
[INFO] [stdout]     |
[INFO] [stdout] 106 |         name: "Tencent (Alt)".into(),
[INFO] [stdout]     |                               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:107:41
[INFO] [stdout]     |
[INFO] [stdout] 107 |         fronting_domain: "sqimg.qq.com".into(),
[INFO] [stdout]     |                                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:108:36
[INFO] [stdout]     |
[INFO] [stdout] 108 |         worker_path: "/img/worker".into(),
[INFO] [stdout]     |                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:113:34
[INFO] [stdout]     |
[INFO] [stdout] 113 |         name: "Huawei Cloud CDN".into(),
[INFO] [stdout]     |                                  ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:114:48
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fronting_domain: "cdn.huaweicloud.com".into(),
[INFO] [stdout]     |                                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:115:36
[INFO] [stdout]     |
[INFO] [stdout] 115 |         worker_path: "/cdn/worker".into(),
[INFO] [stdout]     |                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:120:36
[INFO] [stdout]     |
[INFO] [stdout] 120 |         name: "Arvan Cloud (Iran)".into(),
[INFO] [stdout]     |                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:121:47
[INFO] [stdout]     |
[INFO] [stdout] 121 |         fronting_domain: "cdn.arvancloud.com".into(),
[INFO] [stdout]     |                                               ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:122:35
[INFO] [stdout]     |
[INFO] [stdout] 122 |         worker_path: "/v1/worker".into(),
[INFO] [stdout]     |                                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:127:35
[INFO] [stdout]     |
[INFO] [stdout] 127 |         name: "Arvan Cloud (Alt)".into(),
[INFO] [stdout]     |                                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:128:52
[INFO] [stdout]     |
[INFO] [stdout] 128 |         fronting_domain: "nockette.arvanboost.com".into(),
[INFO] [stdout]     |                                                    ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0015]: cannot call non-const method `<&str as Into<std::string::String>>::into` in constants
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:129:38
[INFO] [stdout]     |
[INFO] [stdout] 129 |         worker_path: "/boost/worker".into(),
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: calls in constants are limited to constant functions, tuple structs and tuple variants
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map_err` found for type `_` in the current scope
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:521:10
[INFO] [stdout]     |
[INFO] [stdout] 515 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 516 | |             timeout,
[INFO] [stdout] 517 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] ...   |
[INFO] [stdout] 520 | |         .map_err(|_| ShieldError::Timeout("DoQ QUIC timeout".into()))?
[INFO] [stdout] 521 | |         .map_err(|e| ShieldError::QuicError(format!("DoQ connect: {}", e)))?;
[INFO] [stdout]     | |_________-^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following traits which provide `map_err` are implemented but not in scope; perhaps you want to import one of them
[INFO] [stdout]     |
[INFO] [stdout]  12 + use futures_util::TryFutureExt;
[INFO] [stdout]     |
[INFO] [stdout]  12 + use futures_util::TryStreamExt;
[INFO] [stdout]     |
[INFO] [stdout]  12 + use http_body_util::BodyExt;
[INFO] [stdout]     |
[INFO] [stdout]  12 + use tower::util::ServiceExt;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: there is a method `sink_map_err` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 521 |         .sink_map_err(|e| ShieldError::QuicError(format!("DoQ connect: {}", e)))?;
[INFO] [stdout]     |          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:515:26
[INFO] [stdout]     |
[INFO] [stdout] 515 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 516 | |             timeout,
[INFO] [stdout] 517 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] 518 | |         )
[INFO] [stdout]     | |_________^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:464:62
[INFO] [stdout]     |
[INFO] [stdout] 464 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 464 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rustls::pki_types::ServerName<'_>: From<&std::string::String>` is not satisfied
[INFO] [stdout]    --> daemon/src/transport/cdn_worker.rs:474:14
[INFO] [stdout]     |
[INFO] [stdout] 474 |             .try_into()
[INFO] [stdout]     |              ^^^^^^^^ the trait `From<&std::string::String>` is not implemented for `rustls::pki_types::ServerName<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider casting the `&std::string::String` value to `&str`
[INFO] [stdout]     = help: `rustls::pki_types::ServerName<'_>` implements trait `From<T>`:
[INFO] [stdout]               From<rustls::pki_types::DnsName<'_>>
[INFO] [stdout]               From<rustls::pki_types::IpAddr>
[INFO] [stdout]               From<rustls::pki_types::Ipv4Addr>
[INFO] [stdout]               From<rustls::pki_types::Ipv6Addr>
[INFO] [stdout]               From<std::net::IpAddr>
[INFO] [stdout]               From<std::net::Ipv4Addr>
[INFO] [stdout]               From<std::net::Ipv6Addr>
[INFO] [stdout]     = note: required for `&std::string::String` to implement `Into<rustls::pki_types::ServerName<'_>>`
[INFO] [stdout]     = note: required for `rustls::pki_types::ServerName<'_>` to implement `TryFrom<&std::string::String>`
[INFO] [stdout]     = note: required for `&std::string::String` to implement `TryInto<rustls::pki_types::ServerName<'_>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:425:13
[INFO] [stdout]     |
[INFO] [stdout] 423 |         let connection = tokio::time::timeout(
[INFO] [stdout]     |                          -------------------- required by a bound introduced by this call
[INFO] [stdout] 424 |             connect_timeout,
[INFO] [stdout] 425 |             endpoint.connect(addr, server_name),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: Result<Connecting, ConnectError> must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] note: required by a bound in `timeout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/time/timeout.rs:88:8
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub fn timeout<F>(duration: Duration, future: F) -> Timeout<F::IntoFuture>
[INFO] [stdout]     |        ------- required by a bound in this function
[INFO] [stdout]  87 | where
[INFO] [stdout]  88 |     F: IntoFuture,
[INFO] [stdout]     |        ^^^^^^^^^^ required by this bound in `timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:429:10
[INFO] [stdout]     |
[INFO] [stdout] 429 |         .map_err(|e| ShieldError::QuicError(format!("QUIC connect: {}", e)))?;
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map_err` found for type `_` in the current scope
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:429:10
[INFO] [stdout]     |
[INFO] [stdout] 423 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 424 | |             connect_timeout,
[INFO] [stdout] 425 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] ...   |
[INFO] [stdout] 428 | |         .map_err(|_| ShieldError::Timeout("QUIC connect timeout".into()))?
[INFO] [stdout] 429 | |         .map_err(|e| ShieldError::QuicError(format!("QUIC connect: {}", e)))?;
[INFO] [stdout]     | |_________-^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following traits which provide `map_err` are implemented but not in scope; perhaps you want to import one of them
[INFO] [stdout]     |
[INFO] [stdout]   9 + use futures_util::TryFutureExt;
[INFO] [stdout]     |
[INFO] [stdout]   9 + use futures_util::TryStreamExt;
[INFO] [stdout]     |
[INFO] [stdout]   9 + use http_body_util::BodyExt;
[INFO] [stdout]     |
[INFO] [stdout]   9 + use tower::util::ServiceExt;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: there is a method `sink_map_err` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 429 |         .sink_map_err(|e| ShieldError::QuicError(format!("QUIC connect: {}", e)))?;
[INFO] [stdout]     |          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:423:26
[INFO] [stdout]     |
[INFO] [stdout] 423 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 424 | |             connect_timeout,
[INFO] [stdout] 425 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] 426 | |         )
[INFO] [stdout]     | |_________^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/icmp_tunnel.rs:315:42
[INFO] [stdout]     |
[INFO] [stdout] 315 |             .map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                          --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 315 |             .map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0618]: expected function, found `ShieldError`
[INFO] [stdout]    --> daemon/src/transport/icmp_tunnel.rs:374:24
[INFO] [stdout]     |
[INFO] [stdout] 374 |             return Err(ShieldError::RateLimited("ICMP rate limit exceeded".into()));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^-----------------------------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        call expression requires function
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 171 |     RateLimited,
[INFO] [stdout]     |     ----------- `ShieldError::RateLimited` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `*session` as mutable, as it is behind a `&` reference
[INFO] [stdout]    --> daemon/src/transport/icmp_tunnel.rs:598:13
[INFO] [stdout]     |
[INFO] [stdout] 598 |             session.next_send_seq(),
[INFO] [stdout]     |             ^^^^^^^ `session` is a `&` reference, so it cannot be borrowed as mutable
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `IcmpTunnelSession` with `#[derive(Clone)]`
[INFO] [stdout]     |
[INFO] [stdout] 386 + #[derive(Clone)]
[INFO] [stdout] 387 | struct IcmpTunnelSession {
[INFO] [stdout]     |
[INFO] [stdout] help: consider specifying this binding's type
[INFO] [stdout]     |
[INFO] [stdout] 584 |         session: &mut IcmpTunnelSession: &IcmpTunnelSession,
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `random` found for struct `EphemeralSecret` in the current scope
[INFO] [stdout]    --> daemon/src/transport/chinese_cdn.rs:99:49
[INFO] [stdout]     |
[INFO] [stdout]  99 |         let ephemeral_secret = EphemeralSecret::random();
[INFO] [stdout]     |                                                 ^^^^^^ associated function or constant not found in `EphemeralSecret`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `EphemeralSecret` consider using one of the following associated functions:
[INFO] [stdout]       EphemeralSecret::new
[INFO] [stdout]       EphemeralSecret::random_from_rng
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x25519-dalek-2.0.1/src/x25519.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn new<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn random_from_rng<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `and` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.6.11/src/follow_redirect/policy/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | /     fn and<P, B, E>(self, other: P) -> And<Self, P>
[INFO] [stdout] 142 | |     where
[INFO] [stdout] 143 | |         Self: Policy<B, E> + Sized,
[INFO] [stdout] 144 | |         P: Policy<B, E>;
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `fill_bytes` found for struct `ThreadRng` in the current scope
[INFO] [stdout]    --> daemon/src/transport/chinese_cdn.rs:117:28
[INFO] [stdout]     |
[INFO] [stdout] 117 |         rand::thread_rng().fill_bytes(&mut nonce_bytes);
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rand_core-0.6.4/src/lib.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn fill_bytes(&mut self, dest: &mut [u8]);
[INFO] [stdout]     |        ---------- the method is available for `ThreadRng` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `RngCore` which provides `fill_bytes` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   1 + use rand::RngCore;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `try_fill_bytes` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 117 |         rand::thread_rng().try_fill_bytes(&mut nonce_bytes);
[INFO] [stdout]     |                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `tokio::sync::RwLockWriteGuard<'_, HashMap<RefreshChannel, std::string::String>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> daemon/src/transport/manager.rs:190:43
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum RefreshChannel {
[INFO] [stdout]     | ----------------------- doesn't satisfy `RefreshChannel: Eq` or `RefreshChannel: std::hash::Hash`
[INFO] [stdout] ...
[INFO] [stdout] 190 |         self.refresh_config.write().await.insert(channel, config);
[INFO] [stdout]     |                                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RefreshChannel: Eq`
[INFO] [stdout]             `RefreshChannel: std::hash::Hash`
[INFO] [stdout] help: consider annotating `RefreshChannel` with `#[derive(Eq, Hash, PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout]  53 + #[derive(Eq, Hash, PartialEq)]
[INFO] [stdout]  54 | pub enum RefreshChannel {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `random` found for struct `EphemeralSecret` in the current scope
[INFO] [stdout]    --> daemon/src/transport/cloudflare_worker.rs:31:49
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let ephemeral_secret = EphemeralSecret::random();
[INFO] [stdout]     |                                                 ^^^^^^ associated function or constant not found in `EphemeralSecret`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `EphemeralSecret` consider using one of the following associated functions:
[INFO] [stdout]       EphemeralSecret::new
[INFO] [stdout]       EphemeralSecret::random_from_rng
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x25519-dalek-2.0.1/src/x25519.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn new<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn random_from_rng<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `and` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.6.11/src/follow_redirect/policy/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | /     fn and<P, B, E>(self, other: P) -> And<Self, P>
[INFO] [stdout] 142 | |     where
[INFO] [stdout] 143 | |         Self: Policy<B, E> + Sized,
[INFO] [stdout] 144 | |         P: Policy<B, E>;
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> daemon/src/transport/cloudflare_worker.rs:35:78
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let session_key = Self::derive_session_key(shared_secret.as_bytes(), &ephemeral_public.as_bytes());
[INFO] [stdout]    |                           ------------------------                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8]`, found `&&[u8; 32]`
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           arguments to this function are incorrect
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&[u8]`
[INFO] [stdout]               found reference `&&[u8; 32]`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> daemon/src/transport/cloudflare_worker.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn derive_session_key(shared_secret: &[u8], client_pub: &[u8]) -> [u8; 32] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^                       -----------------
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `tokio::sync::RwLock<T>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:196:38
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let shutdown = self.shutdown.clone();
[INFO] [stdout]     |                                      ^^^^^ method not found in `tokio::sync::RwLock<bool>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rustls::ClientConfig: quinn::crypto::ClientConfig` is not satisfied in `rustls::ClientConfig`
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:502:58
[INFO] [stdout]     |
[INFO] [stdout] 502 |         let mut client_config = quinn::ClientConfig::new(Arc::new(crypto));
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^ within `rustls::ClientConfig`, the trait `quinn::crypto::ClientConfig` is not implemented for `rustls::ClientConfig`
[INFO] [stdout]     |
[INFO] [stdout] help: item with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.22.4/src/client/client_conn.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct ClientConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: there are multiple different versions of crate `rustls` in the dependency graph
[INFO] [stdout] help: the trait `quinn::crypto::ClientConfig` is implemented for `QuicClientConfig`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-proto-0.11.14/src/crypto/rustls.rs:356:1
[INFO] [stdout]     |
[INFO] [stdout] 356 | impl crypto::ClientConfig for QuicClientConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `rustls::ClientConfig`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/client/client_conn.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ClientConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Arc<rustls::ClientConfig>` to implement `CoerceUnsized<Arc<dyn quinn::crypto::ClientConfig>>`
[INFO] [stdout]     = note: required for the cast from `Arc<rustls::ClientConfig>` to `Arc<(dyn quinn::crypto::ClientConfig + 'static)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 515 |         let connection = tokio::time::timeout(
[INFO] [stdout]     |                          -------------------- required by a bound introduced by this call
[INFO] [stdout] 516 |             timeout,
[INFO] [stdout] 517 |             endpoint.connect(addr, server_name),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: Result<Connecting, ConnectError> must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] note: required by a bound in `timeout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/time/timeout.rs:88:8
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub fn timeout<F>(duration: Duration, future: F) -> Timeout<F::IntoFuture>
[INFO] [stdout]     |        ------- required by a bound in this function
[INFO] [stdout]  87 | where
[INFO] [stdout]  88 |     F: IntoFuture,
[INFO] [stdout]     |        ^^^^^^^^^^ required by this bound in `timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:521:10
[INFO] [stdout]     |
[INFO] [stdout] 521 |         .map_err(|e| ShieldError::QuicError(format!("DoQ connect: {}", e)))?;
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout]     = note: `#[warn(method_call_on_diverging_infer_var)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map_err` found for type `_` in the current scope
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:521:10
[INFO] [stdout]     |
[INFO] [stdout] 515 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 516 | |             timeout,
[INFO] [stdout] 517 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] ...   |
[INFO] [stdout] 520 | |         .map_err(|_| ShieldError::Timeout("DoQ QUIC timeout".into()))?
[INFO] [stdout] 521 | |         .map_err(|e| ShieldError::QuicError(format!("DoQ connect: {}", e)))?;
[INFO] [stdout]     | |_________-^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following traits which provide `map_err` are implemented but not in scope; perhaps you want to import one of them
[INFO] [stdout]     |
[INFO] [stdout]  12 + use futures_util::TryFutureExt;
[INFO] [stdout]     |
[INFO] [stdout]  12 + use futures_util::TryStreamExt;
[INFO] [stdout]     |
[INFO] [stdout]  12 + use http_body_util::BodyExt;
[INFO] [stdout]     |
[INFO] [stdout]  12 + use tower::util::ServiceExt;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: there is a method `sink_map_err` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 521 |         .sink_map_err(|e| ShieldError::QuicError(format!("DoQ connect: {}", e)))?;
[INFO] [stdout]     |          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/doq_tunnel.rs:515:26
[INFO] [stdout]     |
[INFO] [stdout] 515 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 516 | |             timeout,
[INFO] [stdout] 517 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] 518 | |         )
[INFO] [stdout]     | |_________^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `tokio::sync::RwLock<T>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:197:42
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let transports = self.transports.clone();
[INFO] [stdout]     |                                          ^^^^^ method not found in `tokio::sync::RwLock<Vec<TransportEntry>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:425:13
[INFO] [stdout]     |
[INFO] [stdout] 423 |         let connection = tokio::time::timeout(
[INFO] [stdout]     |                          -------------------- required by a bound introduced by this call
[INFO] [stdout] 424 |             connect_timeout,
[INFO] [stdout] 425 |             endpoint.connect(addr, server_name),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: Result<Connecting, ConnectError> must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] note: required by a bound in `timeout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/time/timeout.rs:88:8
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub fn timeout<F>(duration: Duration, future: F) -> Timeout<F::IntoFuture>
[INFO] [stdout]     |        ------- required by a bound in this function
[INFO] [stdout]  87 | where
[INFO] [stdout]  88 |     F: IntoFuture,
[INFO] [stdout]     |        ^^^^^^^^^^ required by this bound in `timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:429:10
[INFO] [stdout]     |
[INFO] [stdout] 429 |         .map_err(|e| ShieldError::QuicError(format!("QUIC connect: {}", e)))?;
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map_err` found for type `_` in the current scope
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:429:10
[INFO] [stdout]     |
[INFO] [stdout] 423 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 424 | |             connect_timeout,
[INFO] [stdout] 425 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] ...   |
[INFO] [stdout] 428 | |         .map_err(|_| ShieldError::Timeout("QUIC connect timeout".into()))?
[INFO] [stdout] 429 | |         .map_err(|e| ShieldError::QuicError(format!("QUIC connect: {}", e)))?;
[INFO] [stdout]     | |_________-^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following traits which provide `map_err` are implemented but not in scope; perhaps you want to import one of them
[INFO] [stdout]     |
[INFO] [stdout]   9 + use futures_util::TryFutureExt;
[INFO] [stdout]     |
[INFO] [stdout]   9 + use futures_util::TryStreamExt;
[INFO] [stdout]     |
[INFO] [stdout]   9 + use http_body_util::BodyExt;
[INFO] [stdout]     |
[INFO] [stdout]   9 + use tower::util::ServiceExt;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: there is a method `sink_map_err` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 429 |         .sink_map_err(|e| ShieldError::QuicError(format!("QUIC connect: {}", e)))?;
[INFO] [stdout]     |          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `tokio::sync::RwLock<T>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:198:48
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let battery_state = self.battery_state.clone();
[INFO] [stdout]     |                                                ^^^^^ method not found in `tokio::sync::RwLock<BatteryState>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/hysteria2.rs:423:26
[INFO] [stdout]     |
[INFO] [stdout] 423 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 424 | |             connect_timeout,
[INFO] [stdout] 425 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] 426 | |         )
[INFO] [stdout]     | |_________^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/manager.rs:317:24
[INFO] [stdout]     |
[INFO] [stdout] 317 |             return Err(ShieldError::AllEndpointsExhausted);
[INFO] [stdout]     |                    --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `ShieldError`, found enum constructor
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     AllEndpointsExhausted(String),
[INFO] [stdout]     |     --------------------- `AllEndpointsExhausted` defines an enum variant constructor here, which should be called
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected enum `ShieldError`
[INFO] [stdout]             found enum constructor `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}`
[INFO] [stdout] help: the type constructed contains `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}` due to the type of the argument passed
[INFO] [stdout]    --> daemon/src/transport/manager.rs:317:20
[INFO] [stdout]     |
[INFO] [stdout] 317 |             return Err(ShieldError::AllEndpointsExhausted);
[INFO] [stdout]     |                    ^^^^----------------------------------^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this argument influences the type of `Err`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/416264364aa47959f5827723e1d7dabc95d0744b/library/core/src/result.rs:567:4
[INFO] [stdout] help: use parentheses to construct this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 317 |             return Err(ShieldError::AllEndpointsExhausted(/* std::string::String */));
[INFO] [stdout]     |                                                          +++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/manager.rs:355:13
[INFO] [stdout]     |
[INFO] [stdout] 355 |         Err(ShieldError::AllEndpointsExhausted)
[INFO] [stdout]     |         --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `ShieldError`, found enum constructor
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     AllEndpointsExhausted(String),
[INFO] [stdout]     |     --------------------- `AllEndpointsExhausted` defines an enum variant constructor here, which should be called
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected enum `ShieldError`
[INFO] [stdout]             found enum constructor `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}`
[INFO] [stdout] help: the type constructed contains `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}` due to the type of the argument passed
[INFO] [stdout]    --> daemon/src/transport/manager.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |         Err(ShieldError::AllEndpointsExhausted)
[INFO] [stdout]     |         ^^^^----------------------------------^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this argument influences the type of `Err`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/416264364aa47959f5827723e1d7dabc95d0744b/library/core/src/result.rs:567:4
[INFO] [stdout] help: use parentheses to construct this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 355 |         Err(ShieldError::AllEndpointsExhausted(/* std::string::String */))
[INFO] [stdout]     |                                               +++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/icmp_tunnel.rs:315:42
[INFO] [stdout]     |
[INFO] [stdout] 315 |             .map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                          --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 315 |             .map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `transport::EndpointStats` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:366:55
[INFO] [stdout]     |
[INFO] [stdout] 366 |                     .or_insert_with(|| EndpointStats::new(addr));
[INFO] [stdout]     |                                                       ^^^ associated function or constant not found in `transport::EndpointStats`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/transport/mod.rs:138:1
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub struct EndpointStats {
[INFO] [stdout]     | ------------------------ associated function or constant `new` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `new`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Bit`
[INFO] [stdout]             candidate #2: `BoundKey`
[INFO] [stdout]             candidate #3: `DataOwned`
[INFO] [stdout]             candidate #4: `KeyIvInit`
[INFO] [stdout]             candidate #5: `UniformSampler`
[INFO] [stdout]             candidate #6: `VariableOutput`
[INFO] [stdout]             candidate #7: `VariableOutputCore`
[INFO] [stdout]             candidate #8: `VartimePrecomputedMultiscalarMul`
[INFO] [stdout]             candidate #9: `aes_gcm::KeyInit`
[INFO] [stdout]             candidate #10: `aws_lc_rs::aead::BoundKey`
[INFO] [stdout]             candidate #11: `criterion::stats::tuple::TupledDistributionsBuilder`
[INFO] [stdout]             candidate #12: `gimli::read::lookup::PubStuffEntry`
[INFO] [stdout]             candidate #13: `hmac::Mac`
[INFO] [stdout]             candidate #14: `parking_lot_core::thread_parker::ThreadParkerT`
[INFO] [stdout]             candidate #15: `petgraph::graph_impl::IndexType`
[INFO] [stdout]             candidate #16: `petgraph::matrix_graph::Nullable`
[INFO] [stdout]             candidate #17: `plotters::style::font::FontData`
[INFO] [stdout]             candidate #18: `rand::distr::uniform::UniformSampler`
[INFO] [stdout]             candidate #19: `sha2::Digest`
[INFO] [stdout]             candidate #20: `trust_dns_proto::Executor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0618]: expected function, found `ShieldError`
[INFO] [stdout]    --> daemon/src/transport/icmp_tunnel.rs:374:24
[INFO] [stdout]     |
[INFO] [stdout] 374 |             return Err(ShieldError::RateLimited("ICMP rate limit exceeded".into()));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^-----------------------------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        call expression requires function
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 171 |     RateLimited,
[INFO] [stdout]     |     ----------- `ShieldError::RateLimited` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `*session` as mutable, as it is behind a `&` reference
[INFO] [stdout]    --> daemon/src/transport/icmp_tunnel.rs:598:13
[INFO] [stdout]     |
[INFO] [stdout] 598 |             session.next_send_seq(),
[INFO] [stdout]     |             ^^^^^^^ `session` is a `&` reference, so it cannot be borrowed as mutable
[INFO] [stdout]     |
[INFO] [stdout] help: consider annotating `IcmpTunnelSession` with `#[derive(Clone)]`
[INFO] [stdout]     |
[INFO] [stdout] 386 + #[derive(Clone)]
[INFO] [stdout] 387 | struct IcmpTunnelSession {
[INFO] [stdout]     |
[INFO] [stdout] help: consider specifying this binding's type
[INFO] [stdout]     |
[INFO] [stdout] 584 |         session: &mut IcmpTunnelSession: &IcmpTunnelSession,
[INFO] [stdout]     |                ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `tokio::sync::RwLockReadGuard<'_, HashMap<RefreshChannel, std::string::String>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> daemon/src/transport/manager.rs:391:50
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum RefreshChannel {
[INFO] [stdout]     | ----------------------- doesn't satisfy `RefreshChannel: Eq` or `RefreshChannel: std::hash::Hash`
[INFO] [stdout] ...
[INFO] [stdout] 391 |             if let Some(channel_config) = config.get(&channel) {
[INFO] [stdout]     |                                                  ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RefreshChannel: Eq`
[INFO] [stdout]             `RefreshChannel: std::hash::Hash`
[INFO] [stdout] help: consider annotating `RefreshChannel` with `#[derive(Eq, Hash, PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout]  53 + #[derive(Eq, Hash, PartialEq)]
[INFO] [stdout]  54 | pub enum RefreshChannel {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/manager.rs:468:42
[INFO] [stdout]     |
[INFO] [stdout] 468 |             .map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                          --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 468 |             .map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0618]: expected function, found `ShieldError`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:473:26
[INFO] [stdout]     |
[INFO] [stdout] 473 |             .map_err(|e| ShieldError::EndpointUnreachable(format!("NTP: {}", e)))?;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          call expression requires function
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     EndpointUnreachable,
[INFO] [stdout]     |     ------------------- `ShieldError::EndpointUnreachable` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/manager.rs:487:42
[INFO] [stdout]     |
[INFO] [stdout] 487 |             .map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                          --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 487 |             .map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0618]: expected function, found `ShieldError`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:590:24
[INFO] [stdout]     |
[INFO] [stdout] 590 |             return Err(ShieldError::TransportUnavailable("Manager is shut down".into()));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        call expression requires function
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     TransportUnavailable,
[INFO] [stdout]     |     -------------------- `ShieldError::TransportUnavailable` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `insert` exists for struct `tokio::sync::RwLockWriteGuard<'_, HashMap<RefreshChannel, std::string::String>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> daemon/src/transport/manager.rs:190:43
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum RefreshChannel {
[INFO] [stdout]     | ----------------------- doesn't satisfy `RefreshChannel: Eq` or `RefreshChannel: std::hash::Hash`
[INFO] [stdout] ...
[INFO] [stdout] 190 |         self.refresh_config.write().await.insert(channel, config);
[INFO] [stdout]     |                                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RefreshChannel: Eq`
[INFO] [stdout]             `RefreshChannel: std::hash::Hash`
[INFO] [stdout] help: consider annotating `RefreshChannel` with `#[derive(Eq, Hash, PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout]  53 + #[derive(Eq, Hash, PartialEq)]
[INFO] [stdout]  54 | pub enum RefreshChannel {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `tokio::sync::RwLock<T>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:196:38
[INFO] [stdout]     |
[INFO] [stdout] 196 |         let shutdown = self.shutdown.clone();
[INFO] [stdout]     |                                      ^^^^^ method not found in `tokio::sync::RwLock<bool>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `record_success` found for mutable reference `&mut transport::EndpointStats` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:637:35
[INFO] [stdout]     |
[INFO] [stdout] 637 | ...                   stats.record_success(latency_ms);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ method not found in `&mut transport::EndpointStats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `tokio::sync::RwLock<T>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:197:42
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let transports = self.transports.clone();
[INFO] [stdout]     |                                          ^^^^^ method not found in `tokio::sync::RwLock<Vec<TransportEntry>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `record_failure` found for mutable reference `&mut transport::EndpointStats` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:665:35
[INFO] [stdout]     |
[INFO] [stdout] 665 | ...                   stats.record_failure();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ method not found in `&mut transport::EndpointStats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `tokio::sync::RwLock<T>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:198:48
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let battery_state = self.battery_state.clone();
[INFO] [stdout]     |                                                ^^^^^ method not found in `tokio::sync::RwLock<BatteryState>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/manager.rs:317:24
[INFO] [stdout]     |
[INFO] [stdout] 317 |             return Err(ShieldError::AllEndpointsExhausted);
[INFO] [stdout]     |                    --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `ShieldError`, found enum constructor
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     AllEndpointsExhausted(String),
[INFO] [stdout]     |     --------------------- `AllEndpointsExhausted` defines an enum variant constructor here, which should be called
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected enum `ShieldError`
[INFO] [stdout]             found enum constructor `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}`
[INFO] [stdout] help: the type constructed contains `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}` due to the type of the argument passed
[INFO] [stdout]    --> daemon/src/transport/manager.rs:317:20
[INFO] [stdout]     |
[INFO] [stdout] 317 |             return Err(ShieldError::AllEndpointsExhausted);
[INFO] [stdout]     |                    ^^^^----------------------------------^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this argument influences the type of `Err`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/416264364aa47959f5827723e1d7dabc95d0744b/library/core/src/result.rs:567:4
[INFO] [stdout] help: use parentheses to construct this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 317 |             return Err(ShieldError::AllEndpointsExhausted(/* std::string::String */));
[INFO] [stdout]     |                                                          +++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/manager.rs:355:13
[INFO] [stdout]     |
[INFO] [stdout] 355 |         Err(ShieldError::AllEndpointsExhausted)
[INFO] [stdout]     |         --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `ShieldError`, found enum constructor
[INFO] [stdout]     |         |
[INFO] [stdout]     |         arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 |     AllEndpointsExhausted(String),
[INFO] [stdout]     |     --------------------- `AllEndpointsExhausted` defines an enum variant constructor here, which should be called
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected enum `ShieldError`
[INFO] [stdout]             found enum constructor `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}`
[INFO] [stdout] help: the type constructed contains `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}` due to the type of the argument passed
[INFO] [stdout]    --> daemon/src/transport/manager.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |         Err(ShieldError::AllEndpointsExhausted)
[INFO] [stdout]     |         ^^^^----------------------------------^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this argument influences the type of `Err`
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> /rustc/416264364aa47959f5827723e1d7dabc95d0744b/library/core/src/result.rs:567:4
[INFO] [stdout] help: use parentheses to construct this tuple variant
[INFO] [stdout]     |
[INFO] [stdout] 355 |         Err(ShieldError::AllEndpointsExhausted(/* std::string::String */))
[INFO] [stdout]     |                                               +++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/manager.rs:690:61
[INFO] [stdout]     |
[INFO] [stdout] 690 | ...                   return Err(last_error.unwrap_or(ShieldError::AllEndpointsExhausted));
[INFO] [stdout]     |                                             --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `ShieldError`, found enum constructor
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected enum `ShieldError`
[INFO] [stdout]             found enum constructor `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}`
[INFO] [stdout] help: the return type of this call is `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}` due to the type of the argument passed
[INFO] [stdout]    --> daemon/src/transport/manager.rs:690:40
[INFO] [stdout]     |
[INFO] [stdout] 690 | ...                   return Err(last_error.unwrap_or(ShieldError::AllEndpointsExhausted));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^----------------------------------^
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this argument influences the return type of `unwrap_or`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/416264364aa47959f5827723e1d7dabc95d0744b/library/core/src/option.rs:1038:17
[INFO] [stdout] help: try calling `unwrap_or_else` instead
[INFO] [stdout]     |
[INFO] [stdout] 690 |                             return Err(last_error.unwrap_or_else(ShieldError::AllEndpointsExhausted));
[INFO] [stdout]     |                                                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `deprioritized` on type `&transport::EndpointStats`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:735:27
[INFO] [stdout]     |
[INFO] [stdout] 735 |                 if !stats.deprioritized && stats.success_count > 0 {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `attempts`, `successes`, `failures`, `avg_latency_ms`, `last_attempt_ts`, `last_success_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `success_count` on type `&transport::EndpointStats`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:735:50
[INFO] [stdout]     |
[INFO] [stdout] 735 |                 if !stats.deprioritized && stats.success_count > 0 {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `attempts`, `successes`, `failures`, `avg_latency_ms`, `last_attempt_ts`, `last_success_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `latency_ms` on type `&transport::EndpointStats`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:737:30
[INFO] [stdout]     |
[INFO] [stdout] 737 |                     if stats.latency_ms != f64::MAX {
[INFO] [stdout]     |                              ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `attempts`, `successes`, `failures`, `avg_latency_ms`, `last_attempt_ts`, `last_success_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `latency_ms` on type `&transport::EndpointStats`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:738:48
[INFO] [stdout]     |
[INFO] [stdout] 738 |                         total_latency += stats.latency_ms;
[INFO] [stdout]     |                                                ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `attempts`, `successes`, `failures`, `avg_latency_ms`, `last_attempt_ts`, `last_success_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new` found for struct `transport::EndpointStats` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:366:55
[INFO] [stdout]     |
[INFO] [stdout] 366 |                     .or_insert_with(|| EndpointStats::new(addr));
[INFO] [stdout]     |                                                       ^^^ associated function or constant not found in `transport::EndpointStats`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/transport/mod.rs:138:1
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub struct EndpointStats {
[INFO] [stdout]     | ------------------------ associated function or constant `new` not found for this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `new`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Bit`
[INFO] [stdout]             candidate #2: `BoundKey`
[INFO] [stdout]             candidate #3: `DataOwned`
[INFO] [stdout]             candidate #4: `KeyInit`
[INFO] [stdout]             candidate #5: `KeyIvInit`
[INFO] [stdout]             candidate #6: `UniformSampler`
[INFO] [stdout]             candidate #7: `VariableOutput`
[INFO] [stdout]             candidate #8: `VariableOutputCore`
[INFO] [stdout]             candidate #9: `VartimePrecomputedMultiscalarMul`
[INFO] [stdout]             candidate #10: `aws_lc_rs::aead::BoundKey`
[INFO] [stdout]             candidate #11: `gimli::read::lookup::PubStuffEntry`
[INFO] [stdout]             candidate #12: `hmac::Mac`
[INFO] [stdout]             candidate #13: `parking_lot_core::thread_parker::ThreadParkerT`
[INFO] [stdout]             candidate #14: `petgraph::graph_impl::IndexType`
[INFO] [stdout]             candidate #15: `petgraph::matrix_graph::Nullable`
[INFO] [stdout]             candidate #16: `rand::distr::uniform::UniformSampler`
[INFO] [stdout]             candidate #17: `sha2::Digest`
[INFO] [stdout]             candidate #18: `trust_dns_proto::Executor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/meek.rs:346:62
[INFO] [stdout]     |
[INFO] [stdout] 346 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 346 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/meek.rs:422:62
[INFO] [stdout]     |
[INFO] [stdout] 422 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 422 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `tokio::sync::RwLockReadGuard<'_, HashMap<RefreshChannel, std::string::String>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> daemon/src/transport/manager.rs:391:50
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum RefreshChannel {
[INFO] [stdout]     | ----------------------- doesn't satisfy `RefreshChannel: Eq` or `RefreshChannel: std::hash::Hash`
[INFO] [stdout] ...
[INFO] [stdout] 391 |             if let Some(channel_config) = config.get(&channel) {
[INFO] [stdout]     |                                                  ^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `RefreshChannel: Eq`
[INFO] [stdout]             `RefreshChannel: std::hash::Hash`
[INFO] [stdout] help: consider annotating `RefreshChannel` with `#[derive(Eq, Hash, PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout]  53 + #[derive(Eq, Hash, PartialEq)]
[INFO] [stdout]  54 | pub enum RefreshChannel {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/manager.rs:468:42
[INFO] [stdout]     |
[INFO] [stdout] 468 |             .map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                          --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 468 |             .map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0618]: expected function, found `ShieldError`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:473:26
[INFO] [stdout]     |
[INFO] [stdout] 473 |             .map_err(|e| ShieldError::EndpointUnreachable(format!("NTP: {}", e)))?;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------------------
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          call expression requires function
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 165 |     EndpointUnreachable,
[INFO] [stdout]     |     ------------------- `ShieldError::EndpointUnreachable` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/manager.rs:487:42
[INFO] [stdout]     |
[INFO] [stdout] 487 |             .map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                          --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 487 |             .map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0618]: expected function, found `ShieldError`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:590:24
[INFO] [stdout]     |
[INFO] [stdout] 590 |             return Err(ShieldError::TransportUnavailable("Manager is shut down".into()));
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------------
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        call expression requires function
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     TransportUnavailable,
[INFO] [stdout]     |     -------------------- `ShieldError::TransportUnavailable` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/mqtt_ws.rs:417:62
[INFO] [stdout]     |
[INFO] [stdout] 417 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 417 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `record_success` found for mutable reference `&mut transport::EndpointStats` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:637:35
[INFO] [stdout]     |
[INFO] [stdout] 637 | ...                   stats.record_success(latency_ms);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ method not found in `&mut transport::EndpointStats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `send` found for struct `WebSocketStream<S>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/mqtt_ws.rs:450:14
[INFO] [stdout]     |
[INFO] [stdout] 449 | /         ws_stream
[INFO] [stdout] 450 | |             .send(tungstenite::Message::Binary(connect_packet))
[INFO] [stdout]     | |_____________-^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/sink/mod.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 220 |       fn send(&mut self, item: Item) -> Send<'_, Self, Item>
[INFO] [stdout]     |          ---- the method is available for `WebSocketStream<tokio_tungstenite::MaybeTlsStream<tokio::net::TcpStream>>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `SinkExt` which provides `send` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   7 + use futures_util::SinkExt;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `send_all` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 450 |             .send_all(tungstenite::Message::Binary(connect_packet))
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `record_failure` found for mutable reference `&mut transport::EndpointStats` in the current scope
[INFO] [stdout]    --> daemon/src/transport/manager.rs:665:35
[INFO] [stdout]     |
[INFO] [stdout] 665 | ...                   stats.record_failure();
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ method not found in `&mut transport::EndpointStats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `send` found for struct `WebSocketStream<S>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/mqtt_ws.rs:478:14
[INFO] [stdout]     |
[INFO] [stdout] 477 | /         ws_stream
[INFO] [stdout] 478 | |             .send(tungstenite::Message::Binary(subscribe_packet))
[INFO] [stdout]     | |_____________-^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/sink/mod.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 220 |       fn send(&mut self, item: Item) -> Send<'_, Self, Item>
[INFO] [stdout]     |          ---- the method is available for `WebSocketStream<tokio_tungstenite::MaybeTlsStream<tokio::net::TcpStream>>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `SinkExt` which provides `send` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   7 + use futures_util::SinkExt;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `send_all` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 478 |             .send_all(tungstenite::Message::Binary(subscribe_packet))
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/manager.rs:690:61
[INFO] [stdout]     |
[INFO] [stdout] 690 | ...                   return Err(last_error.unwrap_or(ShieldError::AllEndpointsExhausted));
[INFO] [stdout]     |                                             --------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `ShieldError`, found enum constructor
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected enum `ShieldError`
[INFO] [stdout]             found enum constructor `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}`
[INFO] [stdout] help: the return type of this call is `fn(std::string::String) -> ShieldError {ShieldError::AllEndpointsExhausted}` due to the type of the argument passed
[INFO] [stdout]    --> daemon/src/transport/manager.rs:690:40
[INFO] [stdout]     |
[INFO] [stdout] 690 | ...                   return Err(last_error.unwrap_or(ShieldError::AllEndpointsExhausted));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^----------------------------------^
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       this argument influences the return type of `unwrap_or`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /rustc/416264364aa47959f5827723e1d7dabc95d0744b/library/core/src/option.rs:1038:17
[INFO] [stdout] help: try calling `unwrap_or_else` instead
[INFO] [stdout]     |
[INFO] [stdout] 690 |                             return Err(last_error.unwrap_or_else(ShieldError::AllEndpointsExhausted));
[INFO] [stdout]     |                                                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `deprioritized` on type `&transport::EndpointStats`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:735:27
[INFO] [stdout]     |
[INFO] [stdout] 735 |                 if !stats.deprioritized && stats.success_count > 0 {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `attempts`, `successes`, `failures`, `avg_latency_ms`, `last_attempt_ts`, `last_success_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `success_count` on type `&transport::EndpointStats`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:735:50
[INFO] [stdout]     |
[INFO] [stdout] 735 |                 if !stats.deprioritized && stats.success_count > 0 {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `attempts`, `successes`, `failures`, `avg_latency_ms`, `last_attempt_ts`, `last_success_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `latency_ms` on type `&transport::EndpointStats`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:737:30
[INFO] [stdout]     |
[INFO] [stdout] 737 |                     if stats.latency_ms != f64::MAX {
[INFO] [stdout]     |                              ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `attempts`, `successes`, `failures`, `avg_latency_ms`, `last_attempt_ts`, `last_success_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `latency_ms` on type `&transport::EndpointStats`
[INFO] [stdout]    --> daemon/src/transport/manager.rs:738:48
[INFO] [stdout]     |
[INFO] [stdout] 738 |                         total_latency += stats.latency_ms;
[INFO] [stdout]     |                                                ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `attempts`, `successes`, `failures`, `avg_latency_ms`, `last_attempt_ts`, `last_success_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `send` found for struct `WebSocketStream<S>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/mqtt_ws.rs:491:14
[INFO] [stdout]     |
[INFO] [stdout] 490 | /         ws_stream
[INFO] [stdout] 491 | |             .send(tungstenite::Message::Binary(publish_packet))
[INFO] [stdout]     | |_____________-^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/sink/mod.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 220 |       fn send(&mut self, item: Item) -> Send<'_, Self, Item>
[INFO] [stdout]     |          ---- the method is available for `WebSocketStream<tokio_tungstenite::MaybeTlsStream<tokio::net::TcpStream>>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `SinkExt` which provides `send` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   7 + use futures_util::SinkExt;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `send_all` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 491 |             .send_all(tungstenite::Message::Binary(publish_packet))
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/meek.rs:346:62
[INFO] [stdout]     |
[INFO] [stdout] 346 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 346 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/meek.rs:422:62
[INFO] [stdout]     |
[INFO] [stdout] 422 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 422 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `new` found for enum `ShieldError` in the current scope
[INFO] [stdout]    --> daemon/src/transport/multihop_chain.rs:131:37
[INFO] [stdout]     |
[INFO] [stdout] 131 |             return Err(ShieldError::new(
[INFO] [stdout]     |                                     ^^^ variant, associated function, or constant not found in `ShieldError`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:76:1
[INFO] [stdout]     |
[INFO] [stdout]  76 | pub enum ShieldError {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `new` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ShieldError` consider using one of the following associated functions:
[INFO] [stdout]       ShieldError::ipc
[INFO] [stdout]       ShieldError::config
[INFO] [stdout]       ShieldError::transport
[INFO] [stdout]       ShieldError::crypto
[INFO] [stdout]       and 6 others
[INFO] [stdout]    --> daemon/src/error.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn ipc(code: ErrorCode, message: impl Into<String>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn config(message: impl Into<String>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn transport(message: impl Into<String>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `new`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Bit`
[INFO] [stdout]             candidate #2: `BoundKey`
[INFO] [stdout]             candidate #3: `DataOwned`
[INFO] [stdout]             candidate #4: `KeyIvInit`
[INFO] [stdout]             candidate #5: `UniformSampler`
[INFO] [stdout]             candidate #6: `VariableOutput`
[INFO] [stdout]             candidate #7: `VariableOutputCore`
[INFO] [stdout]             candidate #8: `VartimePrecomputedMultiscalarMul`
[INFO] [stdout]             candidate #9: `aes_gcm::KeyInit`
[INFO] [stdout]             candidate #10: `aws_lc_rs::aead::BoundKey`
[INFO] [stdout]             candidate #11: `criterion::stats::tuple::TupledDistributionsBuilder`
[INFO] [stdout]             candidate #12: `gimli::read::lookup::PubStuffEntry`
[INFO] [stdout]             candidate #13: `hmac::Mac`
[INFO] [stdout]             candidate #14: `parking_lot_core::thread_parker::ThreadParkerT`
[INFO] [stdout]             candidate #15: `petgraph::graph_impl::IndexType`
[INFO] [stdout]             candidate #16: `petgraph::matrix_graph::Nullable`
[INFO] [stdout]             candidate #17: `plotters::style::font::FontData`
[INFO] [stdout]             candidate #18: `rand::distr::uniform::UniformSampler`
[INFO] [stdout]             candidate #19: `sha2::Digest`
[INFO] [stdout]             candidate #20: `trust_dns_proto::Executor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `ConfigError` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/transport/multihop_chain.rs:132:28
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 ErrorCode::ConfigError,
[INFO] [stdout]     |                            ^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `ConfigError` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/mqtt_ws.rs:417:62
[INFO] [stdout]     |
[INFO] [stdout] 417 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 417 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/naive_proxy.rs:262:62
[INFO] [stdout]     |
[INFO] [stdout] 262 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 262 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rustls::pki_types::ServerName<'_>: From<&std::string::String>` is not satisfied
[INFO] [stdout]    --> daemon/src/transport/naive_proxy.rs:385:14
[INFO] [stdout]     |
[INFO] [stdout] 385 |             .try_into()
[INFO] [stdout]     |              ^^^^^^^^ the trait `From<&std::string::String>` is not implemented for `rustls::pki_types::ServerName<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider casting the `&std::string::String` value to `&str`
[INFO] [stdout]     = help: `rustls::pki_types::ServerName<'_>` implements trait `From<T>`:
[INFO] [stdout]               From<rustls::pki_types::DnsName<'_>>
[INFO] [stdout]               From<rustls::pki_types::IpAddr>
[INFO] [stdout]               From<rustls::pki_types::Ipv4Addr>
[INFO] [stdout]               From<rustls::pki_types::Ipv6Addr>
[INFO] [stdout]               From<std::net::IpAddr>
[INFO] [stdout]               From<std::net::Ipv4Addr>
[INFO] [stdout]               From<std::net::Ipv6Addr>
[INFO] [stdout]     = note: required for `&std::string::String` to implement `Into<rustls::pki_types::ServerName<'_>>`
[INFO] [stdout]     = note: required for `rustls::pki_types::ServerName<'_>` to implement `TryFrom<&std::string::String>`
[INFO] [stdout]     = note: required for `&std::string::String` to implement `TryInto<rustls::pki_types::ServerName<'_>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `send` found for struct `WebSocketStream<S>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/mqtt_ws.rs:450:14
[INFO] [stdout]     |
[INFO] [stdout] 449 | /         ws_stream
[INFO] [stdout] 450 | |             .send(tungstenite::Message::Binary(connect_packet))
[INFO] [stdout]     | |_____________-^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/sink/mod.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 220 |       fn send(&mut self, item: Item) -> Send<'_, Self, Item>
[INFO] [stdout]     |          ---- the method is available for `WebSocketStream<tokio_tungstenite::MaybeTlsStream<tokio::net::TcpStream>>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `SinkExt` which provides `send` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   7 + use futures_util::SinkExt;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `send_all` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 450 |             .send_all(tungstenite::Message::Binary(connect_packet))
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `random` found for struct `EphemeralSecret` in the current scope
[INFO] [stdout]    --> daemon/src/transport/reality.rs:328:49
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let ephemeral_secret = EphemeralSecret::random();
[INFO] [stdout]     |                                                 ^^^^^^ associated function or constant not found in `EphemeralSecret`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `EphemeralSecret` consider using one of the following associated functions:
[INFO] [stdout]       EphemeralSecret::new
[INFO] [stdout]       EphemeralSecret::random_from_rng
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x25519-dalek-2.0.1/src/x25519.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn new<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn random_from_rng<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `and` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.6.11/src/follow_redirect/policy/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | /     fn and<P, B, E>(self, other: P) -> And<Self, P>
[INFO] [stdout] 142 | |     where
[INFO] [stdout] 143 | |         Self: Policy<B, E> + Sized,
[INFO] [stdout] 144 | |         P: Policy<B, E>;
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `send` found for struct `WebSocketStream<S>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/mqtt_ws.rs:478:14
[INFO] [stdout]     |
[INFO] [stdout] 477 | /         ws_stream
[INFO] [stdout] 478 | |             .send(tungstenite::Message::Binary(subscribe_packet))
[INFO] [stdout]     | |_____________-^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/sink/mod.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 220 |       fn send(&mut self, item: Item) -> Send<'_, Self, Item>
[INFO] [stdout]     |          ---- the method is available for `WebSocketStream<tokio_tungstenite::MaybeTlsStream<tokio::net::TcpStream>>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `SinkExt` which provides `send` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   7 + use futures_util::SinkExt;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `send_all` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 478 |             .send_all(tungstenite::Message::Binary(subscribe_packet))
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/reality.rs:366:62
[INFO] [stdout]     |
[INFO] [stdout] 366 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 366 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `send` found for struct `WebSocketStream<S>` in the current scope
[INFO] [stdout]    --> daemon/src/transport/mqtt_ws.rs:491:14
[INFO] [stdout]     |
[INFO] [stdout] 490 | /         ws_stream
[INFO] [stdout] 491 | |             .send(tungstenite::Message::Binary(publish_packet))
[INFO] [stdout]     | |_____________-^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-util-0.3.32/src/sink/mod.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout] 220 |       fn send(&mut self, item: Item) -> Send<'_, Self, Item>
[INFO] [stdout]     |          ---- the method is available for `WebSocketStream<tokio_tungstenite::MaybeTlsStream<tokio::net::TcpStream>>` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `SinkExt` which provides `send` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout]   7 + use futures_util::SinkExt;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `send_all` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 491 |             .send_all(tungstenite::Message::Binary(publish_packet))
[INFO] [stdout]     |                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/shadow_tls.rs:177:42
[INFO] [stdout]     |
[INFO] [stdout] 177 |             .map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                          --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 177 |             .map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `new` found for enum `ShieldError` in the current scope
[INFO] [stdout]    --> daemon/src/transport/multihop_chain.rs:131:37
[INFO] [stdout]     |
[INFO] [stdout] 131 |             return Err(ShieldError::new(
[INFO] [stdout]     |                                     ^^^ variant, associated function, or constant not found in `ShieldError`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:76:1
[INFO] [stdout]     |
[INFO] [stdout]  76 | pub enum ShieldError {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `new` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `ShieldError` consider using one of the following associated functions:
[INFO] [stdout]       ShieldError::ipc
[INFO] [stdout]       ShieldError::config
[INFO] [stdout]       ShieldError::transport
[INFO] [stdout]       ShieldError::crypto
[INFO] [stdout]       and 6 others
[INFO] [stdout]    --> daemon/src/error.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn ipc(code: ErrorCode, message: impl Into<String>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn config(message: impl Into<String>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn transport(message: impl Into<String>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `new`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `Bit`
[INFO] [stdout]             candidate #2: `BoundKey`
[INFO] [stdout]             candidate #3: `DataOwned`
[INFO] [stdout]             candidate #4: `KeyInit`
[INFO] [stdout]             candidate #5: `KeyIvInit`
[INFO] [stdout]             candidate #6: `UniformSampler`
[INFO] [stdout]             candidate #7: `VariableOutput`
[INFO] [stdout]             candidate #8: `VariableOutputCore`
[INFO] [stdout]             candidate #9: `VartimePrecomputedMultiscalarMul`
[INFO] [stdout]             candidate #10: `aws_lc_rs::aead::BoundKey`
[INFO] [stdout]             candidate #11: `gimli::read::lookup::PubStuffEntry`
[INFO] [stdout]             candidate #12: `hmac::Mac`
[INFO] [stdout]             candidate #13: `parking_lot_core::thread_parker::ThreadParkerT`
[INFO] [stdout]             candidate #14: `petgraph::graph_impl::IndexType`
[INFO] [stdout]             candidate #15: `petgraph::matrix_graph::Nullable`
[INFO] [stdout]             candidate #16: `rand::distr::uniform::UniformSampler`
[INFO] [stdout]             candidate #17: `sha2::Digest`
[INFO] [stdout]             candidate #18: `trust_dns_proto::Executor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `ConfigError` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/transport/multihop_chain.rs:132:28
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 ErrorCode::ConfigError,
[INFO] [stdout]     |                            ^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `ConfigError` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_0rtt_accepted` found for struct `quinn::Connection` in the current scope
[INFO] [stdout]    --> daemon/src/transport/tuic_v5.rs:371:23
[INFO] [stdout]     |
[INFO] [stdout] 371 |         if connection.is_0rtt_accepted() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^ method not found in `quinn::Connection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/naive_proxy.rs:262:62
[INFO] [stdout]     |
[INFO] [stdout] 262 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 262 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rustls::pki_types::ServerName<'_>: From<&std::string::String>` is not satisfied
[INFO] [stdout]    --> daemon/src/transport/naive_proxy.rs:385:14
[INFO] [stdout]     |
[INFO] [stdout] 385 |             .try_into()
[INFO] [stdout]     |              ^^^^^^^^ the trait `From<&std::string::String>` is not implemented for `rustls::pki_types::ServerName<'_>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider casting the `&std::string::String` value to `&str`
[INFO] [stdout]     = help: `rustls::pki_types::ServerName<'_>` implements trait `From<T>`:
[INFO] [stdout]               From<rustls::pki_types::DnsName<'_>>
[INFO] [stdout]               From<rustls::pki_types::IpAddr>
[INFO] [stdout]               From<rustls::pki_types::Ipv4Addr>
[INFO] [stdout]               From<rustls::pki_types::Ipv6Addr>
[INFO] [stdout]               From<std::net::IpAddr>
[INFO] [stdout]               From<std::net::Ipv4Addr>
[INFO] [stdout]               From<std::net::Ipv6Addr>
[INFO] [stdout]     = note: required for `&std::string::String` to implement `Into<rustls::pki_types::ServerName<'_>>`
[INFO] [stdout]     = note: required for `rustls::pki_types::ServerName<'_>` to implement `TryFrom<&std::string::String>`
[INFO] [stdout]     = note: required for `&std::string::String` to implement `TryInto<rustls::pki_types::ServerName<'_>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/vless.rs:643:62
[INFO] [stdout]     |
[INFO] [stdout] 643 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 643 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `random` found for struct `EphemeralSecret` in the current scope
[INFO] [stdout]    --> daemon/src/transport/reality.rs:328:49
[INFO] [stdout]     |
[INFO] [stdout] 328 |         let ephemeral_secret = EphemeralSecret::random();
[INFO] [stdout]     |                                                 ^^^^^^ associated function or constant not found in `EphemeralSecret`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `EphemeralSecret` consider using one of the following associated functions:
[INFO] [stdout]       EphemeralSecret::new
[INFO] [stdout]       EphemeralSecret::random_from_rng
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x25519-dalek-2.0.1/src/x25519.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn new<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn random_from_rng<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `and` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.6.11/src/follow_redirect/policy/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | /     fn and<P, B, E>(self, other: P) -> And<Self, P>
[INFO] [stdout] 142 | |     where
[INFO] [stdout] 143 | |         Self: Policy<B, E> + Sized,
[INFO] [stdout] 144 | |         P: Policy<B, E>;
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/reality.rs:366:62
[INFO] [stdout]     |
[INFO] [stdout] 366 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 366 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/vless.rs:719:62
[INFO] [stdout]     |
[INFO] [stdout] 719 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 719 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> daemon/src/transport/vless.rs:797:9
[INFO] [stdout]     |
[INFO] [stdout] 769 |           sni: &str,
[INFO] [stdout]     |           ---  - let's call the lifetime of this reference `'1`
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `sni` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 797 | /         connector
[INFO] [stdout] 798 | |             .connect(server_name, stream)
[INFO] [stdout]     | |                                         ^
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |_________________________________________`sni` escapes the method body here
[INFO] [stdout]     |                                           argument requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/shadow_tls.rs:177:42
[INFO] [stdout]     |
[INFO] [stdout] 177 |             .map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                          --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 177 |             .map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_0rtt_accepted` found for struct `quinn::Connection` in the current scope
[INFO] [stdout]    --> daemon/src/transport/tuic_v5.rs:371:23
[INFO] [stdout]     |
[INFO] [stdout] 371 |         if connection.is_0rtt_accepted() {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^ method not found in `quinn::Connection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rustls::ClientConfig: quinn::crypto::ClientConfig` is not satisfied in `rustls::ClientConfig`
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:337:58
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let mut client_config = quinn::ClientConfig::new(Arc::new(crypto));
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^ within `rustls::ClientConfig`, the trait `quinn::crypto::ClientConfig` is not implemented for `rustls::ClientConfig`
[INFO] [stdout]     |
[INFO] [stdout] help: item with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.22.4/src/client/client_conn.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct ClientConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: there are multiple different versions of crate `rustls` in the dependency graph
[INFO] [stdout] help: the trait `quinn::crypto::ClientConfig` is implemented for `QuicClientConfig`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-proto-0.11.14/src/crypto/rustls.rs:356:1
[INFO] [stdout]     |
[INFO] [stdout] 356 | impl crypto::ClientConfig for QuicClientConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `rustls::ClientConfig`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/client/client_conn.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ClientConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `std::sync::Arc<rustls::ClientConfig>` to implement `CoerceUnsized<std::sync::Arc<dyn quinn::crypto::ClientConfig>>`
[INFO] [stdout]     = note: required for the cast from `std::sync::Arc<rustls::ClientConfig>` to `std::sync::Arc<(dyn quinn::crypto::ClientConfig + 'static)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:352:13
[INFO] [stdout]     |
[INFO] [stdout] 350 |         let connection = tokio::time::timeout(
[INFO] [stdout]     |                          -------------------- required by a bound introduced by this call
[INFO] [stdout] 351 |             timeout,
[INFO] [stdout] 352 |             endpoint.connect(addr, server_name),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: Result<Connecting, ConnectError> must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] note: required by a bound in `timeout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/time/timeout.rs:88:8
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub fn timeout<F>(duration: Duration, future: F) -> Timeout<F::IntoFuture>
[INFO] [stdout]     |        ------- required by a bound in this function
[INFO] [stdout]  87 | where
[INFO] [stdout]  88 |     F: IntoFuture,
[INFO] [stdout]     |        ^^^^^^^^^^ required by this bound in `timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:356:10
[INFO] [stdout]     |
[INFO] [stdout] 356 |         .map_err(|e| ShieldError::QuicError(format!("WT connect: {}", e)))?;
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/vless.rs:643:62
[INFO] [stdout]     |
[INFO] [stdout] 643 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 643 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map_err` found for type `_` in the current scope
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:356:10
[INFO] [stdout]     |
[INFO] [stdout] 350 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 351 | |             timeout,
[INFO] [stdout] 352 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] ...   |
[INFO] [stdout] 355 | |         .map_err(|_| ShieldError::Timeout("WT QUIC timeout".into()))?
[INFO] [stdout] 356 | |         .map_err(|e| ShieldError::QuicError(format!("WT connect: {}", e)))?;
[INFO] [stdout]     | |_________-^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following traits which provide `map_err` are implemented but not in scope; perhaps you want to import one of them
[INFO] [stdout]     |
[INFO] [stdout]   7 + use futures_util::TryFutureExt;
[INFO] [stdout]     |
[INFO] [stdout]   7 + use futures_util::TryStreamExt;
[INFO] [stdout]     |
[INFO] [stdout]   7 + use http_body_util::BodyExt;
[INFO] [stdout]     |
[INFO] [stdout]   7 + use tower::util::ServiceExt;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: there is a method `sink_map_err` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 356 |         .sink_map_err(|e| ShieldError::QuicError(format!("WT connect: {}", e)))?;
[INFO] [stdout]     |          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:350:26
[INFO] [stdout]     |
[INFO] [stdout] 350 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 351 | |             timeout,
[INFO] [stdout] 352 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] 353 | |         )
[INFO] [stdout]     | |_________^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/vless.rs:719:62
[INFO] [stdout]     |
[INFO] [stdout] 719 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 719 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:419:62
[INFO] [stdout]     |
[INFO] [stdout] 419 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 419 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0521]: borrowed data escapes outside of method
[INFO] [stdout]    --> daemon/src/transport/vless.rs:797:9
[INFO] [stdout]     |
[INFO] [stdout] 769 |           sni: &str,
[INFO] [stdout]     |           ---  - let's call the lifetime of this reference `'1`
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `sni` is a reference that is only valid in the method body
[INFO] [stdout] ...
[INFO] [stdout] 797 | /         connector
[INFO] [stdout] 798 | |             .connect(server_name, stream)
[INFO] [stdout]     | |                                         ^
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |_________________________________________`sni` escapes the method body here
[INFO] [stdout]     |                                           argument requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `TransportError` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/transport/mod.rs:177:70
[INFO] [stdout]     |
[INFO] [stdout] 177 | ...ate::error::ErrorCode::TransportError, &format!("DNS resolution failed for {}: {}", domain, e)))?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `TransportError` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `TransportError` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/transport/mod.rs:180:72
[INFO] [stdout]     |
[INFO] [stdout] 180 |         .ok_or_else(|| ShieldError::from_code(crate::error::ErrorCode::TransportError, &format!("No addresses found for {}", domain)))
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `TransportError` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rustls::ClientConfig: quinn::crypto::ClientConfig` is not satisfied in `rustls::ClientConfig`
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:337:58
[INFO] [stdout]     |
[INFO] [stdout] 337 |         let mut client_config = quinn::ClientConfig::new(Arc::new(crypto));
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^ within `rustls::ClientConfig`, the trait `quinn::crypto::ClientConfig` is not implemented for `rustls::ClientConfig`
[INFO] [stdout]     |
[INFO] [stdout] help: item with same name found
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.22.4/src/client/client_conn.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct ClientConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: there are multiple different versions of crate `rustls` in the dependency graph
[INFO] [stdout] help: the trait `quinn::crypto::ClientConfig` is implemented for `QuicClientConfig`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/quinn-proto-0.11.14/src/crypto/rustls.rs:356:1
[INFO] [stdout]     |
[INFO] [stdout] 356 | impl crypto::ClientConfig for QuicClientConfig {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required because it appears within the type `rustls::ClientConfig`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rustls-0.23.40/src/client/client_conn.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct ClientConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Arc<rustls::ClientConfig>` to implement `CoerceUnsized<Arc<dyn quinn::crypto::ClientConfig>>`
[INFO] [stdout]     = note: required for the cast from `Arc<rustls::ClientConfig>` to `Arc<(dyn quinn::crypto::ClientConfig + 'static)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> daemon/src/obfuscation/traffic_shaper.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let mut is_dummy = false;
[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] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:352:13
[INFO] [stdout]     |
[INFO] [stdout] 350 |         let connection = tokio::time::timeout(
[INFO] [stdout]     |                          -------------------- required by a bound introduced by this call
[INFO] [stdout] 351 |             timeout,
[INFO] [stdout] 352 |             endpoint.connect(addr, server_name),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: Result<Connecting, ConnectError> must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] note: required by a bound in `timeout`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/time/timeout.rs:88:8
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub fn timeout<F>(duration: Duration, future: F) -> Timeout<F::IntoFuture>
[INFO] [stdout]     |        ------- required by a bound in this function
[INFO] [stdout]  87 | where
[INFO] [stdout]  88 |     F: IntoFuture,
[INFO] [stdout]     |        ^^^^^^^^^^ required by this bound in `timeout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method call on a diverging inference variable
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:356:10
[INFO] [stdout]     |
[INFO] [stdout] 356 |         .map_err(|e| ShieldError::QuicError(format!("WT connect: {}", e)))?;
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider providing a type annotation
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #156047 <https://github.com/rust-lang/rust/issues/156047>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `map_err` found for type `_` in the current scope
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:356:10
[INFO] [stdout]     |
[INFO] [stdout] 350 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 351 | |             timeout,
[INFO] [stdout] 352 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] ...   |
[INFO] [stdout] 355 | |         .map_err(|_| ShieldError::Timeout("WT QUIC timeout".into()))?
[INFO] [stdout] 356 | |         .map_err(|e| ShieldError::QuicError(format!("WT connect: {}", e)))?;
[INFO] [stdout]     | |_________-^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: the following traits which provide `map_err` are implemented but not in scope; perhaps you want to import one of them
[INFO] [stdout]     |
[INFO] [stdout]   7 + use futures_util::TryFutureExt;
[INFO] [stdout]     |
[INFO] [stdout]   7 + use futures_util::TryStreamExt;
[INFO] [stdout]     |
[INFO] [stdout]   7 + use http_body_util::BodyExt;
[INFO] [stdout]     |
[INFO] [stdout]   7 + use tower::util::ServiceExt;
[INFO] [stdout]     |
[INFO] [stdout]     = and 1 other candidate
[INFO] [stdout] help: there is a method `sink_map_err` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 356 |         .sink_map_err(|e| ShieldError::QuicError(format!("WT connect: {}", e)))?;
[INFO] [stdout]     |          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> daemon/src/obfuscation/wasm_obfuscator.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |           let path = self
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 219 | |             .config
[INFO] [stdout] 220 | |             .module_path
[INFO] [stdout]     | |________________________- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 224 |           self.load_module_from_path(path).await
[INFO] [stdout]     |           ^^^^^---------------------^^^^^^
[INFO] [stdout]     |           |    |
[INFO] [stdout]     |           |    immutable borrow later used by call
[INFO] [stdout]     |           mutable borrow occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:350:26
[INFO] [stdout]     |
[INFO] [stdout] 350 |           let connection = tokio::time::timeout(
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 351 | |             timeout,
[INFO] [stdout] 352 | |             endpoint.connect(addr, server_name),
[INFO] [stdout] 353 | |         )
[INFO] [stdout]     | |_________^ `Result<Connecting, ConnectError>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `futures_util::Future` is not implemented for `Result<Connecting, ConnectError>`
[INFO] [stdout]     = note: required for `Result<Connecting, ConnectError>` to implement `std::future::IntoFuture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/transport/webtransport.rs:419:62
[INFO] [stdout]     |
[INFO] [stdout] 419 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e))?;
[INFO] [stdout]     |                                              --------------- ^ expected `String`, found `Error`
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              arguments to this enum variant are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> daemon/src/error.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     Io(String),
[INFO] [stdout]     |     ^^
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]     |
[INFO] [stdout] 419 |         stream.set_nodelay(true).map_err(|e| ShieldError::Io(e.to_string()))?;
[INFO] [stdout]     |                                                               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `TransportError` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/transport/mod.rs:177:70
[INFO] [stdout]     |
[INFO] [stdout] 177 | ...ate::error::ErrorCode::TransportError, &format!("DNS resolution failed for {}: {}", domain, e)))?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `TransportError` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `TransportError` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/transport/mod.rs:180:72
[INFO] [stdout]     |
[INFO] [stdout] 180 |         .ok_or_else(|| ShieldError::from_code(crate::error::ErrorCode::TransportError, &format!("No addresses found for {}", domain)))
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `TransportError` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> daemon/src/obfuscation/traffic_shaper.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let mut is_dummy = false;
[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] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable
[INFO] [stdout]    --> daemon/src/obfuscation/wasm_obfuscator.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |           let path = self
[INFO] [stdout]     |  ____________________-
[INFO] [stdout] 219 | |             .config
[INFO] [stdout] 220 | |             .module_path
[INFO] [stdout]     | |________________________- immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 224 |           self.load_module_from_path(path).await
[INFO] [stdout]     |           ^^^^^---------------------^^^^^^
[INFO] [stdout]     |           |    |
[INFO] [stdout]     |           |    immutable borrow later used by call
[INFO] [stdout]     |           mutable borrow occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Arc` as mutable
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:287:25
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let selection = self.bandit.select();
[INFO] [stdout]     |                         ^^^^^^^^^^^ cannot borrow as mutable
[INFO] [stdout]     |
[INFO] [stdout]     = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `std::sync::Arc<UCBBandit>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow data in an `Arc` as mutable
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:287:25
[INFO] [stdout]     |
[INFO] [stdout] 287 |         let selection = self.bandit.select();
[INFO] [stdout]     |                         ^^^^^^^^^^^ cannot borrow as mutable
[INFO] [stdout]     |
[INFO] [stdout]     = help: trait `DerefMut` is required to modify through a dereference, but it is not implemented for `Arc<UCBBandit>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CoreConfig: Default` is not satisfied
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:364:14
[INFO] [stdout]     |
[INFO] [stdout] 364 |             .unwrap_or_default();
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `CoreConfig`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `std::option::Option::<T>::unwrap_or_default`
[INFO] [stdout]    --> /rustc/416264364aa47959f5827723e1d7dabc95d0744b/library/core/src/option.rs:1093:4
[INFO] [stdout] help: consider annotating `CoreConfig` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout] 118 + #[derive(Default)]
[INFO] [stdout] 119 | pub struct CoreConfig {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:372:26
[INFO] [stdout]     |
[INFO] [stdout] 372 |         core_guard.start(&config).await?;
[INFO] [stdout]     |                    ----- ^^^^^^^ expected `CoreConfig`, found `&CoreConfig`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:152:14
[INFO] [stdout]     |
[INFO] [stdout] 152 |     async fn start(&mut self, config: CoreConfig) -> CoreResult<()>;
[INFO] [stdout]     |              ^^^^^            ------
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 372 -         core_guard.start(&config).await?;
[INFO] [stdout] 372 +         core_guard.start(config).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CoreConfig: Default` is not satisfied
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:364:14
[INFO] [stdout]     |
[INFO] [stdout] 364 |             .unwrap_or_default();
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `CoreConfig`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `std::option::Option::<T>::unwrap_or_default`
[INFO] [stdout]    --> /rustc/416264364aa47959f5827723e1d7dabc95d0744b/library/core/src/option.rs:1093:4
[INFO] [stdout] help: consider annotating `CoreConfig` with `#[derive(Default)]`
[INFO] [stdout]     |
[INFO] [stdout] 118 + #[derive(Default)]
[INFO] [stdout] 119 | pub struct CoreConfig {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:389:52
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let candidate_id = self.arm_to_core_id(arm);
[INFO] [stdout]     |                                     -------------- ^^^ expected `CoreArm`, found `&CoreArm`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:698:8
[INFO] [stdout]     |
[INFO] [stdout] 698 |     fn arm_to_core_id(&self, arm: CoreArm) -> CoreId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^        ------------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let candidate_id = self.arm_to_core_id(*arm);
[INFO] [stdout]     |                                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:372:26
[INFO] [stdout]     |
[INFO] [stdout] 372 |         core_guard.start(&config).await?;
[INFO] [stdout]     |                    ----- ^^^^^^^ expected `CoreConfig`, found `&CoreConfig`
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:152:14
[INFO] [stdout]     |
[INFO] [stdout] 152 |     async fn start(&mut self, config: CoreConfig) -> CoreResult<()>;
[INFO] [stdout]     |              ^^^^^            ------
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 372 -         core_guard.start(&config).await?;
[INFO] [stdout] 372 +         core_guard.start(config).await?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:389:52
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let candidate_id = self.arm_to_core_id(arm);
[INFO] [stdout]     |                                     -------------- ^^^ expected `CoreArm`, found `&CoreArm`
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:698:8
[INFO] [stdout]     |
[INFO] [stdout] 698 |     fn arm_to_core_id(&self, arm: CoreArm) -> CoreId {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^        ------------
[INFO] [stdout] help: consider dereferencing the borrow
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let candidate_id = self.arm_to_core_id(*arm);
[INFO] [stdout]     |                                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `update` found for struct `Arc<UCBBandit>` in the current scope
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:507:21
[INFO] [stdout]     |
[INFO] [stdout] 507 |         self.bandit.update(self.core_id_to_arm(target_id), 0.5);
[INFO] [stdout]     |                     ^^^^^^ method not found in `Arc<UCBBandit>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `update`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `DynDigest`
[INFO] [stdout]             candidate #2: `Update`
[INFO] [stdout]             candidate #3: `hkdf::sealed::Sealed`
[INFO] [stdout]             candidate #4: `hmac::Mac`
[INFO] [stdout]             candidate #5: `rumqttc::tokio_rustls::rustls::crypto::hash::Context`
[INFO] [stdout]             candidate #6: `rustls::crypto::hash::Context`
[INFO] [stdout]             candidate #7: `sha2::Digest`
[INFO] [stdout]             candidate #8: `universal_hash::UniversalHash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:535:13
[INFO] [stdout]     |
[INFO] [stdout] 535 |         let mut core_guard = core.lock().await;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `if` and `else` have incompatible types
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:614:29
[INFO] [stdout]     |
[INFO] [stdout] 611 | /                         if !core_guard.is_running() {
[INFO] [stdout] 612 | |                             CoreHealth::Stopped
[INFO] [stdout]     | |                             ------------------- expected because of this
[INFO] [stdout] 613 | |                         } else {
[INFO] [stdout] 614 | |                             core_guard.health_check().await
[INFO] [stdout]     | |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `CoreHealth`, found `Result<CoreHealth, CoreError>`
[INFO] [stdout] 615 | |                         }
[INFO] [stdout]     | |_________________________- `if` and `else` have incompatible types
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `CoreHealth`
[INFO] [stdout]                found enum `Result<CoreHealth, CoreError>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<CoreHealth, CoreError>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 615 |                         }.expect("REASON")
[INFO] [stdout]     |                          +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `checks_passed` on type `CoreHealthReport`
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:621:38
[INFO] [stdout]     |
[INFO] [stdout] 621 |                         state.health.checks_passed = state.health.checks_passed.saturating_add(
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `health`, `latency_ms`, `packet_loss`, `last_check_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `checks_passed` on type `CoreHealthReport`
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:621:67
[INFO] [stdout]     |
[INFO] [stdout] 621 |                         state.health.checks_passed = state.health.checks_passed.saturating_add(
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `health`, `latency_ms`, `packet_loss`, `last_check_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `checks_failed` on type `CoreHealthReport`
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:628:38
[INFO] [stdout]     |
[INFO] [stdout] 628 |                         state.health.checks_failed = state.health.checks_failed.saturating_add(
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `health`, `latency_ms`, `packet_loss`, `last_check_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `checks_failed` on type `CoreHealthReport`
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:628:67
[INFO] [stdout]     |
[INFO] [stdout] 628 |                         state.health.checks_failed = state.health.checks_failed.saturating_add(
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `health`, `latency_ms`, `packet_loss`, `last_check_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `update` found for struct `std::sync::Arc<UCBBandit>` in the current scope
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:507:21
[INFO] [stdout]     |
[INFO] [stdout] 507 |         self.bandit.update(self.core_id_to_arm(target_id), 0.5);
[INFO] [stdout]     |                     ^^^^^^ method not found in `std::sync::Arc<UCBBandit>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `update`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `DynDigest`
[INFO] [stdout]             candidate #2: `Update`
[INFO] [stdout]             candidate #3: `hkdf::sealed::Sealed`
[INFO] [stdout]             candidate #4: `hmac::Mac`
[INFO] [stdout]             candidate #5: `itertools::Itertools`
[INFO] [stdout]             candidate #6: `rayon::iter::ParallelIterator`
[INFO] [stdout]             candidate #7: `rumqttc::tokio_rustls::rustls::crypto::hash::Context`
[INFO] [stdout]             candidate #8: `rustls::crypto::hash::Context`
[INFO] [stdout]             candidate #9: `sha2::Digest`
[INFO] [stdout]             candidate #10: `universal_hash::UniversalHash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `update` found for struct `Arc<UCBBandit>` in the current scope
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:654:28
[INFO] [stdout]     |
[INFO] [stdout] 654 |                     bandit.update(arm, reward);
[INFO] [stdout]     |                            ^^^^^^ method not found in `Arc<UCBBandit>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `update`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `DynDigest`
[INFO] [stdout]             candidate #2: `Update`
[INFO] [stdout]             candidate #3: `hkdf::sealed::Sealed`
[INFO] [stdout]             candidate #4: `hmac::Mac`
[INFO] [stdout]             candidate #5: `rumqttc::tokio_rustls::rustls::crypto::hash::Context`
[INFO] [stdout]             candidate #6: `rustls::crypto::hash::Context`
[INFO] [stdout]             candidate #7: `sha2::Digest`
[INFO] [stdout]             candidate #8: `universal_hash::UniversalHash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:535:13
[INFO] [stdout]     |
[INFO] [stdout] 535 |         let mut core_guard = core.lock().await;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `if` and `else` have incompatible types
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:614:29
[INFO] [stdout]     |
[INFO] [stdout] 611 | /                         if !core_guard.is_running() {
[INFO] [stdout] 612 | |                             CoreHealth::Stopped
[INFO] [stdout]     | |                             ------------------- expected because of this
[INFO] [stdout] 613 | |                         } else {
[INFO] [stdout] 614 | |                             core_guard.health_check().await
[INFO] [stdout]     | |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `CoreHealth`, found `Result<CoreHealth, CoreError>`
[INFO] [stdout] 615 | |                         }
[INFO] [stdout]     | |_________________________- `if` and `else` have incompatible types
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `CoreHealth`
[INFO] [stdout]                found enum `Result<CoreHealth, CoreError>`
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `Result<CoreHealth, CoreError>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout] 615 |                         }.expect("REASON")
[INFO] [stdout]     |                          +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `checks_passed` on type `CoreHealthReport`
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:621:38
[INFO] [stdout]     |
[INFO] [stdout] 621 |                         state.health.checks_passed = state.health.checks_passed.saturating_add(
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `health`, `latency_ms`, `packet_loss`, `last_check_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `checks_passed` on type `CoreHealthReport`
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:621:67
[INFO] [stdout]     |
[INFO] [stdout] 621 |                         state.health.checks_passed = state.health.checks_passed.saturating_add(
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `health`, `latency_ms`, `packet_loss`, `last_check_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `checks_failed` on type `CoreHealthReport`
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:628:38
[INFO] [stdout]     |
[INFO] [stdout] 628 |                         state.health.checks_failed = state.health.checks_failed.saturating_add(
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `health`, `latency_ms`, `packet_loss`, `last_check_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `checks_failed` on type `CoreHealthReport`
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:628:67
[INFO] [stdout]     |
[INFO] [stdout] 628 |                         state.health.checks_failed = state.health.checks_failed.saturating_add(
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `health`, `latency_ms`, `packet_loss`, `last_check_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `check_switch` found for struct `Arc<UCBBandit>` in the current scope
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:680:55
[INFO] [stdout]     |
[INFO] [stdout] 680 | ...                   if let Some(rec) = bandit.check_switch(current_arm) {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^ method not found in `Arc<UCBBandit>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `update` found for struct `std::sync::Arc<UCBBandit>` in the current scope
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:654:28
[INFO] [stdout]     |
[INFO] [stdout] 654 |                     bandit.update(arm, reward);
[INFO] [stdout]     |                            ^^^^^^ method not found in `std::sync::Arc<UCBBandit>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `update`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `DynDigest`
[INFO] [stdout]             candidate #2: `Update`
[INFO] [stdout]             candidate #3: `hkdf::sealed::Sealed`
[INFO] [stdout]             candidate #4: `hmac::Mac`
[INFO] [stdout]             candidate #5: `itertools::Itertools`
[INFO] [stdout]             candidate #6: `rayon::iter::ParallelIterator`
[INFO] [stdout]             candidate #7: `rumqttc::tokio_rustls::rustls::crypto::hash::Context`
[INFO] [stdout]             candidate #8: `rustls::crypto::hash::Context`
[INFO] [stdout]             candidate #9: `sha2::Digest`
[INFO] [stdout]             candidate #10: `universal_hash::UniversalHash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `gan_model_path` on type `tokio::sync::RwLockReadGuard<'_, AiInferenceContext>`
[INFO] [stdout]    --> daemon/src/ai/adversarial_traffic.rs:400:31
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let model_path = &ctx.gan_model_path;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `dpi_probability`, `recent_failures`, `avg_rtt_ms`, `nain_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `AiModelLoadFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/ai/adversarial_traffic.rs:415:28
[INFO] [stdout]     |
[INFO] [stdout] 415 |                 ErrorCode::AiModelLoadFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `AiModelLoadFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `check_switch` found for struct `std::sync::Arc<UCBBandit>` in the current scope
[INFO] [stdout]    --> daemon/src/cores/core_manager.rs:680:55
[INFO] [stdout]     |
[INFO] [stdout] 680 | ...                   if let Some(rec) = bandit.check_switch(current_arm) {
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^ method not found in `std::sync::Arc<UCBBandit>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `rl_decision_count` on type `tokio::sync::RwLockWriteGuard<'_, AiMetrics>`
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:526:21
[INFO] [stdout]     |
[INFO] [stdout] 526 |             metrics.rl_decision_count += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `inference_count`, `total_inference_ms`, `model_version`, `last_update_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `exploration_rate` on type `tokio::sync::RwLockWriteGuard<'_, AiMetrics>`
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:527:21
[INFO] [stdout]     |
[INFO] [stdout] 527 |             metrics.exploration_rate = epsilon;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `inference_count`, `total_inference_ms`, `model_version`, `last_update_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `qtable_path` on type `tokio::sync::RwLockReadGuard<'_, AiInferenceContext>`
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:595:39
[INFO] [stdout]     |
[INFO] [stdout] 595 |         let path = PathBuf::from(&ctx.qtable_path);
[INFO] [stdout]     |                                       ^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `dpi_probability`, `recent_failures`, `avg_rtt_ms`, `nain_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `AiModelLoadFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:599:28
[INFO] [stdout]     |
[INFO] [stdout] 599 |                 ErrorCode::AiModelLoadFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `AiModelLoadFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `AiModelLoadFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:606:28
[INFO] [stdout]     |
[INFO] [stdout] 606 |                 ErrorCode::AiModelLoadFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `AiModelLoadFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `qtable_path` on type `tokio::sync::RwLockReadGuard<'_, AiInferenceContext>`
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:621:39
[INFO] [stdout]     |
[INFO] [stdout] 621 |         let path = PathBuf::from(&ctx.qtable_path);
[INFO] [stdout]     |                                       ^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `dpi_probability`, `recent_failures`, `avg_rtt_ms`, `nain_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `AiModelLoadFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:627:32
[INFO] [stdout]     |
[INFO] [stdout] 627 |                     ErrorCode::AiModelLoadFailed,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `AiModelLoadFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `AiModelLoadFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:636:28
[INFO] [stdout]     |
[INFO] [stdout] 636 |                 ErrorCode::AiModelLoadFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `AiModelLoadFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `gan_model_path` on type `tokio::sync::RwLockReadGuard<'_, ai::AiInferenceContext>`
[INFO] [stdout]    --> daemon/src/ai/adversarial_traffic.rs:400:31
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let model_path = &ctx.gan_model_path;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `dpi_probability`, `recent_failures`, `avg_rtt_ms`, `nain_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `AiModelLoadFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/ai/adversarial_traffic.rs:415:28
[INFO] [stdout]     |
[INFO] [stdout] 415 |                 ErrorCode::AiModelLoadFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `AiModelLoadFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `rl_decision_count` on type `tokio::sync::RwLockWriteGuard<'_, ai::AiMetrics>`
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:526:21
[INFO] [stdout]     |
[INFO] [stdout] 526 |             metrics.rl_decision_count += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `inference_count`, `total_inference_ms`, `model_version`, `last_update_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `exploration_rate` on type `tokio::sync::RwLockWriteGuard<'_, ai::AiMetrics>`
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:527:21
[INFO] [stdout]     |
[INFO] [stdout] 527 |             metrics.exploration_rate = epsilon;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `inference_count`, `total_inference_ms`, `model_version`, `last_update_ts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `qtable_path` on type `tokio::sync::RwLockReadGuard<'_, ai::AiInferenceContext>`
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:595:39
[INFO] [stdout]     |
[INFO] [stdout] 595 |         let path = PathBuf::from(&ctx.qtable_path);
[INFO] [stdout]     |                                       ^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `dpi_probability`, `recent_failures`, `avg_rtt_ms`, `nain_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `AiModelLoadFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:599:28
[INFO] [stdout]     |
[INFO] [stdout] 599 |                 ErrorCode::AiModelLoadFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `AiModelLoadFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `AiModelLoadFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:606:28
[INFO] [stdout]     |
[INFO] [stdout] 606 |                 ErrorCode::AiModelLoadFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `AiModelLoadFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `qtable_path` on type `tokio::sync::RwLockReadGuard<'_, ai::AiInferenceContext>`
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:621:39
[INFO] [stdout]     |
[INFO] [stdout] 621 |         let path = PathBuf::from(&ctx.qtable_path);
[INFO] [stdout]     |                                       ^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `dpi_probability`, `recent_failures`, `avg_rtt_ms`, `nain_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `AiModelLoadFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:627:32
[INFO] [stdout]     |
[INFO] [stdout] 627 |                     ErrorCode::AiModelLoadFailed,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `AiModelLoadFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `AiModelLoadFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/ai/rl_transport_selector.rs:636:28
[INFO] [stdout]     |
[INFO] [stdout] 636 |                 ErrorCode::AiModelLoadFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `AiModelLoadFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> daemon/src/scanner/network_assessor.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |           let (dpi_result, dns_result, port_results) = tokio::join!(
[INFO] [stdout]    |  ______________________________________________________-
[INFO] [stdout] 60 | |             DpiScanner::new().scan(),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 61 | |             DnsScanner::new().scan(),
[INFO] [stdout] 62 | |             PortScanner::new(&self.probe_host).scan_vpn_ports(),
[INFO] [stdout] 63 | |         );
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> daemon/src/scanner/network_assessor.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |           let (dpi_result, dns_result, port_results) = tokio::join!(
[INFO] [stdout]    |  ______________________________________________________-
[INFO] [stdout] 60 | |             DpiScanner::new().scan(),
[INFO] [stdout] 61 | |             DnsScanner::new().scan(),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 62 | |             PortScanner::new(&self.probe_host).scan_vpn_ports(),
[INFO] [stdout] 63 | |         );
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> daemon/src/scanner/network_assessor.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |           let (dpi_result, dns_result, port_results) = tokio::join!(
[INFO] [stdout]    |  ______________________________________________________-
[INFO] [stdout] 60 | |             DpiScanner::new().scan(),
[INFO] [stdout] 61 | |             DnsScanner::new().scan(),
[INFO] [stdout] 62 | |             PortScanner::new(&self.probe_host).scan_vpn_ports(),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 63 | |         );
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> daemon/src/scanner/network_assessor.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |           let (dpi_result, dns_result, port_results) = tokio::join!(
[INFO] [stdout]    |  ______________________________________________________-
[INFO] [stdout] 60 | |             DpiScanner::new().scan(),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 61 | |             DnsScanner::new().scan(),
[INFO] [stdout] 62 | |             PortScanner::new(&self.probe_host).scan_vpn_ports(),
[INFO] [stdout] 63 | |         );
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> daemon/src/scanner/network_assessor.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |           let (dpi_result, dns_result, port_results) = tokio::join!(
[INFO] [stdout]    |  ______________________________________________________-
[INFO] [stdout] 60 | |             DpiScanner::new().scan(),
[INFO] [stdout] 61 | |             DnsScanner::new().scan(),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 62 | |             PortScanner::new(&self.probe_host).scan_vpn_ports(),
[INFO] [stdout] 63 | |         );
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> daemon/src/scanner/network_assessor.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |           let (dpi_result, dns_result, port_results) = tokio::join!(
[INFO] [stdout]    |  ______________________________________________________-
[INFO] [stdout] 60 | |             DpiScanner::new().scan(),
[INFO] [stdout] 61 | |             DnsScanner::new().scan(),
[INFO] [stdout] 62 | |             PortScanner::new(&self.probe_host).scan_vpn_ports(),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 63 | |         );
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `P2pPeerExchangeFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/p2p/peer_exchange.rs:341:53
[INFO] [stdout]     |
[INFO] [stdout] 341 |                         ShieldError::p2p(ErrorCode::P2pPeerExchangeFailed, "Invalid verifying key")
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `P2pPeerExchangeFailed` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is a variant with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 341 -                         ShieldError::p2p(ErrorCode::P2pPeerExchangeFailed, "Invalid verifying key")
[INFO] [stdout] 341 +                         ShieldError::p2p(ErrorCode::CryptoKeyExchangeFailed, "Invalid verifying key")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `P2pPeerExchangeFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/p2p/peer_exchange.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |                         ShieldError::p2p(ErrorCode::P2pPeerExchangeFailed, format!("Invalid verifying key: {}", e))
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `P2pPeerExchangeFailed` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is a variant with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 344 -                         ShieldError::p2p(ErrorCode::P2pPeerExchangeFailed, format!("Invalid verifying key: {}", e))
[INFO] [stdout] 344 +                         ShieldError::p2p(ErrorCode::CryptoKeyExchangeFailed, format!("Invalid verifying key: {}", e))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> daemon/src/p2p/peer_exchange.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |             let mut announcement = PeerAnnouncement::new(
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `P2pYggdrasilError` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/p2p/yggdrasil_overlay.rs:272:28
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 ErrorCode::P2pYggdrasilError,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `P2pYggdrasilError` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `P2pPeerExchangeFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/p2p/peer_exchange.rs:341:53
[INFO] [stdout]     |
[INFO] [stdout] 341 |                         ShieldError::p2p(ErrorCode::P2pPeerExchangeFailed, "Invalid verifying key")
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `P2pPeerExchangeFailed` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is a variant with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 341 -                         ShieldError::p2p(ErrorCode::P2pPeerExchangeFailed, "Invalid verifying key")
[INFO] [stdout] 341 +                         ShieldError::p2p(ErrorCode::CryptoKeyExchangeFailed, "Invalid verifying key")
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `P2pPeerExchangeFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/p2p/peer_exchange.rs:344:53
[INFO] [stdout]     |
[INFO] [stdout] 344 |                         ShieldError::p2p(ErrorCode::P2pPeerExchangeFailed, format!("Invalid verifying key: {}", e))
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `P2pPeerExchangeFailed` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is a variant with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 344 -                         ShieldError::p2p(ErrorCode::P2pPeerExchangeFailed, format!("Invalid verifying key: {}", e))
[INFO] [stdout] 344 +                         ShieldError::p2p(ErrorCode::CryptoKeyExchangeFailed, format!("Invalid verifying key: {}", e))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `P2pYggdrasilError` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/p2p/yggdrasil_overlay.rs:393:32
[INFO] [stdout]     |
[INFO] [stdout] 393 |                     ErrorCode::P2pYggdrasilError,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `P2pYggdrasilError` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> daemon/src/p2p/peer_exchange.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |             let mut announcement = PeerAnnouncement::new(
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `NainBleMeshFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/national_intranet/ble_mesh.rs:374:28
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 ErrorCode::NainBleMeshFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `NainBleMeshFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `P2pYggdrasilError` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/p2p/yggdrasil_overlay.rs:272:28
[INFO] [stdout]     |
[INFO] [stdout] 272 |                 ErrorCode::P2pYggdrasilError,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `P2pYggdrasilError` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `P2pYggdrasilError` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/p2p/yggdrasil_overlay.rs:393:32
[INFO] [stdout]     |
[INFO] [stdout] 393 |                     ErrorCode::P2pYggdrasilError,
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `P2pYggdrasilError` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `NainBleMeshFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/national_intranet/ble_mesh.rs:546:28
[INFO] [stdout]     |
[INFO] [stdout] 546 |                 ErrorCode::NainBleMeshFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `NainBleMeshFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `NainBleMeshFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/national_intranet/ble_mesh.rs:374:28
[INFO] [stdout]     |
[INFO] [stdout] 374 |                 ErrorCode::NainBleMeshFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `NainBleMeshFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `confirmation_count` on type `tokio::sync::RwLockWriteGuard<'_, NainState>`
[INFO] [stdout]    --> daemon/src/national_intranet/nain_detector.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 185 |             state.confirmation_count = state.confirmation_count.saturating_add(1);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `last_status`, `check_count`, `nain_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `confirmation_count` on type `tokio::sync::RwLockWriteGuard<'_, NainState>`
[INFO] [stdout]    --> daemon/src/national_intranet/nain_detector.rs:185:46
[INFO] [stdout]     |
[INFO] [stdout] 185 |             state.confirmation_count = state.confirmation_count.saturating_add(1);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `last_status`, `check_count`, `nain_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `NainBleMeshFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/national_intranet/ble_mesh.rs:546:28
[INFO] [stdout]     |
[INFO] [stdout] 546 |                 ErrorCode::NainBleMeshFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `NainBleMeshFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_nodely` found for struct `tokio::net::TcpStream` in the current scope
[INFO] [stdout]    --> daemon/src/national_intranet/nain_detector.rs:377:28
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let _ = stream.set_nodely(true);
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `set_nodelay` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let _ = stream.set_nodelay(true);
[INFO] [stdout]     |                                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `confirmation_count` on type `tokio::sync::RwLockWriteGuard<'_, NainState>`
[INFO] [stdout]    --> daemon/src/national_intranet/nain_detector.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 185 |             state.confirmation_count = state.confirmation_count.saturating_add(1);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `last_status`, `check_count`, `nain_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `confirmation_count` on type `tokio::sync::RwLockWriteGuard<'_, NainState>`
[INFO] [stdout]    --> daemon/src/national_intranet/nain_detector.rs:185:46
[INFO] [stdout]     |
[INFO] [stdout] 185 |             state.confirmation_count = state.confirmation_count.saturating_add(1);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `last_status`, `check_count`, `nain_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `buffer` as immutable because it is also borrowed as mutable
[INFO] [stdout]    --> daemon/src/national_intranet/ntp_covert.rs:513:36
[INFO] [stdout]     |
[INFO] [stdout] 513 |                     buffer.drain(..buffer.len() - MAX_INCOMING_BUFFER);
[INFO] [stdout]     |                     ------ -----   ^^^^^^ immutable borrow occurs here
[INFO] [stdout]     |                     |      |
[INFO] [stdout]     |                     |      mutable borrow later used by call
[INFO] [stdout]     |                     mutable borrow occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `set_nodely` found for struct `tokio::net::TcpStream` in the current scope
[INFO] [stdout]    --> daemon/src/national_intranet/nain_detector.rs:377:28
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let _ = stream.set_nodely(true);
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `set_nodelay` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 377 |             let _ = stream.set_nodelay(true);
[INFO] [stdout]     |                                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `NainWifiAwareUnavailable` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/national_intranet/wifi_aware.rs:157:28
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 ErrorCode::NainWifiAwareUnavailable,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `NainWifiAwareUnavailable` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `buffer` as immutable because it is also borrowed as mutable
[INFO] [stdout]    --> daemon/src/national_intranet/ntp_covert.rs:513:36
[INFO] [stdout]     |
[INFO] [stdout] 513 |                     buffer.drain(..buffer.len() - MAX_INCOMING_BUFFER);
[INFO] [stdout]     |                     ------ -----   ^^^^^^ immutable borrow occurs here
[INFO] [stdout]     |                     |      |
[INFO] [stdout]     |                     |      mutable borrow later used by call
[INFO] [stdout]     |                     mutable borrow occurs here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `NainWifiAwareUnavailable` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/national_intranet/wifi_aware.rs:338:28
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 ErrorCode::NainWifiAwareUnavailable,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `NainWifiAwareUnavailable` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/homomorphic_routing.rs:87:17
[INFO] [stdout]     |
[INFO] [stdout]  86 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ------------------- required by a bound introduced by this call
[INFO] [stdout]  87 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<reqwest::Url>
[INFO] [stdout]               From<trust_dns_proto::error::ProtoError>
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/homomorphic_routing.rs:86:24
[INFO] [stdout]     |
[INFO] [stdout]  86 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  87 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]  88 |                 "Cannot create route with zero relays",
[INFO] [stdout]     |                 -------------------------------------- unexpected argument #2 of type `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout]  87 -                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]  88 -                 "Cannot create route with zero relays",
[INFO] [stdout]  87 +                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ------------------- required by a bound introduced by this call
[INFO] [stdout] 140 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<reqwest::Url>
[INFO] [stdout]               From<trust_dns_proto::error::ProtoError>
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 |               return Err(ShieldError::crypto(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 140 |                   ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 141 | /                 format!(
[INFO] [stdout] 142 | |                     "Not enough relay nodes for {}-hop circuit (have {})",
[INFO] [stdout] 143 | |                     hop_count,
[INFO] [stdout] 144 | |                     relays.len()
[INFO] [stdout] 145 | |                 ),
[INFO] [stdout]     | |_________________- unexpected argument #2 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 140 -                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 141 -                 format!(
[INFO] [stdout] 142 -                     "Not enough relay nodes for {}-hop circuit (have {})",
[INFO] [stdout] 143 -                     hop_count,
[INFO] [stdout] 144 -                     relays.len()
[INFO] [stdout] 145 -                 ),
[INFO] [stdout] 140 +                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:169:37
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 ShieldError::crypto(ErrorCode::CryptoPostQuantumFailed, e.to_string())
[INFO] [stdout]     |                 ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<reqwest::Url>
[INFO] [stdout]               From<trust_dns_proto::error::ProtoError>
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 ShieldError::crypto(ErrorCode::CryptoPostQuantumFailed, e.to_string())
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^                                     ------------- unexpected argument #2 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 169 -                 ShieldError::crypto(ErrorCode::CryptoPostQuantumFailed, e.to_string())
[INFO] [stdout] 169 +                 ShieldError::crypto(ErrorCode::CryptoPostQuantumFailed)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let outer = outer_layer.ok_or_else(|| ShieldError::crypto(
[INFO] [stdout]     |                                               ------------------- required by a bound introduced by this call
[INFO] [stdout] 175 |             ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<reqwest::Url>
[INFO] [stdout]               From<trust_dns_proto::error::ProtoError>
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:174:47
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let outer = outer_layer.ok_or_else(|| ShieldError::crypto(
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 175 |             ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 176 |             "Failed to construct onion layers",
[INFO] [stdout]     |             ---------------------------------- unexpected argument #2 of type `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 175 -             ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 176 -             "Failed to construct onion layers",
[INFO] [stdout] 175 +             ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `NainWifiAwareUnavailable` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/national_intranet/wifi_aware.rs:157:28
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 ErrorCode::NainWifiAwareUnavailable,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `NainWifiAwareUnavailable` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/neural_steganography.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ------------------- required by a bound introduced by this call
[INFO] [stdout] 144 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<reqwest::Url>
[INFO] [stdout]               From<trust_dns_proto::error::ProtoError>
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/neural_steganography.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 144 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 145 |                 "Stego payload too small for claimed payload bits",
[INFO] [stdout]     |                 -------------------------------------------------- unexpected argument #2 of type `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 144 -                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 145 -                 "Stego payload too small for claimed payload bits",
[INFO] [stdout] 144 +                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/qkd_simulation.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 122 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ------------------- required by a bound introduced by this call
[INFO] [stdout] 123 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<reqwest::Url>
[INFO] [stdout]               From<trust_dns_proto::error::ProtoError>
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/qkd_simulation.rs:122:24
[INFO] [stdout]     |
[INFO] [stdout] 122 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 123 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 124 |                 format!("QKD aborted: QBER {:.3} exceeds maximum {}", estimated_qber, MAX_QBER),
[INFO] [stdout]     |                 ------------------------------------------------------------------------------- unexpected argument #2 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 123 -                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 124 -                 format!("QKD aborted: QBER {:.3} exceeds maximum {}", estimated_qber, MAX_QBER),
[INFO] [stdout] 123 +                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `NainWifiAwareUnavailable` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/national_intranet/wifi_aware.rs:338:28
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 ErrorCode::NainWifiAwareUnavailable,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `NainWifiAwareUnavailable` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/homomorphic_routing.rs:87:17
[INFO] [stdout]     |
[INFO] [stdout]  86 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ------------------- required by a bound introduced by this call
[INFO] [stdout]  87 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<clap::Id>
[INFO] [stdout]             and 3 others
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/homomorphic_routing.rs:86:24
[INFO] [stdout]     |
[INFO] [stdout]  86 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  87 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]  88 |                 "Cannot create route with zero relays",
[INFO] [stdout]     |                 -------------------------------------- unexpected argument #2 of type `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout]  87 -                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]  88 -                 "Cannot create route with zero relays",
[INFO] [stdout]  87 +                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `random` found for struct `Scalar` in the current scope
[INFO] [stdout]    --> daemon/src/quantum/zkp_auth.rs:73:35
[INFO] [stdout]     |
[INFO] [stdout]  73 |         let private_key = Scalar::random(&mut OsRng);
[INFO] [stdout]     |                                   ^^^^^^ associated function or constant not found in `Scalar`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Scalar` consider using one of the following associated functions:
[INFO] [stdout]       Scalar::from_bytes_mod_order
[INFO] [stdout]       Scalar::from_bytes_mod_order_wide
[INFO] [stdout]       Scalar::hash_from_bytes
[INFO] [stdout]       Scalar::from_hash
[INFO] [stdout]       Scalar::batch_invert
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/scalar.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |       pub fn from_bytes_mod_order(bytes: [u8; 32]) -> Scalar {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |       pub fn from_bytes_mod_order_wide(input: &[u8; 64]) -> Scalar {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 | /     pub fn hash_from_bytes<D>(input: &[u8]) -> Scalar
[INFO] [stdout] 626 | |     where
[INFO] [stdout] 627 | |         D: Digest<OutputSize = U64> + Default,
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 671 | /     pub fn from_hash<D>(hash: D) -> Scalar
[INFO] [stdout] 672 | |     where
[INFO] [stdout] 673 | |         D: Digest<OutputSize = U64>,
[INFO] [stdout]     | |____________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 788 |       pub fn batch_invert(inputs: &mut [Scalar]) -> Scalar {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `and` with a similar name
[INFO] [stdout]     |
[INFO] [stdout]  73 -         let private_key = Scalar::random(&mut OsRng);
[INFO] [stdout]  73 +         let private_key = Scalar::and(&mut OsRng);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ------------------- required by a bound introduced by this call
[INFO] [stdout] 140 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<clap::Id>
[INFO] [stdout]             and 3 others
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 |               return Err(ShieldError::crypto(
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 140 |                   ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 141 | /                 format!(
[INFO] [stdout] 142 | |                     "Not enough relay nodes for {}-hop circuit (have {})",
[INFO] [stdout] 143 | |                     hop_count,
[INFO] [stdout] 144 | |                     relays.len()
[INFO] [stdout] 145 | |                 ),
[INFO] [stdout]     | |_________________- unexpected argument #2 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 140 -                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 141 -                 format!(
[INFO] [stdout] 142 -                     "Not enough relay nodes for {}-hop circuit (have {})",
[INFO] [stdout] 143 -                     hop_count,
[INFO] [stdout] 144 -                     relays.len()
[INFO] [stdout] 145 -                 ),
[INFO] [stdout] 140 +                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:169:37
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 ShieldError::crypto(ErrorCode::CryptoPostQuantumFailed, e.to_string())
[INFO] [stdout]     |                 ------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<clap::Id>
[INFO] [stdout]             and 3 others
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |                 ShieldError::crypto(ErrorCode::CryptoPostQuantumFailed, e.to_string())
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^                                     ------------- unexpected argument #2 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 169 -                 ShieldError::crypto(ErrorCode::CryptoPostQuantumFailed, e.to_string())
[INFO] [stdout] 169 +                 ShieldError::crypto(ErrorCode::CryptoPostQuantumFailed)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let outer = outer_layer.ok_or_else(|| ShieldError::crypto(
[INFO] [stdout]     |                                               ------------------- required by a bound introduced by this call
[INFO] [stdout] 175 |             ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<clap::Id>
[INFO] [stdout]             and 3 others
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/lattice_onion.rs:174:47
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let outer = outer_layer.ok_or_else(|| ShieldError::crypto(
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 175 |             ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 176 |             "Failed to construct onion layers",
[INFO] [stdout]     |             ---------------------------------- unexpected argument #2 of type `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 175 -             ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 176 -             "Failed to construct onion layers",
[INFO] [stdout] 175 +             ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/neural_steganography.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ------------------- required by a bound introduced by this call
[INFO] [stdout] 144 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<clap::Id>
[INFO] [stdout]             and 3 others
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/neural_steganography.rs:143:24
[INFO] [stdout]     |
[INFO] [stdout] 143 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 144 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 145 |                 "Stego payload too small for claimed payload bits",
[INFO] [stdout]     |                 -------------------------------------------------- unexpected argument #2 of type `&'static str`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 144 -                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 145 -                 "Stego payload too small for claimed payload bits",
[INFO] [stdout] 144 +                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/quantum/qkd_simulation.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 122 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ------------------- required by a bound introduced by this call
[INFO] [stdout] 123 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<clap::Id>
[INFO] [stdout]             and 3 others
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/quantum/qkd_simulation.rs:122:24
[INFO] [stdout]     |
[INFO] [stdout] 122 |             return Err(ShieldError::crypto(
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 123 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 124 |                 format!("QKD aborted: QBER {:.3} exceeds maximum {}", estimated_qber, MAX_QBER),
[INFO] [stdout]     |                 ------------------------------------------------------------------------------- unexpected argument #2 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 123 -                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 124 -                 format!("QKD aborted: QBER {:.3} exceeds maximum {}", estimated_qber, MAX_QBER),
[INFO] [stdout] 123 +                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/battery/optimizer.rs:402:44
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let ultra_low = battery_pct <= BATTERY_CRITICAL_THRESHOLD && !charging;
[INFO] [stdout]     |                             -----------    ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `f32`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             expected because this is `u8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `random` found for struct `Scalar` in the current scope
[INFO] [stdout]    --> daemon/src/quantum/zkp_auth.rs:73:35
[INFO] [stdout]     |
[INFO] [stdout]  73 |         let private_key = Scalar::random(&mut OsRng);
[INFO] [stdout]     |                                   ^^^^^^ associated function or constant not found in `Scalar`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `Scalar` consider using one of the following associated functions:
[INFO] [stdout]       Scalar::from_bytes_mod_order
[INFO] [stdout]       Scalar::from_bytes_mod_order_wide
[INFO] [stdout]       Scalar::hash_from_bytes
[INFO] [stdout]       Scalar::from_hash
[INFO] [stdout]       Scalar::batch_invert
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/curve25519-dalek-4.1.3/src/scalar.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |       pub fn from_bytes_mod_order(bytes: [u8; 32]) -> Scalar {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |       pub fn from_bytes_mod_order_wide(input: &[u8; 64]) -> Scalar {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 | /     pub fn hash_from_bytes<D>(input: &[u8]) -> Scalar
[INFO] [stdout] 626 | |     where
[INFO] [stdout] 627 | |         D: Digest<OutputSize = U64> + Default,
[INFO] [stdout]     | |______________________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 671 | /     pub fn from_hash<D>(hash: D) -> Scalar
[INFO] [stdout] 672 | |     where
[INFO] [stdout] 673 | |         D: Digest<OutputSize = U64>,
[INFO] [stdout]     | |____________________________________^
[INFO] [stdout] ...
[INFO] [stdout] 788 |       pub fn batch_invert(inputs: &mut [Scalar]) -> Scalar {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `and` with a similar name
[INFO] [stdout]     |
[INFO] [stdout]  73 -         let private_key = Scalar::random(&mut OsRng);
[INFO] [stdout]  73 +         let private_key = Scalar::and(&mut OsRng);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `ConnectionFailed` found for struct `tunnel::TunnelError` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:301:26
[INFO] [stdout]     |
[INFO] [stdout] 301 |             TunnelError::ConnectionFailed(format!("Failed to bind UDP socket: {}", e))
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ associated function or constant not found in `tunnel::TunnelError`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | pub struct TunnelError(pub String);
[INFO] [stdout]     | ---------------------- associated function or constant `ConnectionFailed` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `ConnectionFailed` found for struct `tunnel::TunnelError` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:304:26
[INFO] [stdout]     |
[INFO] [stdout] 304 |             TunnelError::ConnectionFailed(format!("Failed to connect to server: {}", e))
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ associated function or constant not found in `tunnel::TunnelError`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | pub struct TunnelError(pub String);
[INFO] [stdout]     | ---------------------- associated function or constant `ConnectionFailed` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `ShuttingDown` found for enum `TunnelState` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:334:37
[INFO] [stdout]     |
[INFO] [stdout] 334 |         self.set_state(TunnelState::ShuttingDown).await;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ variant, associated function, or constant not found in `TunnelState`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `ShuttingDown` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Unconfigured` found for enum `TunnelState` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:350:37
[INFO] [stdout]     |
[INFO] [stdout] 350 |         self.set_state(TunnelState::Unconfigured).await;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ variant, associated function, or constant not found in `TunnelState`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `Unconfigured` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/battery/optimizer.rs:402:44
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let ultra_low = battery_pct <= BATTERY_CRITICAL_THRESHOLD && !charging;
[INFO] [stdout]     |                             -----------    ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `u8`, found `f32`
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             expected because this is `u8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Handshaking` found for enum `TunnelState` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:422:37
[INFO] [stdout]     |
[INFO] [stdout] 422 |         self.set_state(TunnelState::Handshaking).await;
[INFO] [stdout]     |                                     ^^^^^^^^^^^ variant, associated function, or constant not found in `TunnelState`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `Handshaking` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `endpoint` on type `tunnel::TunnelConfig`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:426:39
[INFO] [stdout]     |
[INFO] [stdout] 426 |             self.config.tunnel_config.endpoint,
[INFO] [stdout]     |                                       ^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `local_ip`, `remote_ip`, `gateway`, `mtu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Active` found for enum `TunnelState` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:485:37
[INFO] [stdout]     |
[INFO] [stdout] 485 |         self.set_state(TunnelState::Active).await;
[INFO] [stdout]     |                                     ^^^^^^ variant, associated function, or constant not found in `TunnelState`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `Active` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `handshakes` on type `tokio::sync::RwLockWriteGuard<'_, tunnel::TunnelStats>`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:488:15
[INFO] [stdout]     |
[INFO] [stdout] 488 |         stats.handshakes += 1;
[INFO] [stdout]     |               ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `packets_sent`, `packets_received`, `bytes_sent`, `bytes_received`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `last_handshake` on type `tokio::sync::RwLockWriteGuard<'_, tunnel::TunnelStats>`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 |         stats.last_handshake = Some(Instant::now());
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `packets_sent`, `packets_received`, `bytes_sent`, `bytes_received`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:498:9
[INFO] [stdout]     |
[INFO] [stdout] 498 |         mut outbound_rx: mpsc::Receiver<Vec<u8>>,
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `ConnectionFailed` found for struct `tunnel::TunnelError` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:564:34
[INFO] [stdout]     |
[INFO] [stdout] 564 |                     TunnelError::ConnectionFailed(format!("Failed to reconnect: {}", e))
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^ associated function or constant not found in `tunnel::TunnelError`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | pub struct TunnelError(pub String);
[INFO] [stdout]     | ---------------------- associated function or constant `ConnectionFailed` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `ConnectionFailed` found for struct `tunnel::TunnelError` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:301:26
[INFO] [stdout]     |
[INFO] [stdout] 301 |             TunnelError::ConnectionFailed(format!("Failed to bind UDP socket: {}", e))
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ associated function or constant not found in `tunnel::TunnelError`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | pub struct TunnelError(pub String);
[INFO] [stdout]     | ---------------------- associated function or constant `ConnectionFailed` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Failed` found for enum `TunnelState` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:582:41
[INFO] [stdout]     |
[INFO] [stdout] 582 |             self.set_state(TunnelState::Failed).await;
[INFO] [stdout]     |                                         ^^^^^^ variant, associated function, or constant not found in `TunnelState`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `Failed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `ConnectionFailed` found for struct `tunnel::TunnelError` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:304:26
[INFO] [stdout]     |
[INFO] [stdout] 304 |             TunnelError::ConnectionFailed(format!("Failed to connect to server: {}", e))
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^ associated function or constant not found in `tunnel::TunnelError`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | pub struct TunnelError(pub String);
[INFO] [stdout]     | ---------------------- associated function or constant `ConnectionFailed` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `ConnectionFailed` found for struct `tunnel::TunnelError` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:583:37
[INFO] [stdout]     |
[INFO] [stdout] 583 |             return Err(TunnelError::ConnectionFailed(
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ associated function or constant not found in `tunnel::TunnelError`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | pub struct TunnelError(pub String);
[INFO] [stdout]     | ---------------------- associated function or constant `ConnectionFailed` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `reconnections` on type `tokio::sync::RwLockWriteGuard<'_, tunnel::TunnelStats>`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:612:15
[INFO] [stdout]     |
[INFO] [stdout] 612 |         stats.reconnections += 1;
[INFO] [stdout]     |               ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `packets_sent`, `packets_received`, `bytes_sent`, `bytes_received`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `TunnelState` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:624:45
[INFO] [stdout]     |
[INFO] [stdout] 624 |             info!("Tunnel state: {} -> {}", prev, new_state);
[INFO] [stdout]     |                                  --         ^^^^ `TunnelState` cannot be formatted with the default formatter
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  required by this formatting parameter
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `std::fmt::Display` is not implemented for `TunnelState`
[INFO] [stdout]    --> daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or `{:#?}` for pretty-print) instead
[INFO] [stdout]     = note: this error originates in the macro `$crate::__macro_support::format_args` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `TunnelState` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:624:45
[INFO] [stdout]     |
[INFO] [stdout] 624 |             info!("Tunnel state: {} -> {}", prev, new_state);
[INFO] [stdout]     |                                  --         ^^^^ `TunnelState` cannot be formatted with the default formatter
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  required by this formatting parameter
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `std::fmt::Display` is not implemented for `TunnelState`
[INFO] [stdout]    --> daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or `{:#?}` for pretty-print) instead
[INFO] [stdout]     = note: this error originates in the macro `$crate::__macro_support::format_args` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `ShuttingDown` found for enum `tunnel::TunnelState` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:334:37
[INFO] [stdout]     |
[INFO] [stdout] 334 |         self.set_state(TunnelState::ShuttingDown).await;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ variant, associated function, or constant not found in `tunnel::TunnelState`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `ShuttingDown` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Unconfigured` found for enum `tunnel::TunnelState` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:350:37
[INFO] [stdout]     |
[INFO] [stdout] 350 |         self.set_state(TunnelState::Unconfigured).await;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ variant, associated function, or constant not found in `tunnel::TunnelState`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `Unconfigured` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Handshaking` found for enum `tunnel::TunnelState` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:422:37
[INFO] [stdout]     |
[INFO] [stdout] 422 |         self.set_state(TunnelState::Handshaking).await;
[INFO] [stdout]     |                                     ^^^^^^^^^^^ variant, associated function, or constant not found in `tunnel::TunnelState`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `Handshaking` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `endpoint` on type `tunnel::TunnelConfig`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:426:39
[INFO] [stdout]     |
[INFO] [stdout] 426 |             self.config.tunnel_config.endpoint,
[INFO] [stdout]     |                                       ^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `local_ip`, `remote_ip`, `gateway`, `mtu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Active` found for enum `tunnel::TunnelState` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:485:37
[INFO] [stdout]     |
[INFO] [stdout] 485 |         self.set_state(TunnelState::Active).await;
[INFO] [stdout]     |                                     ^^^^^^ variant, associated function, or constant not found in `tunnel::TunnelState`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `Active` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `handshakes` on type `tokio::sync::RwLockWriteGuard<'_, tunnel::TunnelStats>`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:488:15
[INFO] [stdout]     |
[INFO] [stdout] 488 |         stats.handshakes += 1;
[INFO] [stdout]     |               ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `packets_sent`, `packets_received`, `bytes_sent`, `bytes_received`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `last_handshake` on type `tokio::sync::RwLockWriteGuard<'_, tunnel::TunnelStats>`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:489:15
[INFO] [stdout]     |
[INFO] [stdout] 489 |         stats.last_handshake = Some(Instant::now());
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `packets_sent`, `packets_received`, `bytes_sent`, `bytes_received`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `split` found for struct `AsyncDevice` in the current scope
[INFO] [stdout]   --> daemon/src/tunnel/tun_device.rs:20:39
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let (reader, writer) = device.split();
[INFO] [stdout]    |                                       ^^^^^ method not found in `AsyncDevice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `tokio::io::AsyncWriteExt` is not dyn compatible
[INFO] [stdout]     --> daemon/src/tunnel/tun_device.rs:22:27
[INFO] [stdout]      |
[INFO] [stdout]   22 |         Ok(Self { writer: Box::new(writer), reader: Box::new(reader), mtu })
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^ `tokio::io::AsyncWriteExt` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_write_ext.rs:130:12
[INFO] [stdout]      |
[INFO] [stdout]  130 |         fn write<'a>(&'a mut self, src: &'a [u8]) -> Write<'a, Self>
[INFO] [stdout]      |            ^^^^^ the trait is not dyn compatible because method `write` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  182 |         fn write_vectored<'a, 'b>(&'a mut self, bufs: &'a [IoSlice<'b>]) -> WriteVectored<'a, 'b, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_vectored` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  387 |         fn write_all<'a>(&'a mut self, src: &'a [u8]) -> WriteAll<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^ the trait is not dyn compatible because method `write_all` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  430 |             fn write_u8(&mut self, n: u8) -> WriteU8;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `write_u8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  467 |             fn write_i8(&mut self, n: i8) -> WriteI8;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `write_i8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  505 |             fn write_u16(&mut self, n: u16) -> WriteU16;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  543 |             fn write_i16(&mut self, n: i16) -> WriteI16;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  581 |             fn write_u32(&mut self, n: u32) -> WriteU32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  619 |             fn write_i32(&mut self, n: i32) -> WriteI32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  657 |             fn write_u64(&mut self, n: u64) -> WriteU64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  695 |             fn write_i64(&mut self, n: i64) -> WriteI64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  735 |             fn write_u128(&mut self, n: u128) -> WriteU128;
[INFO] [stdout]      |                ^^^^^^^^^^ the trait is not dyn compatible because method `write_u128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  775 |             fn write_i128(&mut self, n: i128) -> WriteI128;
[INFO] [stdout]      |                ^^^^^^^^^^ the trait is not dyn compatible because method `write_i128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  812 |             fn write_f32(&mut self, n: f32) -> WriteF32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_f32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  851 |             fn write_f64(&mut self, n: f64) -> WriteF64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_f64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  889 |             fn write_u16_le(&mut self, n: u16) -> WriteU16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  927 |             fn write_i16_le(&mut self, n: i16) -> WriteI16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  965 |             fn write_u32_le(&mut self, n: u32) -> WriteU32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1003 |             fn write_i32_le(&mut self, n: i32) -> WriteI32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1041 |             fn write_u64_le(&mut self, n: u64) -> WriteU64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1079 |             fn write_i64_le(&mut self, n: i64) -> WriteI64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1119 |             fn write_u128_le(&mut self, n: u128) -> WriteU128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1159 |             fn write_i128_le(&mut self, n: i128) -> WriteI128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1196 |             fn write_f32_le(&mut self, n: f32) -> WriteF32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_f32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1235 |             fn write_f64_le(&mut self, n: f64) -> WriteF64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_f64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1281 |         fn flush(&mut self) -> Flush<'_, Self>
[INFO] [stdout]      |            ^^^^^ the trait is not dyn compatible because method `flush` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1323 |         fn shutdown(&mut self) -> Shutdown<'_, Self>
[INFO] [stdout]      |            ^^^^^^^^ the trait is not dyn compatible because method `shutdown` references the `Self` type in its return type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `tokio::io::AsyncReadExt` is not dyn compatible
[INFO] [stdout]     --> daemon/src/tunnel/tun_device.rs:22:53
[INFO] [stdout]      |
[INFO] [stdout]   22 |         Ok(Self { writer: Box::new(writer), reader: Box::new(reader), mtu })
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^ `tokio::io::AsyncReadExt` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_read_ext.rs:177:12
[INFO] [stdout]      |
[INFO] [stdout]  177 |         fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>
[INFO] [stdout]      |            ^^^^ the trait is not dyn compatible because method `read` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  258 |         fn read_buf<'a, B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout]      |            |
[INFO] [stdout]      |            the trait is not dyn compatible because method `read_buf` references the `Self` type in its return type
[INFO] [stdout]      |            the trait is not dyn compatible because method `read_buf` has generic type parameters
[INFO] [stdout] ...
[INFO] [stdout]  323 |         fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^ the trait is not dyn compatible because method `read_exact` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  373 |             fn read_u8(&mut self) -> ReadU8;
[INFO] [stdout]      |                ^^^^^^^ the trait is not dyn compatible because method `read_u8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  417 |             fn read_i8(&mut self) -> ReadI8;
[INFO] [stdout]      |                ^^^^^^^ the trait is not dyn compatible because method `read_i8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  461 |             fn read_u16(&mut self) -> ReadU16;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  505 |             fn read_i16(&mut self) -> ReadI16;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  548 |             fn read_u32(&mut self) -> ReadU32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  592 |             fn read_i32(&mut self) -> ReadI32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  637 |             fn read_u64(&mut self) -> ReadU64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  680 |             fn read_i64(&mut self) -> ReadI64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  726 |             fn read_u128(&mut self) -> ReadU128;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `read_u128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  772 |             fn read_i128(&mut self) -> ReadI128;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `read_i128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  815 |             fn read_f32(&mut self) -> ReadF32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_f32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  860 |             fn read_f64(&mut self) -> ReadF64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_f64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  904 |             fn read_u16_le(&mut self) -> ReadU16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  948 |             fn read_i16_le(&mut self) -> ReadI16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  991 |             fn read_u32_le(&mut self) -> ReadU32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1035 |             fn read_i32_le(&mut self) -> ReadI32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1080 |             fn read_u64_le(&mut self) -> ReadU64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1123 |             fn read_i64_le(&mut self) -> ReadI64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1169 |             fn read_u128_le(&mut self) -> ReadU128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `read_u128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1215 |             fn read_i128_le(&mut self) -> ReadI128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `read_i128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1258 |             fn read_f32_le(&mut self) -> ReadF32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_f32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1303 |             fn read_f64_le(&mut self) -> ReadF64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_f64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1354 |         fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^ the trait is not dyn compatible because method `read_to_end` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1404 |         fn read_to_string<'a>(&'a mut self, dst: &'a mut String) -> ReadToString<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ the trait is not dyn compatible because method `read_to_string` references the `Self` type in its return type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:498:9
[INFO] [stdout]     |
[INFO] [stdout] 498 |         mut outbound_rx: mpsc::Receiver<Vec<u8>>,
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `ConnectionFailed` found for struct `tunnel::TunnelError` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:564:34
[INFO] [stdout]     |
[INFO] [stdout] 564 |                     TunnelError::ConnectionFailed(format!("Failed to reconnect: {}", e))
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^ associated function or constant not found in `tunnel::TunnelError`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | pub struct TunnelError(pub String);
[INFO] [stdout]     | ---------------------- associated function or constant `ConnectionFailed` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `Failed` found for enum `tunnel::TunnelState` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:582:41
[INFO] [stdout]     |
[INFO] [stdout] 582 |             self.set_state(TunnelState::Failed).await;
[INFO] [stdout]     |                                         ^^^^^^ variant, associated function, or constant not found in `tunnel::TunnelState`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | -------------------- variant, associated function, or constant `Failed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `ConnectionFailed` found for struct `tunnel::TunnelError` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:583:37
[INFO] [stdout]     |
[INFO] [stdout] 583 |             return Err(TunnelError::ConnectionFailed(
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ associated function or constant not found in `tunnel::TunnelError`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/tunnel/mod.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout]  41 | pub struct TunnelError(pub String);
[INFO] [stdout]     | ---------------------- associated function or constant `ConnectionFailed` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `reconnections` on type `tokio::sync::RwLockWriteGuard<'_, tunnel::TunnelStats>`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:612:15
[INFO] [stdout]     |
[INFO] [stdout] 612 |         stats.reconnections += 1;
[INFO] [stdout]     |               ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `packets_sent`, `packets_received`, `bytes_sent`, `bytes_received`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `tunnel::TunnelState` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:624:45
[INFO] [stdout]     |
[INFO] [stdout] 624 |             info!("Tunnel state: {} -> {}", prev, new_state);
[INFO] [stdout]     |                                  --         ^^^^ `tunnel::TunnelState` cannot be formatted with the default formatter
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  required by this formatting parameter
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `std::fmt::Display` is not implemented for `tunnel::TunnelState`
[INFO] [stdout]    --> daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or `{:#?}` for pretty-print) instead
[INFO] [stdout]     = note: this error originates in the macro `$crate::__macro_support::format_args` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `tunnel::TunnelState` doesn't implement `std::fmt::Display`
[INFO] [stdout]    --> daemon/src/tunnel/boringtun_adapter.rs:624:45
[INFO] [stdout]     |
[INFO] [stdout] 624 |             info!("Tunnel state: {} -> {}", prev, new_state);
[INFO] [stdout]     |                                  --         ^^^^ `tunnel::TunnelState` cannot be formatted with the default formatter
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  required by this formatting parameter
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `std::fmt::Display` is not implemented for `tunnel::TunnelState`
[INFO] [stdout]    --> daemon/src/tunnel/mod.rs:53:1
[INFO] [stdout]     |
[INFO] [stdout]  53 | pub enum TunnelState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: in format strings you may be able to use `{:?}` (or `{:#?}` for pretty-print) instead
[INFO] [stdout]     = note: this error originates in the macro `$crate::__macro_support::format_args` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `read` exists for struct `Box<(dyn tokio::io::AsyncReadExt + std::marker::Send + Unpin + 'static)>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> daemon/src/tunnel/tun_device.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let n = self.reader.read(&mut buf).await.context("TUN read failed")?;
[INFO] [stdout]    |                             ^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_read_ext.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub trait AsyncReadExt: AsyncRead {
[INFO] [stdout]    |     --------------------------------- doesn't satisfy `_: AsyncReadExt` or `_: AsyncRead`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `(dyn tokio::io::AsyncReadExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncRead`
[INFO] [stdout]            which is required by `Box<(dyn tokio::io::AsyncReadExt + std::marker::Send + Unpin + 'static)>: tokio::io::AsyncReadExt`
[INFO] [stdout]            `(dyn tokio::io::AsyncReadExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncRead`
[INFO] [stdout]            which is required by `(dyn tokio::io::AsyncReadExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncReadExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `write_all` exists for struct `Box<(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static)>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> daemon/src/tunnel/tun_device.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.writer.write_all(&packet).await.context("TUN write failed")?;
[INFO] [stdout]    |                     ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_write_ext.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub trait AsyncWriteExt: AsyncWrite {
[INFO] [stdout]    |     ----------------------------------- doesn't satisfy `_: AsyncWriteExt` or `_: AsyncWrite`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWrite`
[INFO] [stdout]            which is required by `Box<(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static)>: tokio::io::AsyncWriteExt`
[INFO] [stdout]            `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWrite`
[INFO] [stdout]            which is required by `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWriteExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `split` found for struct `AsyncDevice` in the current scope
[INFO] [stdout]   --> daemon/src/tunnel/tun_device.rs:20:39
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let (reader, writer) = device.split();
[INFO] [stdout]    |                                       ^^^^^ method not found in `AsyncDevice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `flush` exists for struct `Box<(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static)>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> daemon/src/tunnel/tun_device.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |         self.writer.flush().await.context("TUN flush failed")?;
[INFO] [stdout]    |                     ^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_write_ext.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub trait AsyncWriteExt: AsyncWrite {
[INFO] [stdout]    |     ----------------------------------- doesn't satisfy `_: AsyncWriteExt` or `_: AsyncWrite`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWrite`
[INFO] [stdout]            which is required by `Box<(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static)>: tokio::io::AsyncWriteExt`
[INFO] [stdout]            `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWrite`
[INFO] [stdout]            which is required by `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWriteExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `tokio::io::AsyncWriteExt` is not dyn compatible
[INFO] [stdout]     --> daemon/src/tunnel/tun_device.rs:22:27
[INFO] [stdout]      |
[INFO] [stdout]   22 |         Ok(Self { writer: Box::new(writer), reader: Box::new(reader), mtu })
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^ `tokio::io::AsyncWriteExt` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_write_ext.rs:130:12
[INFO] [stdout]      |
[INFO] [stdout]  130 |         fn write<'a>(&'a mut self, src: &'a [u8]) -> Write<'a, Self>
[INFO] [stdout]      |            ^^^^^ the trait is not dyn compatible because method `write` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  182 |         fn write_vectored<'a, 'b>(&'a mut self, bufs: &'a [IoSlice<'b>]) -> WriteVectored<'a, 'b, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_vectored` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  387 |         fn write_all<'a>(&'a mut self, src: &'a [u8]) -> WriteAll<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^ the trait is not dyn compatible because method `write_all` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  430 |             fn write_u8(&mut self, n: u8) -> WriteU8;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `write_u8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  467 |             fn write_i8(&mut self, n: i8) -> WriteI8;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `write_i8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  505 |             fn write_u16(&mut self, n: u16) -> WriteU16;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  543 |             fn write_i16(&mut self, n: i16) -> WriteI16;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  581 |             fn write_u32(&mut self, n: u32) -> WriteU32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  619 |             fn write_i32(&mut self, n: i32) -> WriteI32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  657 |             fn write_u64(&mut self, n: u64) -> WriteU64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_u64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  695 |             fn write_i64(&mut self, n: i64) -> WriteI64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_i64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  735 |             fn write_u128(&mut self, n: u128) -> WriteU128;
[INFO] [stdout]      |                ^^^^^^^^^^ the trait is not dyn compatible because method `write_u128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  775 |             fn write_i128(&mut self, n: i128) -> WriteI128;
[INFO] [stdout]      |                ^^^^^^^^^^ the trait is not dyn compatible because method `write_i128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  812 |             fn write_f32(&mut self, n: f32) -> WriteF32;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_f32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  851 |             fn write_f64(&mut self, n: f64) -> WriteF64;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `write_f64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  889 |             fn write_u16_le(&mut self, n: u16) -> WriteU16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  927 |             fn write_i16_le(&mut self, n: i16) -> WriteI16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  965 |             fn write_u32_le(&mut self, n: u32) -> WriteU32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1003 |             fn write_i32_le(&mut self, n: i32) -> WriteI32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1041 |             fn write_u64_le(&mut self, n: u64) -> WriteU64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1079 |             fn write_i64_le(&mut self, n: i64) -> WriteI64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1119 |             fn write_u128_le(&mut self, n: u128) -> WriteU128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_u128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1159 |             fn write_i128_le(&mut self, n: i128) -> WriteI128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^^ the trait is not dyn compatible because method `write_i128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1196 |             fn write_f32_le(&mut self, n: f32) -> WriteF32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_f32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1235 |             fn write_f64_le(&mut self, n: f64) -> WriteF64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `write_f64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1281 |         fn flush(&mut self) -> Flush<'_, Self>
[INFO] [stdout]      |            ^^^^^ the trait is not dyn compatible because method `flush` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1323 |         fn shutdown(&mut self) -> Shutdown<'_, Self>
[INFO] [stdout]      |            ^^^^^^^^ the trait is not dyn compatible because method `shutdown` references the `Self` type in its return type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `tokio::io::AsyncReadExt` is not dyn compatible
[INFO] [stdout]     --> daemon/src/tunnel/tun_device.rs:22:53
[INFO] [stdout]      |
[INFO] [stdout]   22 |         Ok(Self { writer: Box::new(writer), reader: Box::new(reader), mtu })
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^ `tokio::io::AsyncReadExt` is not dyn compatible
[INFO] [stdout]      |
[INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable
[INFO] [stdout]       for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility>
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_read_ext.rs:177:12
[INFO] [stdout]      |
[INFO] [stdout]  177 |         fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>
[INFO] [stdout]      |            ^^^^ the trait is not dyn compatible because method `read` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  258 |         fn read_buf<'a, B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout]      |            |
[INFO] [stdout]      |            the trait is not dyn compatible because method `read_buf` references the `Self` type in its return type
[INFO] [stdout]      |            the trait is not dyn compatible because method `read_buf` has generic type parameters
[INFO] [stdout] ...
[INFO] [stdout]  323 |         fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^ the trait is not dyn compatible because method `read_exact` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  373 |             fn read_u8(&mut self) -> ReadU8;
[INFO] [stdout]      |                ^^^^^^^ the trait is not dyn compatible because method `read_u8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  417 |             fn read_i8(&mut self) -> ReadI8;
[INFO] [stdout]      |                ^^^^^^^ the trait is not dyn compatible because method `read_i8` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  461 |             fn read_u16(&mut self) -> ReadU16;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  505 |             fn read_i16(&mut self) -> ReadI16;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i16` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  548 |             fn read_u32(&mut self) -> ReadU32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  592 |             fn read_i32(&mut self) -> ReadI32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  637 |             fn read_u64(&mut self) -> ReadU64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_u64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  680 |             fn read_i64(&mut self) -> ReadI64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_i64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  726 |             fn read_u128(&mut self) -> ReadU128;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `read_u128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  772 |             fn read_i128(&mut self) -> ReadI128;
[INFO] [stdout]      |                ^^^^^^^^^ the trait is not dyn compatible because method `read_i128` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  815 |             fn read_f32(&mut self) -> ReadF32;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_f32` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  860 |             fn read_f64(&mut self) -> ReadF64;
[INFO] [stdout]      |                ^^^^^^^^ the trait is not dyn compatible because method `read_f64` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  904 |             fn read_u16_le(&mut self) -> ReadU16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  948 |             fn read_i16_le(&mut self) -> ReadI16Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i16_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout]  991 |             fn read_u32_le(&mut self) -> ReadU32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1035 |             fn read_i32_le(&mut self) -> ReadI32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1080 |             fn read_u64_le(&mut self) -> ReadU64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_u64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1123 |             fn read_i64_le(&mut self) -> ReadI64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_i64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1169 |             fn read_u128_le(&mut self) -> ReadU128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `read_u128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1215 |             fn read_i128_le(&mut self) -> ReadI128Le;
[INFO] [stdout]      |                ^^^^^^^^^^^^ the trait is not dyn compatible because method `read_i128_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1258 |             fn read_f32_le(&mut self) -> ReadF32Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_f32_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1303 |             fn read_f64_le(&mut self) -> ReadF64Le;
[INFO] [stdout]      |                ^^^^^^^^^^^ the trait is not dyn compatible because method `read_f64_le` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1354 |         fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^ the trait is not dyn compatible because method `read_to_end` references the `Self` type in its return type
[INFO] [stdout] ...
[INFO] [stdout] 1404 |         fn read_to_string<'a>(&'a mut self, dst: &'a mut String) -> ReadToString<'a, Self>
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ the trait is not dyn compatible because method `read_to_string` references the `Self` type in its return type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `random` found for struct `EphemeralSecret` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/wireguard.rs:32:49
[INFO] [stdout]     |
[INFO] [stdout]  32 |         let ephemeral_secret = EphemeralSecret::random();
[INFO] [stdout]     |                                                 ^^^^^^ associated function or constant not found in `EphemeralSecret`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `EphemeralSecret` consider using one of the following associated functions:
[INFO] [stdout]       EphemeralSecret::new
[INFO] [stdout]       EphemeralSecret::random_from_rng
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x25519-dalek-2.0.1/src/x25519.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn new<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn random_from_rng<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `and` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.6.11/src/follow_redirect/policy/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | /     fn and<P, B, E>(self, other: P) -> And<Self, P>
[INFO] [stdout] 142 | |     where
[INFO] [stdout] 143 | |         Self: Policy<B, E> + Sized,
[INFO] [stdout] 144 | |         P: Policy<B, E>;
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `read` exists for struct `Box<(dyn tokio::io::AsyncReadExt + std::marker::Send + Unpin + 'static)>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> daemon/src/tunnel/tun_device.rs:26:29
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let n = self.reader.read(&mut buf).await.context("TUN read failed")?;
[INFO] [stdout]    |                             ^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_read_ext.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub trait AsyncReadExt: AsyncRead {
[INFO] [stdout]    |     --------------------------------- doesn't satisfy `_: AsyncReadExt` or `_: AsyncRead`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `(dyn tokio::io::AsyncReadExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncRead`
[INFO] [stdout]            which is required by `Box<(dyn tokio::io::AsyncReadExt + std::marker::Send + Unpin + 'static)>: tokio::io::AsyncReadExt`
[INFO] [stdout]            `(dyn tokio::io::AsyncReadExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncRead`
[INFO] [stdout]            which is required by `(dyn tokio::io::AsyncReadExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncReadExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `write_all` exists for struct `Box<(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static)>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> daemon/src/tunnel/tun_device.rs:31:21
[INFO] [stdout]    |
[INFO] [stdout] 31 |         self.writer.write_all(&packet).await.context("TUN write failed")?;
[INFO] [stdout]    |                     ^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_write_ext.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub trait AsyncWriteExt: AsyncWrite {
[INFO] [stdout]    |     ----------------------------------- doesn't satisfy `_: AsyncWriteExt` or `_: AsyncWrite`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWrite`
[INFO] [stdout]            which is required by `Box<(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static)>: tokio::io::AsyncWriteExt`
[INFO] [stdout]            `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWrite`
[INFO] [stdout]            which is required by `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWriteExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `flush` exists for struct `Box<(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static)>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> daemon/src/tunnel/tun_device.rs:32:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |         self.writer.flush().await.context("TUN flush failed")?;
[INFO] [stdout]    |                     ^^^^^ method cannot be called due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/util/async_write_ext.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub trait AsyncWriteExt: AsyncWrite {
[INFO] [stdout]    |     ----------------------------------- doesn't satisfy `_: AsyncWriteExt` or `_: AsyncWrite`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWrite`
[INFO] [stdout]            which is required by `Box<(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static)>: tokio::io::AsyncWriteExt`
[INFO] [stdout]            `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWrite`
[INFO] [stdout]            which is required by `(dyn tokio::io::AsyncWriteExt + std::marker::Send + Unpin + 'static): tokio::io::AsyncWriteExt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `random` found for struct `EphemeralSecret` in the current scope
[INFO] [stdout]    --> daemon/src/tunnel/wireguard.rs:32:49
[INFO] [stdout]     |
[INFO] [stdout]  32 |         let ephemeral_secret = EphemeralSecret::random();
[INFO] [stdout]     |                                                 ^^^^^^ associated function or constant not found in `EphemeralSecret`
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `EphemeralSecret` consider using one of the following associated functions:
[INFO] [stdout]       EphemeralSecret::new
[INFO] [stdout]       EphemeralSecret::random_from_rng
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/x25519-dalek-2.0.1/src/x25519.rs:89:5
[INFO] [stdout]     |
[INFO] [stdout]  89 |     pub fn new<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn random_from_rng<T: RngCore + CryptoRng>(mut csprng: T) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is a method `and` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tower-http-0.6.11/src/follow_redirect/policy/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | /     fn and<P, B, E>(self, other: P) -> And<Self, P>
[INFO] [stdout] 142 | |     where
[INFO] [stdout] 143 | |         Self: Policy<B, E> + Sized,
[INFO] [stdout] 144 | |         P: Policy<B, E>;
[INFO] [stdout]     | |________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `u16` cannot be dereferenced
[INFO] [stdout]   --> daemon/src/license/nostr_poller.rs:83:55
[INFO] [stdout]    |
[INFO] [stdout] 83 |             match self.fetch_from_relay(hostname, ip, *port).await {
[INFO] [stdout]    |                                                       ^^^^^ can't be dereferenced
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `u16` cannot be dereferenced
[INFO] [stdout]   --> daemon/src/license/nostr_poller.rs:83:55
[INFO] [stdout]    |
[INFO] [stdout] 83 |             match self.fetch_from_relay(hostname, ip, *port).await {
[INFO] [stdout]    |                                                       ^^^^^ can't be dereferenced
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/security/anti_forensics.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 341 | /         unsafe {
[INFO] [stdout] 342 | |             libc::kill(libc::getpid(), libc::SIGKILL);
[INFO] [stdout] 343 | |         }
[INFO] [stdout]     | |_________^ expected `!`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected type `!`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `CryptoEncryptionFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:378:24
[INFO] [stdout]     |
[INFO] [stdout] 378 |             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `CryptoEncryptionFailed` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is a variant with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 378 -             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout] 378 +             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:377:22
[INFO] [stdout]     |
[INFO] [stdout] 377 |         .map_err(|e| ShieldError::crypto(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 378 |             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |             --------------------------------- unexpected argument #1
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 378 -             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `CryptoEncryptionFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:384:24
[INFO] [stdout]     |
[INFO] [stdout] 384 |             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `CryptoEncryptionFailed` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is a variant with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 384 -             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout] 384 +             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:383:22
[INFO] [stdout]     |
[INFO] [stdout] 383 |         .map_err(|e| ShieldError::crypto(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 384 |             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |             --------------------------------- unexpected argument #1
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 384 -             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:445:13
[INFO] [stdout]     |
[INFO] [stdout] 444 |         .map_err(|e| ShieldError::crypto(
[INFO] [stdout]     |                      ------------------- required by a bound introduced by this call
[INFO] [stdout] 445 |             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<reqwest::Url>
[INFO] [stdout]               From<trust_dns_proto::error::ProtoError>
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:444:22
[INFO] [stdout]     |
[INFO] [stdout] 444 |         .map_err(|e| ShieldError::crypto(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 445 |             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout] 446 |             format!("AES-256-GCM init failed: {}", e),
[INFO] [stdout]     |             ----------------------------------------- unexpected argument #2 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 445 -             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout] 446 -             format!("AES-256-GCM init failed: {}", e),
[INFO] [stdout] 445 +             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:454:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |             ShieldError::crypto(
[INFO] [stdout]     |             ------------------- required by a bound introduced by this call
[INFO] [stdout] 454 |                 ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<reqwest::Url>
[INFO] [stdout]               From<trust_dns_proto::error::ProtoError>
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |             ShieldError::crypto(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 454 |                 ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout] 455 |                 format!("AES-256-GCM decryption failed (secret may be corrupted or key mismatch): {}", e),
[INFO] [stdout]     |                 ----------------------------------------------------------------------------------------- unexpected argument #2 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 454 -                 ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout] 455 -                 format!("AES-256-GCM decryption failed (secret may be corrupted or key mismatch): {}", e),
[INFO] [stdout] 454 +                 ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `CryptoHkdfFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:537:24
[INFO] [stdout]     |
[INFO] [stdout] 537 |             ErrorCode::CryptoHkdfFailed,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `CryptoHkdfFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:536:9
[INFO] [stdout]     |
[INFO] [stdout] 536 |         ShieldError::crypto(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 537 |             ErrorCode::CryptoHkdfFailed,
[INFO] [stdout]     |             --------------------------- unexpected argument #1
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 537 -             ErrorCode::CryptoHkdfFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/security/anti_forensics.rs:341:9
[INFO] [stdout]     |
[INFO] [stdout] 341 | /         unsafe {
[INFO] [stdout] 342 | |             libc::kill(libc::getpid(), libc::SIGKILL);
[INFO] [stdout] 343 | |         }
[INFO] [stdout]     | |_________^ expected `!`, found `()`
[INFO] [stdout]     |
[INFO] [stdout]     = note:   expected type `!`
[INFO] [stdout]             found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_mut_bytes` found for struct `StaticSecret` in the current scope
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:123:40
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let secret_bytes = self.secret.as_mut_bytes();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `as_bytes` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 123 -         let secret_bytes = self.secret.as_mut_bytes();
[INFO] [stdout] 123 +         let secret_bytes = self.secret.as_bytes();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `CryptoKeyGenerationFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 ErrorCode::CryptoKeyGenerationFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `CryptoKeyGenerationFailed` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is a variant with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 173 -                 ErrorCode::CryptoKeyGenerationFailed,
[INFO] [stdout] 173 +                 ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |             ShieldError::crypto_with_source(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 173 |                 ErrorCode::CryptoKeyGenerationFailed,
[INFO] [stdout] 174 |                 "Failed to generate Curve25519 keypair",
[INFO] [stdout]     |                 --------------------------------------- unexpected argument #2 of type `&'static str`
[INFO] [stdout] 175 |                 e.to_string(),
[INFO] [stdout]     |                 ------------- unexpected argument #3 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn crypto_with_source(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout] 173 -                 ErrorCode::CryptoKeyGenerationFailed,
[INFO] [stdout] 174 -                 "Failed to generate Curve25519 keypair",
[INFO] [stdout] 175 -                 e.to_string(),
[INFO] [stdout] 173 +                 ErrorCode::CryptoKeyGenerationFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `CryptoEncryptionFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:378:24
[INFO] [stdout]     |
[INFO] [stdout] 378 |             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `CryptoEncryptionFailed` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is a variant with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 378 -             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout] 378 +             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:377:22
[INFO] [stdout]     |
[INFO] [stdout] 377 |         .map_err(|e| ShieldError::crypto(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 378 |             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |             --------------------------------- unexpected argument #1
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 378 -             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |         let daily_peer_id = derive_daily_peer_id(
[INFO] [stdout]     |                             -------------------- arguments to this function are incorrect
[INFO] [stdout] 195 |             device_secret_mgr.secret_bytes(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8; 32]`, found `[u8; 32]`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:279:4
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn derive_daily_peer_id(device_secret: &[u8; 32]) -> Result<String, ShieldError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^ ------------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 195 |             &device_secret_mgr.secret_bytes(),
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:244:61
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let hk = Hkdf::<Sha256>::new(Some(salt.as_bytes()), secret);
[INFO] [stdout]     |                  -------------------                        ^^^^^^ expected `&[u8]`, found `[u8; 32]`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hkdf-0.12.4/src/lib.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn new(salt: Option<&[u8]>, ikm: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let hk = Hkdf::<Sha256>::new(Some(salt.as_bytes()), &secret);
[INFO] [stdout]     |                                                             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `CryptoEncryptionFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:384:24
[INFO] [stdout]     |
[INFO] [stdout] 384 |             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `CryptoEncryptionFailed` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is a variant with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 384 -             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout] 384 +             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:383:22
[INFO] [stdout]     |
[INFO] [stdout] 383 |         .map_err(|e| ShieldError::crypto(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 384 |             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |             --------------------------------- unexpected argument #1
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 384 -             ErrorCode::CryptoEncryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:445:13
[INFO] [stdout]     |
[INFO] [stdout] 444 |         .map_err(|e| ShieldError::crypto(
[INFO] [stdout]     |                      ------------------- required by a bound introduced by this call
[INFO] [stdout] 445 |             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<clap::Id>
[INFO] [stdout]             and 3 others
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:444:22
[INFO] [stdout]     |
[INFO] [stdout] 444 |         .map_err(|e| ShieldError::crypto(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 445 |             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout] 446 |             format!("AES-256-GCM init failed: {}", e),
[INFO] [stdout]     |             ----------------------------------------- unexpected argument #2 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 445 -             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout] 446 -             format!("AES-256-GCM init failed: {}", e),
[INFO] [stdout] 445 +             ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `CryptoHkdfFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:285:40
[INFO] [stdout]     |
[INFO] [stdout] 285 |         ShieldError::crypto(ErrorCode::CryptoHkdfFailed, format!("HKDF expand failed: {}", e))
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `CryptoHkdfFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |         ShieldError::crypto(ErrorCode::CryptoHkdfFailed, format!("HKDF expand failed: {}", e))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ --------------------------- unexpected argument #1
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 285 -         ShieldError::crypto(ErrorCode::CryptoHkdfFailed, format!("HKDF expand failed: {}", e))
[INFO] [stdout] 285 +         ShieldError::crypto(format!("HKDF expand failed: {}", e))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:454:17
[INFO] [stdout]     |
[INFO] [stdout] 453 |             ShieldError::crypto(
[INFO] [stdout]     |             ------------------- required by a bound introduced by this call
[INFO] [stdout] 454 |                 ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<clap::Id>
[INFO] [stdout]             and 3 others
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:453:13
[INFO] [stdout]     |
[INFO] [stdout] 453 |             ShieldError::crypto(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 454 |                 ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout] 455 |                 format!("AES-256-GCM decryption failed (secret may be corrupted or key mismatch): {}", e),
[INFO] [stdout]     |                 ----------------------------------------------------------------------------------------- unexpected argument #2 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 454 -                 ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout] 455 -                 format!("AES-256-GCM decryption failed (secret may be corrupted or key mismatch): {}", e),
[INFO] [stdout] 454 +                 ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `CryptoHkdfFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:537:24
[INFO] [stdout]     |
[INFO] [stdout] 537 |             ErrorCode::CryptoHkdfFailed,
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `CryptoHkdfFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/device_secret.rs:536:9
[INFO] [stdout]     |
[INFO] [stdout] 536 |         ShieldError::crypto(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 537 |             ErrorCode::CryptoHkdfFailed,
[INFO] [stdout]     |             --------------------------- unexpected argument #1
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 537 -             ErrorCode::CryptoHkdfFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_ref` found for struct `EncapsulationKey<P>` in the current scope
[INFO] [stdout]    --> daemon/src/security/post_quantum.rs:100:26
[INFO] [stdout]     |
[INFO] [stdout] 100 |         self.mlkem_encap.as_ref().to_vec()
[INFO] [stdout]     |                          ^^^^^^ method not found in `EncapsulationKey<MlKem768Params>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `decap` found for struct `DecapsulationKey<P>` in the current scope
[INFO] [stdout]    --> daemon/src/security/post_quantum.rs:110:39
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let shared = self.mlkem_decap.decap(ciphertext).map_err(|e| {
[INFO] [stdout]     |                                       ^^^^^ method not found in `DecapsulationKey<MlKem768Params>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `std::string::String: From<ErrorCode>` is not satisfied
[INFO] [stdout]    --> daemon/src/security/post_quantum.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |             ShieldError::crypto(
[INFO] [stdout]     |             ------------------- required by a bound introduced by this call
[INFO] [stdout] 112 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<ErrorCode>` is not implemented for `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout]     = help: `std::string::String` implements trait `From<T>`:
[INFO] [stdout]               From<&mut str>
[INFO] [stdout]               From<&std::string::String>
[INFO] [stdout]               From<&str>
[INFO] [stdout]               From<Box<str>>
[INFO] [stdout]               From<Cow<'_, str>>
[INFO] [stdout]               From<Uuid>
[INFO] [stdout]               From<char>
[INFO] [stdout]               From<reqwest::Url>
[INFO] [stdout]               From<trust_dns_proto::error::ProtoError>
[INFO] [stdout]     = note: required for `ErrorCode` to implement `Into<std::string::String>`
[INFO] [stdout] note: required by a bound in `ShieldError::crypto`
[INFO] [stdout]    --> daemon/src/error.rs:200:33
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ required by this bound in `ShieldError::crypto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/post_quantum.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             ShieldError::crypto(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 113 |                 format!("ML-KEM-768 decapsulation failed: {:?}", e),
[INFO] [stdout]     |                 --------------------------------------------------- unexpected argument #2 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn crypto(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 112 -                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout] 113 -                 format!("ML-KEM-768 decapsulation failed: {:?}", e),
[INFO] [stdout] 112 +                 ErrorCode::CryptoPostQuantumFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_mut_bytes` found for struct `StaticSecret` in the current scope
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:123:40
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let secret_bytes = self.secret.as_mut_bytes();
[INFO] [stdout]     |                                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `as_bytes` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 123 -         let secret_bytes = self.secret.as_mut_bytes();
[INFO] [stdout] 123 +         let secret_bytes = self.secret.as_bytes();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `CryptoKeyGenerationFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 ErrorCode::CryptoKeyGenerationFailed,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `CryptoKeyGenerationFailed` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is a variant with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 173 -                 ErrorCode::CryptoKeyGenerationFailed,
[INFO] [stdout] 173 +                 ErrorCode::CryptoDecryptionFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 3 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |             ShieldError::crypto_with_source(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 173 |                 ErrorCode::CryptoKeyGenerationFailed,
[INFO] [stdout] 174 |                 "Failed to generate Curve25519 keypair",
[INFO] [stdout]     |                 --------------------------------------- unexpected argument #2 of type `&'static str`
[INFO] [stdout] 175 |                 e.to_string(),
[INFO] [stdout]     |                 ------------- unexpected argument #3 of type `std::string::String`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> daemon/src/error.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn crypto_with_source(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout] 173 -                 ErrorCode::CryptoKeyGenerationFailed,
[INFO] [stdout] 174 -                 "Failed to generate Curve25519 keypair",
[INFO] [stdout] 175 -                 e.to_string(),
[INFO] [stdout] 173 +                 ErrorCode::CryptoKeyGenerationFailed,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 194 |         let daily_peer_id = derive_daily_peer_id(
[INFO] [stdout]     |                             -------------------- arguments to this function are incorrect
[INFO] [stdout] 195 |             device_secret_mgr.secret_bytes(),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&[u8; 32]`, found `[u8; 32]`
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:279:4
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn derive_daily_peer_id(device_secret: &[u8; 32]) -> Result<String, ShieldError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^ ------------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 195 |             &device_secret_mgr.secret_bytes(),
[INFO] [stdout]     |             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:244:61
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let hk = Hkdf::<Sha256>::new(Some(salt.as_bytes()), secret);
[INFO] [stdout]     |                  -------------------                        ^^^^^^ expected `&[u8]`, found `[u8; 32]`
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  arguments to this function are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/hkdf-0.12.4/src/lib.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn new(salt: Option<&[u8]>, ikm: &[u8]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let hk = Hkdf::<Sha256>::new(Some(salt.as_bytes()), &secret);
[INFO] [stdout]     |                                                             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_mut_bytes` found for struct `StaticSecret` in the current scope
[INFO] [stdout]    --> daemon/src/security/post_quantum.rs:123:28
[INFO] [stdout]     |
[INFO] [stdout] 123 |         self.x25519_secret.as_mut_bytes().zeroize();
[INFO] [stdout]     |                            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `as_bytes` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 123 -         self.x25519_secret.as_mut_bytes().zeroize();
[INFO] [stdout] 123 +         self.x25519_secret.as_bytes().zeroize();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant, associated function, or constant named `CryptoHkdfFailed` found for enum `ErrorCode` in the current scope
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:285:40
[INFO] [stdout]     |
[INFO] [stdout] 285 |         ShieldError::crypto(ErrorCode::CryptoHkdfFailed, format!("HKDF expand failed: {}", e))
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ variant, associated function, or constant not found in `ErrorCode`
[INFO] [stdout]     |
[INFO] [stdout]    ::: daemon/src/error.rs:11:1
[INFO] [stdout]     |
[INFO] [stdout]  11 | pub enum ErrorCode {
[INFO] [stdout]     | ------------------ variant, associated function, or constant `CryptoHkdfFailed` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> daemon/src/security/ephemeral_identity.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |         ShieldError::crypto(ErrorCode::CryptoHkdfFailed, format!("HKDF expand failed: {}", e))
[WARN] too many lines in the log, truncating it
