[INFO] cloning repository https://github.com/mbfczzz/biliup-my [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mbfczzz/biliup-my" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmbfczzz%2Fbiliup-my", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmbfczzz%2Fbiliup-my'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 596b27c496faed807408ab23587928b14a40617c [INFO] testing mbfczzz/biliup-my against beta-2026-04-21 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmbfczzz%2Fbiliup-my" "/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/mbfczzz/biliup-my [INFO] finished tweaking git repo https://github.com/mbfczzz/biliup-my [INFO] tweaked toml for git repo https://github.com/mbfczzz/biliup-my written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mbfczzz/biliup-my on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mbfczzz/biliup-my 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b908f07cf870001884bcf9c2dbb8a9b4bae8aaa2ba8fdafc60a03c8b5fe5fd97 [INFO] running `Command { std: "docker" "start" "-a" "b908f07cf870001884bcf9c2dbb8a9b4bae8aaa2ba8fdafc60a03c8b5fe5fd97", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b908f07cf870001884bcf9c2dbb8a9b4bae8aaa2ba8fdafc60a03c8b5fe5fd97", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b908f07cf870001884bcf9c2dbb8a9b4bae8aaa2ba8fdafc60a03c8b5fe5fd97", kill_on_drop: false }` [INFO] [stdout] b908f07cf870001884bcf9c2dbb8a9b4bae8aaa2ba8fdafc60a03c8b5fe5fd97 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2156ed024d296be52f8c7a014786b797305b4132e9e1b9b6f26c2335c3f453a3 [INFO] running `Command { std: "docker" "start" "-a" "2156ed024d296be52f8c7a014786b797305b4132e9e1b9b6f26c2335c3f453a3", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling libc v0.2.178 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling bytes v1.11.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling find-msvc-tools v0.1.5 [INFO] [stderr] Compiling cc v1.2.49 [INFO] [stderr] Compiling slab v0.4.11 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling const-oid v0.9.6 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling time-core v0.1.6 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling time-macros v0.2.24 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling tracing-core v0.1.35 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling signal-hook-registry v1.4.7 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling utf8_iter v1.0.4 [INFO] [stderr] Compiling rustls-pki-types v1.13.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling iana-time-zone v0.1.64 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling rustls v0.23.35 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling webpki-roots v1.0.4 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling zerocopy-derive v0.8.31 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling tracing v0.1.43 [INFO] [stderr] Compiling target-lexicon v0.13.3 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling webpki-roots v0.26.11 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling flate2 v1.1.5 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling tokio-util v0.7.17 [INFO] [stderr] Compiling rustls-webpki v0.103.8 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling cookie v0.18.1 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling pyo3-build-config v0.27.2 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling alloc-no-stdlib v2.0.4 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling h2 v0.4.12 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling alloc-stdlib v0.2.2 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling base64ct v1.8.1 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling brotli-decompressor v5.0.0 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling equator-macro v0.4.2 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling sqlx-sqlite v0.8.6 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling equator v0.4.2 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling brotli v8.0.2 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling structmeta-derive v0.3.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling psl-types v2.0.11 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Compiling compression-core v0.4.31 [INFO] [stderr] Compiling topo_sort v0.4.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling publicsuffix v2.3.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling compression-codecs v0.4.35 [INFO] [stderr] Compiling aligned-vec v0.6.4 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Compiling arrayvec v0.7.6 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling sqlformat v0.2.6 [INFO] [stderr] Compiling v_frame v0.3.9 [INFO] [stderr] Compiling convert_case v0.7.1 [INFO] [stderr] Compiling async-compression v0.4.36 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling as-slice v0.2.1 [INFO] [stderr] Compiling built v0.8.0 [INFO] [stderr] Compiling iri-string v0.7.9 [INFO] [stderr] Compiling av-scenechange v0.14.1 [INFO] [stderr] Compiling http-range-header v0.4.2 [INFO] [stderr] Compiling rav1e v0.8.1 [INFO] [stderr] Compiling aligned v0.4.2 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling cookie_store v0.21.1 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling profiling-procmacros v1.0.17 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Compiling core2 v0.4.0 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling y4m v0.8.0 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling quick-error v2.0.1 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling pastey v0.1.1 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Compiling av1-grain v0.2.5 [INFO] [stderr] Compiling bitstream-io v4.9.0 [INFO] [stderr] Compiling profiling v1.0.17 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling maybe-rayon v0.1.1 [INFO] [stderr] Compiling kurtbuilds_sql v0.26.2 [INFO] [stderr] Compiling reqwest v0.12.25 [INFO] [stderr] Compiling structmeta v0.3.0 [INFO] [stderr] Compiling axum-core v0.5.5 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling fax_derive v0.2.0 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Compiling data-encoding v2.9.0 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling imgref v1.12.0 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling num-bigint-dig v0.8.6 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling weezl v0.1.12 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Compiling zune-core v0.4.12 [INFO] [stderr] Compiling tungstenite v0.28.0 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling zune-jpeg v0.4.21 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling loop9 v0.1.5 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling fax v0.2.6 [INFO] [stderr] Compiling ormlite-attr v0.24.3 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling tower-sessions-core v0.14.0 [INFO] [stderr] Compiling avif-serialize v0.8.6 [INFO] [stderr] Compiling pyo3-macros-backend v0.27.2 [INFO] [stderr] Compiling pyo3-ffi v0.27.2 [INFO] [stderr] Compiling num-iter v0.1.45 [INFO] [stderr] Compiling sqlparser v0.51.0 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling zune-inflate v0.2.54 [INFO] [stderr] Compiling pxfm v0.1.27 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling bytemuck v1.24.0 [INFO] [stderr] Compiling lebe v0.5.3 [INFO] [stderr] Compiling rgb v0.8.52 [INFO] [stderr] Compiling clap_lex v0.7.6 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling bit_field v0.10.3 [INFO] [stderr] Compiling zune-core v0.5.0 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling byteorder-lite v0.1.0 [INFO] [stderr] Compiling zune-jpeg v0.5.6 [INFO] [stderr] Compiling image-webp v0.2.4 [INFO] [stderr] Compiling console v0.16.1 [INFO] [stderr] Compiling exr v1.74.0 [INFO] [stderr] Compiling gif v0.14.1 [INFO] [stderr] Compiling clap_builder v4.5.53 [INFO] [stderr] Compiling moxcms v0.7.10 [INFO] [stderr] Compiling ravif v0.12.0 [INFO] [stderr] Compiling qoi v0.4.1 [INFO] [stderr] Compiling png v0.18.0 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling bon-macros v3.8.1 [INFO] [stderr] Compiling pkcs1 v0.7.5 [INFO] [stderr] Compiling ormlite-core v0.24.3 [INFO] [stderr] Compiling tiff v0.10.3 [INFO] [stderr] Compiling error-stack v0.6.0 [INFO] [stderr] Compiling tokio-tungstenite v0.28.0 [INFO] [stderr] Compiling rmp v0.8.14 [INFO] [stderr] Compiling tower-cookies v0.11.0 [INFO] [stderr] Compiling reqwest-middleware v0.4.2 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling retry-policies v0.5.1 [INFO] [stderr] Compiling cookie_store v0.22.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling rust-embed-utils v8.9.0 [INFO] [stderr] Compiling axum-macros v0.5.0 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling axum v0.8.7 [INFO] [stderr] Compiling clap v4.5.53 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling ormlite-macro v0.24.3 [INFO] [stderr] Compiling argon2 v0.5.3 [INFO] [stderr] Compiling bon v3.8.1 [INFO] [stderr] Compiling rsa v0.9.9 [INFO] [stderr] Compiling rust-embed-impl v8.9.0 [INFO] [stderr] Compiling reqwest_cookie_store v0.9.0 [INFO] [stderr] Compiling image v0.25.9 [INFO] [stderr] Compiling reqwest-retry v0.8.0 [INFO] [stderr] Compiling tower-sessions v0.14.0 [INFO] [stderr] Compiling rmp-serde v1.3.0 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling m3u8-rs v6.0.0 [INFO] [stderr] Compiling event-listener-strategy v0.5.4 [INFO] [stderr] Compiling pyo3 v0.27.2 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling struct-patch-derive v0.10.4 [INFO] [stderr] Compiling md-5 v0.10.6 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling unit-prefix v0.5.2 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling dialoguer v0.12.0 [INFO] [stderr] Compiling indicatif v0.18.3 [INFO] [stderr] Compiling struct-patch v0.10.4 [INFO] [stderr] Compiling axum-login v0.18.0 [INFO] [stderr] Compiling scarecrow-core v0.2.4 (/opt/rustwide/workdir/crates/scarecrow-core) [INFO] [stderr] Compiling rust-embed v8.9.0 [INFO] [stderr] Compiling async-channel v2.5.0 [INFO] [stderr] Compiling tower-sessions-sqlx-store v0.15.0 [INFO] [stderr] Compiling shellexpand v3.1.1 [INFO] [stderr] Compiling ormlite v0.24.3 [INFO] [stderr] Compiling password-auth v1.0.0 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling unindent v0.2.4 [INFO] [stderr] Compiling qrcode v0.14.1 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling humantime v2.3.0 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling pyo3-macros v0.27.2 [INFO] [stderr] Compiling fancy-regex v0.17.0 [INFO] [stderr] Compiling tracing-appender v0.2.4 [INFO] [stderr] Compiling scarecrow-cli v1.1.28 (/opt/rustwide/workdir/crates/scarecrow-cli) [INFO] [stdout] warning: unused import: `tower_sessions::cookie::Key` [INFO] [stdout] --> crates/scarecrow-cli/src/server/app.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use tower_sessions::cookie::Key; [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::server::config::default_segment_time` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::server::config::default_segment_time; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DownloadConfig` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | DanmakuClient, DownloadConfig, DownloadStatus, DownloaderRuntime, DownloaderType, SegmentEvent, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bail` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | use error_stack::{ResultExt, bail}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderMap`, `HeaderValue`, and `USER_AGENT` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use reqwest::header::{HeaderMap, HeaderValue, USER_AGENT}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Worker` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/upload.rs:6:62 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::server::infrastructure::context::{Context, Stage, Worker, WorkerStatus}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/cover_downloader.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/cover_downloader.rs:10:40 [INFO] [stdout] | [INFO] [stdout] 10 | use tracing::{error, info, instrument, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::server::common::util::Recorder` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::server::common::util::Recorder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:5:46 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::server::infrastructure::context::{Context, PluginContext, Stage, Worker, WorkerStatus}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:8:46 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::server::infrastructure::context::{Context, PluginContext}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cover_downloader` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:4:55 [INFO] [stdout] | [INFO] [stdout] 4 | DanmakuClient, DownloaderRuntime, DownloaderType, cover_downloader, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:7:46 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::server::infrastructure::context::{Context, PluginContext}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::http::header::USER_AGENT` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use axum::http::header::USER_AGENT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderMap` and `HeaderValue` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | use axum::http::{HeaderMap, HeaderValue}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `info` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | use tracing::{error, info}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tracing::log::error` [INFO] [stdout] --> crates/scarecrow-cli/src/server/errors.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tracing::log::error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> crates/scarecrow-cli/src/upload_lock.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling pythonize v0.27.0 [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:90:41 [INFO] [stdout] | [INFO] [stdout] 90 | Ok(StreamStatus::Live { mut stream_info }) => { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `platform` [INFO] [stdout] --> crates/scarecrow-cli/src/server/api/endpoints.rs:472:9 [INFO] [stdout] | [INFO] [stdout] 472 | let platform = info.platform.as_deref().unwrap_or("bilibili"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `service_register` [INFO] [stdout] --> crates/scarecrow-cli/src/server/api/endpoints.rs:531:11 [INFO] [stdout] | [INFO] [stdout] 531 | State(service_register): State, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service_register` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_file_path` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:247:39 [INFO] [stdout] | [INFO] [stdout] 247 | SegmentEvent::Start { next_file_path } => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `next_file_path: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value captured by `prev_file_path` is never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | prev_file_path = Some(file_path); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: did you mean to capture by reference instead? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `prev_file_path` is never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | prev_file_path = Some(file_path); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_file_path` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let mut prev_file_path = None::; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `url` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/streamlink.rs:177:34 [INFO] [stdout] | [INFO] [stdout] 177 | StreamOutput::Http { url, process } => process, [INFO] [stdout] | ^^^ help: try ignoring the field: `url: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_name` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader.rs:184:23 [INFO] [stdout] | [INFO] [stdout] 184 | fn rolling(&self, file_name: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `room_title` [INFO] [stdout] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:169:29 [INFO] [stdout] | [INFO] [stdout] 169 | fn should_record(&self, room_title: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_title` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GqlResponse` is more private than the item `TwitchUtils::post_gql` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:298:5 [INFO] [stdout] | [INFO] [stdout] 298 | pub async fn post_gql(ops: T) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `TwitchUtils::post_gql` is reachable at visibility `pub(in crate::server::core::plugin)` [INFO] [stdout] | [INFO] [stdout] note: but type `GqlResponse` is only usable at visibility `pub(self)` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:1 [INFO] [stdout] | [INFO] [stdout] 85 | struct GqlResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GqlResponse` is more private than the item `TwitchUtils::post_gql_batch` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:349:5 [INFO] [stdout] | [INFO] [stdout] 349 | pub async fn post_gql_batch(ops: Vec) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `TwitchUtils::post_gql_batch` is reachable at visibility `pub(in crate::server::core::plugin)` [INFO] [stdout] | [INFO] [stdout] note: but type `GqlResponse` is only usable at visibility `pub(self)` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:1 [INFO] [stdout] | [INFO] [stdout] 85 | struct GqlResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_latest_log_path` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/api/ws.rs:218:10 [INFO] [stdout] | [INFO] [stdout] 218 | async fn resolve_latest_log_path( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `download_semaphore` and `update_semaphore` are never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/download_manager.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DownloadManager { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | download_semaphore: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | /// 上传信号量数量 [INFO] [stdout] 22 | update_semaphore: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `streamlink_downloader` and `process_handle` are never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/streamlink.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Streamlink { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 25 | streamlink_downloader: StreamlinkDownloader, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | /// 进程句柄 [INFO] [stdout] 27 | process_handle: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Backend` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Backend { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DownloadConfig` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct DownloadConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `YouTubeDownloader` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct YouTubeDownloader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `download`, `run_ytdlp`, `run_ytarchive`, `move_dir_contents`, and `spawn_cover_download` are never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 100 | impl YouTubeDownloader { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 101 | pub fn new(cfg: DownloadConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub async fn download(&self) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | async fn run_ytdlp(&self) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 257 | async fn run_ytarchive(&self) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | async fn move_dir_contents(&self, from: &Path, to: &Path) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 383 | fn spawn_cover_download(&self) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GetPlatform` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:349:5 [INFO] [stdout] | [INFO] [stdout] 321 | enum ActorMessage { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 349 | GetPlatform { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLIENT_ID` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const CLIENT_ID: &str = "kimne78kx3ncx6brgo4mv6wki5h1ko"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Twitch` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Twitch { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Twitch { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 31 | fn new() -> Twitch { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GqlResponse` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | struct GqlResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GqlData` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | struct GqlData { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserData` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | struct UserData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamData` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | struct StreamData { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackAccessToken` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | struct PlaybackAccessToken { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TwitchDownloader` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 119 | pub struct TwitchDownloader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `acheck_stream`, `abatch_check`, `danmaku_init`, and `gen_download_filename` are never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 128 | impl TwitchDownloader { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 129 | pub fn new(name: &str, url: String, re: Regex) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn acheck_stream(&self) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub async fn abatch_check(&self, check_urls: Vec) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn danmaku_init(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | fn gen_download_filename(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TwitchUtils` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:284:12 [INFO] [stdout] | [INFO] [stdout] 284 | pub struct TwitchUtils { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `get_auth_token`, `invalid_auth_token`, `post_gql`, `post_gql_batch`, and `post_gql_chunk` are never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 288 | impl TwitchUtils { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 289 | pub fn get_auth_token() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub async fn invalid_auth_token() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub async fn post_gql(ops: T) -> AppResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 349 | pub async fn post_gql_batch(ops: Vec) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | async fn post_gql_chunk(ops: &[Value]) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `extension` is never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Context { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | extension: Extensions, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Context` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `should_record` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 144 | impl Worker { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 169 | fn should_record(&self, room_title: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling stream-gears v1.1.28 (/opt/rustwide/workdir/crates/stream-gears) [INFO] [stdout] warning: type `ConfigState` is more private than the item `config_bindings` [INFO] [stdout] --> crates/stream-gears/src/server.rs:368:1 [INFO] [stdout] | [INFO] [stdout] 368 | pub fn config_bindings() -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `config_bindings` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ConfigState` is only usable at visibility `pub(self)` [INFO] [stdout] --> crates/stream-gears/src/server.rs:318:1 [INFO] [stdout] | [INFO] [stdout] 318 | struct ConfigState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9m 18s [INFO] running `Command { std: "docker" "inspect" "2156ed024d296be52f8c7a014786b797305b4132e9e1b9b6f26c2335c3f453a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2156ed024d296be52f8c7a014786b797305b4132e9e1b9b6f26c2335c3f453a3", kill_on_drop: false }` [INFO] [stdout] 2156ed024d296be52f8c7a014786b797305b4132e9e1b9b6f26c2335c3f453a3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3073b7d6fe1ce76c3e667a6662f444949452b656b94bad7cc08470e95d9fcb8a [INFO] running `Command { std: "docker" "start" "-a" "3073b7d6fe1ce76c3e667a6662f444949452b656b94bad7cc08470e95d9fcb8a", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `tower_sessions::cookie::Key` [INFO] [stdout] --> crates/scarecrow-cli/src/server/app.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use tower_sessions::cookie::Key; [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::server::config::default_segment_time` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::server::config::default_segment_time; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DownloadConfig` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | DanmakuClient, DownloadConfig, DownloadStatus, DownloaderRuntime, DownloaderType, SegmentEvent, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bail` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | use error_stack::{ResultExt, bail}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderMap`, `HeaderValue`, and `USER_AGENT` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use reqwest::header::{HeaderMap, HeaderValue, USER_AGENT}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Worker` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/upload.rs:6:62 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::server::infrastructure::context::{Context, Stage, Worker, WorkerStatus}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/cover_downloader.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/cover_downloader.rs:10:40 [INFO] [stdout] | [INFO] [stdout] 10 | use tracing::{error, info, instrument, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::server::common::util::Recorder` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::server::common::util::Recorder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:5:46 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::server::infrastructure::context::{Context, PluginContext, Stage, Worker, WorkerStatus}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:8:46 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::server::infrastructure::context::{Context, PluginContext}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cover_downloader` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:4:55 [INFO] [stdout] | [INFO] [stdout] 4 | DanmakuClient, DownloaderRuntime, DownloaderType, cover_downloader, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:7:46 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::server::infrastructure::context::{Context, PluginContext}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::http::header::USER_AGENT` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use axum::http::header::USER_AGENT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderMap` and `HeaderValue` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | use axum::http::{HeaderMap, HeaderValue}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `info` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | use tracing::{error, info}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tracing::log::error` [INFO] [stdout] --> crates/scarecrow-cli/src/server/errors.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tracing::log::error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> crates/scarecrow-cli/src/upload_lock.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:90:41 [INFO] [stdout] | [INFO] [stdout] 90 | Ok(StreamStatus::Live { mut stream_info }) => { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `platform` [INFO] [stdout] --> crates/scarecrow-cli/src/server/api/endpoints.rs:472:9 [INFO] [stdout] | [INFO] [stdout] 472 | let platform = info.platform.as_deref().unwrap_or("bilibili"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `service_register` [INFO] [stdout] --> crates/scarecrow-cli/src/server/api/endpoints.rs:531:11 [INFO] [stdout] | [INFO] [stdout] 531 | State(service_register): State, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service_register` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_file_path` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:247:39 [INFO] [stdout] | [INFO] [stdout] 247 | SegmentEvent::Start { next_file_path } => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `next_file_path: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling scarecrow-cli v1.1.28 (/opt/rustwide/workdir/crates/scarecrow-cli) [INFO] [stdout] warning: value captured by `prev_file_path` is never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | prev_file_path = Some(file_path); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: did you mean to capture by reference instead? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling scarecrow-core v0.2.4 (/opt/rustwide/workdir/crates/scarecrow-core) [INFO] [stdout] warning: value assigned to `prev_file_path` is never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | prev_file_path = Some(file_path); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_file_path` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let mut prev_file_path = None::; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `url` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/streamlink.rs:177:34 [INFO] [stdout] | [INFO] [stdout] 177 | StreamOutput::Http { url, process } => process, [INFO] [stdout] | ^^^ help: try ignoring the field: `url: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_name` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader.rs:184:23 [INFO] [stdout] | [INFO] [stdout] 184 | fn rolling(&self, file_name: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `room_title` [INFO] [stdout] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:169:29 [INFO] [stdout] | [INFO] [stdout] 169 | fn should_record(&self, room_title: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_title` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GqlResponse` is more private than the item `TwitchUtils::post_gql` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:298:5 [INFO] [stdout] | [INFO] [stdout] 298 | pub async fn post_gql(ops: T) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `TwitchUtils::post_gql` is reachable at visibility `pub(in crate::server::core::plugin)` [INFO] [stdout] | [INFO] [stdout] note: but type `GqlResponse` is only usable at visibility `pub(self)` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:1 [INFO] [stdout] | [INFO] [stdout] 85 | struct GqlResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GqlResponse` is more private than the item `TwitchUtils::post_gql_batch` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:349:5 [INFO] [stdout] | [INFO] [stdout] 349 | pub async fn post_gql_batch(ops: Vec) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `TwitchUtils::post_gql_batch` is reachable at visibility `pub(in crate::server::core::plugin)` [INFO] [stdout] | [INFO] [stdout] note: but type `GqlResponse` is only usable at visibility `pub(self)` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:1 [INFO] [stdout] | [INFO] [stdout] 85 | struct GqlResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_latest_log_path` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/api/ws.rs:218:10 [INFO] [stdout] | [INFO] [stdout] 218 | async fn resolve_latest_log_path( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `download_semaphore` and `update_semaphore` are never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/download_manager.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DownloadManager { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | download_semaphore: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | /// 上传信号量数量 [INFO] [stdout] 22 | update_semaphore: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `streamlink_downloader` and `process_handle` are never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/streamlink.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Streamlink { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 25 | streamlink_downloader: StreamlinkDownloader, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | /// 进程句柄 [INFO] [stdout] 27 | process_handle: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Backend` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Backend { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DownloadConfig` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct DownloadConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `YouTubeDownloader` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct YouTubeDownloader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `download`, `run_ytdlp`, `run_ytarchive`, `move_dir_contents`, and `spawn_cover_download` are never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 100 | impl YouTubeDownloader { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 101 | pub fn new(cfg: DownloadConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub async fn download(&self) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | async fn run_ytdlp(&self) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 257 | async fn run_ytarchive(&self) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | async fn move_dir_contents(&self, from: &Path, to: &Path) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 383 | fn spawn_cover_download(&self) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GetPlatform` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:349:5 [INFO] [stdout] | [INFO] [stdout] 321 | enum ActorMessage { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 349 | GetPlatform { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLIENT_ID` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const CLIENT_ID: &str = "kimne78kx3ncx6brgo4mv6wki5h1ko"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Twitch` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Twitch { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Twitch { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 31 | fn new() -> Twitch { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GqlResponse` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | struct GqlResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GqlData` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | struct GqlData { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserData` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | struct UserData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamData` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | struct StreamData { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackAccessToken` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | struct PlaybackAccessToken { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TwitchDownloader` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 119 | pub struct TwitchDownloader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `acheck_stream`, `abatch_check`, `danmaku_init`, and `gen_download_filename` are never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 128 | impl TwitchDownloader { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 129 | pub fn new(name: &str, url: String, re: Regex) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn acheck_stream(&self) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub async fn abatch_check(&self, check_urls: Vec) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn danmaku_init(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | fn gen_download_filename(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TwitchUtils` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:284:12 [INFO] [stdout] | [INFO] [stdout] 284 | pub struct TwitchUtils { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `get_auth_token`, `invalid_auth_token`, `post_gql`, `post_gql_batch`, and `post_gql_chunk` are never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 288 | impl TwitchUtils { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 289 | pub fn get_auth_token() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub async fn invalid_auth_token() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub async fn post_gql(ops: T) -> AppResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 349 | pub async fn post_gql_batch(ops: Vec) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | async fn post_gql_chunk(ops: &[Value]) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `extension` is never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Context { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | extension: Extensions, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Context` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `should_record` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 144 | impl Worker { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 169 | fn should_record(&self, room_title: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling stream-gears v1.1.28 (/opt/rustwide/workdir/crates/stream-gears) [INFO] [stdout] warning: type `ConfigState` is more private than the item `config_bindings` [INFO] [stdout] --> crates/stream-gears/src/server.rs:368:1 [INFO] [stdout] | [INFO] [stdout] 368 | pub fn config_bindings() -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `config_bindings` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ConfigState` is only usable at visibility `pub(self)` [INFO] [stdout] --> crates/stream-gears/src/server.rs:318:1 [INFO] [stdout] | [INFO] [stdout] 318 | struct ConfigState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tower_sessions::cookie::Key` [INFO] [stdout] --> crates/scarecrow-cli/src/server/app.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use tower_sessions::cookie::Key; [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::server::config::default_segment_time` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::server::config::default_segment_time; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DownloadConfig` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | DanmakuClient, DownloadConfig, DownloadStatus, DownloaderRuntime, DownloaderType, SegmentEvent, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `bail` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | use error_stack::{ResultExt, bail}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderMap`, `HeaderValue`, and `USER_AGENT` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:16:23 [INFO] [stdout] | [INFO] [stdout] 16 | use reqwest::header::{HeaderMap, HeaderValue, USER_AGENT}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:18:17 [INFO] [stdout] | [INFO] [stdout] 18 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Worker` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/upload.rs:6:62 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::server::infrastructure::context::{Context, Stage, Worker, WorkerStatus}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/cover_downloader.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/cover_downloader.rs:10:40 [INFO] [stdout] | [INFO] [stdout] 10 | use tracing::{error, info, instrument, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::server::common::util::Recorder` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::server::common::util::Recorder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:5:46 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::server::infrastructure::context::{Context, PluginContext, Stage, Worker, WorkerStatus}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:8:46 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::server::infrastructure::context::{Context, PluginContext}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cover_downloader` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:4:55 [INFO] [stdout] | [INFO] [stdout] 4 | DanmakuClient, DownloaderRuntime, DownloaderType, cover_downloader, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Context` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:7:46 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::server::infrastructure::context::{Context, PluginContext}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `axum::http::header::USER_AGENT` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use axum::http::header::USER_AGENT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HeaderMap` and `HeaderValue` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | use axum::http::{HeaderMap, HeaderValue}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use std::fs; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::PathBuf` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::path::PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `info` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | use tracing::{error, info}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tracing::log::error` [INFO] [stdout] --> crates/scarecrow-cli/src/server/errors.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use tracing::log::error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> crates/scarecrow-cli/src/upload_lock.rs:9:17 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::{Path, PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ConfigState` is more private than the item `config_bindings` [INFO] [stdout] --> crates/stream-gears/src/server.rs:368:1 [INFO] [stdout] | [INFO] [stdout] 368 | pub fn config_bindings() -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `config_bindings` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ConfigState` is only usable at visibility `pub(self)` [INFO] [stdout] --> crates/stream-gears/src/server.rs:318:1 [INFO] [stdout] | [INFO] [stdout] 318 | struct ConfigState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:90:41 [INFO] [stdout] | [INFO] [stdout] 90 | Ok(StreamStatus::Live { mut stream_info }) => { [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `platform` [INFO] [stdout] --> crates/scarecrow-cli/src/server/api/endpoints.rs:472:9 [INFO] [stdout] | [INFO] [stdout] 472 | let platform = info.platform.as_deref().unwrap_or("bilibili"); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `service_register` [INFO] [stdout] --> crates/scarecrow-cli/src/server/api/endpoints.rs:531:11 [INFO] [stdout] | [INFO] [stdout] 531 | State(service_register): State, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service_register` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `next_file_path` [INFO] [stdout] --> crates/scarecrow-cli/src/server/common/download.rs:247:39 [INFO] [stdout] | [INFO] [stdout] 247 | SegmentEvent::Start { next_file_path } => { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `next_file_path: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value captured by `prev_file_path` is never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | prev_file_path = Some(file_path); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: did you mean to capture by reference instead? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `prev_file_path` is never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:87:17 [INFO] [stdout] | [INFO] [stdout] 87 | prev_file_path = Some(file_path); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_file_path` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let mut prev_file_path = None::; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `patch` [INFO] [stdout] --> crates/scarecrow-cli/src/server/config.rs:289:13 [INFO] [stdout] | [INFO] [stdout] 289 | let patch = r#"{"maybe_name": "Alice"}"#; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_patch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `url` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/streamlink.rs:177:34 [INFO] [stdout] | [INFO] [stdout] 177 | StreamOutput::Http { url, process } => process, [INFO] [stdout] | ^^^ help: try ignoring the field: `url: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_name` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader.rs:184:23 [INFO] [stdout] | [INFO] [stdout] 184 | fn rolling(&self, file_name: &str) -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `room_title` [INFO] [stdout] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:169:29 [INFO] [stdout] | [INFO] [stdout] 169 | fn should_record(&self, room_title: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_title` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GqlResponse` is more private than the item `TwitchUtils::post_gql` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:298:5 [INFO] [stdout] | [INFO] [stdout] 298 | pub async fn post_gql(ops: T) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `TwitchUtils::post_gql` is reachable at visibility `pub(in crate::server::core::plugin)` [INFO] [stdout] | [INFO] [stdout] note: but type `GqlResponse` is only usable at visibility `pub(self)` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:1 [INFO] [stdout] | [INFO] [stdout] 85 | struct GqlResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `GqlResponse` is more private than the item `TwitchUtils::post_gql_batch` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:349:5 [INFO] [stdout] | [INFO] [stdout] 349 | pub async fn post_gql_batch(ops: Vec) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `TwitchUtils::post_gql_batch` is reachable at visibility `pub(in crate::server::core::plugin)` [INFO] [stdout] | [INFO] [stdout] note: but type `GqlResponse` is only usable at visibility `pub(self)` [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:1 [INFO] [stdout] | [INFO] [stdout] 85 | struct GqlResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_latest_log_path` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/api/ws.rs:218:10 [INFO] [stdout] | [INFO] [stdout] 218 | async fn resolve_latest_log_path( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `download_semaphore` and `update_semaphore` are never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/download_manager.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct DownloadManager { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 20 | download_semaphore: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 21 | /// 上传信号量数量 [INFO] [stdout] 22 | update_semaphore: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `streamlink_downloader` and `process_handle` are never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/streamlink.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct Streamlink { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 25 | streamlink_downloader: StreamlinkDownloader, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | /// 进程句柄 [INFO] [stdout] 27 | process_handle: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Backend` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:11:10 [INFO] [stdout] | [INFO] [stdout] 11 | pub enum Backend { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DownloadConfig` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct DownloadConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `YouTubeDownloader` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct YouTubeDownloader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `download`, `run_ytdlp`, `run_ytarchive`, `move_dir_contents`, and `spawn_cover_download` are never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 100 | impl YouTubeDownloader { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 101 | pub fn new(cfg: DownloadConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub async fn download(&self) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | async fn run_ytdlp(&self) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 257 | async fn run_ytarchive(&self) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | async fn move_dir_contents(&self, from: &Path, to: &Path) -> AppResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 383 | fn spawn_cover_download(&self) -> Option>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GetPlatform` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/monitor.rs:349:5 [INFO] [stdout] | [INFO] [stdout] 321 | enum ActorMessage { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 349 | GetPlatform { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLIENT_ID` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const CLIENT_ID: &str = "kimne78kx3ncx6brgo4mv6wki5h1ko"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Twitch` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Twitch { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 30 | impl Twitch { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 31 | fn new() -> Twitch { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GqlResponse` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | struct GqlResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GqlData` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | struct GqlData { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserData` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | struct UserData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamData` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | struct StreamData { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackAccessToken` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | struct PlaybackAccessToken { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TwitchDownloader` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 119 | pub struct TwitchDownloader { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `acheck_stream`, `abatch_check`, `danmaku_init`, and `gen_download_filename` are never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 128 | impl TwitchDownloader { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 129 | pub fn new(name: &str, url: String, re: Regex) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub async fn acheck_stream(&self) -> AppResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub async fn abatch_check(&self, check_urls: Vec) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn danmaku_init(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | fn gen_download_filename(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TwitchUtils` is never constructed [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:284:12 [INFO] [stdout] | [INFO] [stdout] 284 | pub struct TwitchUtils { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `get_auth_token`, `invalid_auth_token`, `post_gql`, `post_gql_batch`, and `post_gql_chunk` are never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 288 | impl TwitchUtils { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 289 | pub fn get_auth_token() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub async fn invalid_auth_token() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub async fn post_gql(ops: T) -> AppResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 349 | pub async fn post_gql_batch(ops: Vec) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 363 | async fn post_gql_chunk(ops: &[Value]) -> AppResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `extension` is never read [INFO] [stdout] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Context { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | extension: Extensions, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Context` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `should_record` is never used [INFO] [stdout] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 144 | impl Worker { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 169 | fn should_record(&self, room_title: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 54.27s [INFO] running `Command { std: "docker" "inspect" "3073b7d6fe1ce76c3e667a6662f444949452b656b94bad7cc08470e95d9fcb8a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3073b7d6fe1ce76c3e667a6662f444949452b656b94bad7cc08470e95d9fcb8a", kill_on_drop: false }` [INFO] [stdout] 3073b7d6fe1ce76c3e667a6662f444949452b656b94bad7cc08470e95d9fcb8a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3db5d902e548b7ff1de2fc5688e43acb4c766d2ef70bda37522b16f9a63add64 [INFO] running `Command { std: "docker" "start" "-a" "3db5d902e548b7ff1de2fc5688e43acb4c766d2ef70bda37522b16f9a63add64", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `tower_sessions::cookie::Key` [INFO] [stderr] --> crates/scarecrow-cli/src/server/app.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | use tower_sessions::cookie::Key; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::server::config::default_segment_time` [INFO] [stderr] --> crates/scarecrow-cli/src/server/common/download.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::server::config::default_segment_time; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `DownloadConfig` [INFO] [stderr] --> crates/scarecrow-cli/src/server/common/download.rs:6:20 [INFO] [stderr] | [INFO] [stderr] 6 | DanmakuClient, DownloadConfig, DownloadStatus, DownloaderRuntime, DownloaderType, SegmentEvent, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bail` [INFO] [stderr] --> crates/scarecrow-cli/src/server/common/download.rs:15:30 [INFO] [stderr] | [INFO] [stderr] 15 | use error_stack::{ResultExt, bail}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HeaderMap`, `HeaderValue`, and `USER_AGENT` [INFO] [stderr] --> crates/scarecrow-cli/src/server/common/download.rs:16:23 [INFO] [stderr] | [INFO] [stderr] 16 | use reqwest::header::{HeaderMap, HeaderValue, USER_AGENT}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> crates/scarecrow-cli/src/server/common/download.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PathBuf` and `Path` [INFO] [stderr] --> crates/scarecrow-cli/src/server/common/download.rs:18:17 [INFO] [stderr] | [INFO] [stderr] 18 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Worker` [INFO] [stderr] --> crates/scarecrow-cli/src/server/common/upload.rs:6:62 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::server::infrastructure::context::{Context, Stage, Worker, WorkerStatus}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::time::Duration` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader/cover_downloader.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::time::Duration; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `warn` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader/cover_downloader.rs:10:40 [INFO] [stderr] | [INFO] [stderr] 10 | use tracing::{error, info, instrument, warn}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::server::common::util::Recorder` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/monitor.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::server::common::util::Recorder; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Context` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/monitor.rs:5:46 [INFO] [stderr] | [INFO] [stderr] 5 | use crate::server::infrastructure::context::{Context, PluginContext, Stage, Worker, WorkerStatus}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Context` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:8:46 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::server::infrastructure::context::{Context, PluginContext}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `cover_downloader` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin.rs:4:55 [INFO] [stderr] | [INFO] [stderr] 4 | DanmakuClient, DownloaderRuntime, DownloaderType, cover_downloader, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Context` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin.rs:7:46 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::server::infrastructure::context::{Context, PluginContext}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `axum::http::header::USER_AGENT` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use axum::http::header::USER_AGENT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HeaderMap` and `HeaderValue` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | use axum::http::{HeaderMap, HeaderValue}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::PathBuf` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::path::PathBuf; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `error` and `info` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin.rs:18:15 [INFO] [stderr] | [INFO] [stderr] 18 | use tracing::{error, info}; [INFO] [stderr] | ^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `tracing::log::error` [INFO] [stderr] --> crates/scarecrow-cli/src/server/errors.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use tracing::log::error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> crates/scarecrow-cli/src/upload_lock.rs:9:17 [INFO] [stderr] | [INFO] [stderr] 9 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/monitor.rs:90:41 [INFO] [stderr] | [INFO] [stderr] 90 | Ok(StreamStatus::Live { mut stream_info }) => { [INFO] [stderr] | ----^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `platform` [INFO] [stderr] --> crates/scarecrow-cli/src/server/api/endpoints.rs:472:9 [INFO] [stderr] | [INFO] [stderr] 472 | let platform = info.platform.as_deref().unwrap_or("bilibili"); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `service_register` [INFO] [stderr] --> crates/scarecrow-cli/src/server/api/endpoints.rs:531:11 [INFO] [stderr] | [INFO] [stderr] 531 | State(service_register): State, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service_register` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `next_file_path` [INFO] [stderr] --> crates/scarecrow-cli/src/server/common/download.rs:247:39 [INFO] [stderr] | [INFO] [stderr] 247 | SegmentEvent::Start { next_file_path } => { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try ignoring the field: `next_file_path: _` [INFO] [stderr] [INFO] [stderr] warning: value captured by `prev_file_path` is never read [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:87:17 [INFO] [stderr] | [INFO] [stderr] 87 | prev_file_path = Some(file_path); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: did you mean to capture by reference instead? [INFO] [stderr] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `prev_file_path` is never read [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:87:17 [INFO] [stderr] | [INFO] [stderr] 87 | prev_file_path = Some(file_path); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `prev_file_path` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader/stream_gears.rs:75:17 [INFO] [stderr] | [INFO] [stderr] 75 | let mut prev_file_path = None::; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_file_path` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `url` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader/streamlink.rs:177:34 [INFO] [stderr] | [INFO] [stderr] 177 | StreamOutput::Http { url, process } => process, [INFO] [stderr] | ^^^ help: try ignoring the field: `url: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `file_name` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader.rs:184:23 [INFO] [stderr] | [INFO] [stderr] 184 | fn rolling(&self, file_name: &str) -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `room_title` [INFO] [stderr] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:169:29 [INFO] [stderr] | [INFO] [stderr] 169 | fn should_record(&self, room_title: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_title` [INFO] [stderr] [INFO] [stderr] warning: type `GqlResponse` is more private than the item `TwitchUtils::post_gql` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:298:5 [INFO] [stderr] | [INFO] [stderr] 298 | pub async fn post_gql(ops: T) -> AppResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `TwitchUtils::post_gql` is reachable at visibility `pub(in crate::server::core::plugin)` [INFO] [stderr] | [INFO] [stderr] note: but type `GqlResponse` is only usable at visibility `pub(self)` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:1 [INFO] [stderr] | [INFO] [stderr] 85 | struct GqlResponse { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(private_interfaces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: type `GqlResponse` is more private than the item `TwitchUtils::post_gql_batch` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:349:5 [INFO] [stderr] | [INFO] [stderr] 349 | pub async fn post_gql_batch(ops: Vec) -> AppResult> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `TwitchUtils::post_gql_batch` is reachable at visibility `pub(in crate::server::core::plugin)` [INFO] [stderr] | [INFO] [stderr] note: but type `GqlResponse` is only usable at visibility `pub(self)` [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:1 [INFO] [stderr] | [INFO] [stderr] 85 | struct GqlResponse { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `resolve_latest_log_path` is never used [INFO] [stderr] --> crates/scarecrow-cli/src/server/api/ws.rs:218:10 [INFO] [stderr] | [INFO] [stderr] 218 | async fn resolve_latest_log_path( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `download_semaphore` and `update_semaphore` are never read [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/download_manager.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub struct DownloadManager { [INFO] [stderr] | --------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 20 | download_semaphore: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 21 | /// 上传信号量数量 [INFO] [stderr] 22 | update_semaphore: u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `streamlink_downloader` and `process_handle` are never read [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader/streamlink.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 24 | pub struct Streamlink { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] 25 | streamlink_downloader: StreamlinkDownloader, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 26 | /// 进程句柄 [INFO] [stderr] 27 | process_handle: Arc>>, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Backend` is never used [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:11:10 [INFO] [stderr] | [INFO] [stderr] 11 | pub enum Backend { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `DownloadConfig` is never constructed [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:17:12 [INFO] [stderr] | [INFO] [stderr] 17 | pub struct DownloadConfig { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `YouTubeDownloader` is never constructed [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:96:12 [INFO] [stderr] | [INFO] [stderr] 96 | pub struct YouTubeDownloader { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `download`, `run_ytdlp`, `run_ytarchive`, `move_dir_contents`, and `spawn_cover_download` are never used [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/downloader/ytdlp.rs:101:12 [INFO] [stderr] | [INFO] [stderr] 100 | impl YouTubeDownloader { [INFO] [stderr] | ---------------------- associated items in this implementation [INFO] [stderr] 101 | pub fn new(cfg: DownloadConfig) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 105 | pub async fn download(&self) -> AppResult<()> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 132 | async fn run_ytdlp(&self) -> AppResult<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 257 | async fn run_ytarchive(&self) -> AppResult<()> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 340 | async fn move_dir_contents(&self, from: &Path, to: &Path) -> AppResult<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 383 | fn spawn_cover_download(&self) -> Option>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `GetPlatform` is never constructed [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/monitor.rs:349:5 [INFO] [stderr] | [INFO] [stderr] 321 | enum ActorMessage { [INFO] [stderr] | ------------ variant in this enum [INFO] [stderr] ... [INFO] [stderr] 349 | GetPlatform { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CLIENT_ID` is never used [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:24:7 [INFO] [stderr] | [INFO] [stderr] 24 | const CLIENT_ID: &str = "kimne78kx3ncx6brgo4mv6wki5h1ko"; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Twitch` is never constructed [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 26 | pub struct Twitch { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:31:8 [INFO] [stderr] | [INFO] [stderr] 30 | impl Twitch { [INFO] [stderr] | ----------- associated function in this implementation [INFO] [stderr] 31 | fn new() -> Twitch { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `GqlResponse` is never constructed [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:85:8 [INFO] [stderr] | [INFO] [stderr] 85 | struct GqlResponse { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `GqlData` is never constructed [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:91:8 [INFO] [stderr] | [INFO] [stderr] 91 | struct GqlData { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `UserData` is never constructed [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:96:8 [INFO] [stderr] | [INFO] [stderr] 96 | struct UserData { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `StreamData` is never constructed [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:101:8 [INFO] [stderr] | [INFO] [stderr] 101 | struct StreamData { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `PlaybackAccessToken` is never constructed [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:113:8 [INFO] [stderr] | [INFO] [stderr] 113 | struct PlaybackAccessToken { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `TwitchDownloader` is never constructed [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:119:12 [INFO] [stderr] | [INFO] [stderr] 119 | pub struct TwitchDownloader { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `acheck_stream`, `abatch_check`, `danmaku_init`, and `gen_download_filename` are never used [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:129:12 [INFO] [stderr] | [INFO] [stderr] 128 | impl TwitchDownloader { [INFO] [stderr] | --------------------- associated items in this implementation [INFO] [stderr] 129 | pub fn new(name: &str, url: String, re: Regex) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 140 | pub async fn acheck_stream(&self) -> AppResult { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 231 | pub async fn abatch_check(&self, check_urls: Vec) -> AppResult> { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 272 | pub fn danmaku_init(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 278 | fn gen_download_filename(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `TwitchUtils` is never constructed [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:284:12 [INFO] [stderr] | [INFO] [stderr] 284 | pub struct TwitchUtils { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated functions `get_auth_token`, `invalid_auth_token`, `post_gql`, `post_gql_batch`, and `post_gql_chunk` are never used [INFO] [stderr] --> crates/scarecrow-cli/src/server/core/plugin/twitch.rs:289:12 [INFO] [stderr] | [INFO] [stderr] 288 | impl TwitchUtils { [INFO] [stderr] | ---------------- associated functions in this implementation [INFO] [stderr] 289 | pub fn get_auth_token() -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 294 | pub async fn invalid_auth_token() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 298 | pub async fn post_gql(ops: T) -> AppResult { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 349 | pub async fn post_gql_batch(ops: Vec) -> AppResult> { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 363 | async fn post_gql_chunk(ops: &[Value]) -> AppResult> { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `extension` is never read [INFO] [stderr] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub struct Context { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 26 | extension: Extensions, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Context` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `should_record` is never used [INFO] [stderr] --> crates/scarecrow-cli/src/server/infrastructure/context.rs:169:8 [INFO] [stderr] | [INFO] [stderr] 144 | impl Worker { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 169 | fn should_record(&self, room_title: &str) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `scarecrow-cli` (lib) generated 56 warnings (run `cargo fix --lib -p scarecrow-cli` to apply 30 suggestions) [INFO] [stderr] warning: unused variable: `patch` [INFO] [stderr] --> crates/scarecrow-cli/src/server/config.rs:289:13 [INFO] [stderr] | [INFO] [stderr] 289 | let patch = r#"{"maybe_name": "Alice"}"#; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_patch` [INFO] [stderr] [INFO] [stderr] warning: `scarecrow-cli` (lib test) generated 57 warnings (56 duplicates) (run `cargo fix --lib -p scarecrow-cli --tests` to apply 1 suggestion) [INFO] [stderr] warning: type `ConfigState` is more private than the item `config_bindings` [INFO] [stderr] --> crates/stream-gears/src/server.rs:368:1 [INFO] [stderr] | [INFO] [stderr] 368 | pub fn config_bindings() -> PyResult { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `config_bindings` is reachable at visibility `pub(crate)` [INFO] [stderr] | [INFO] [stderr] note: but type `ConfigState` is only usable at visibility `pub(self)` [INFO] [stderr] --> crates/stream-gears/src/server.rs:318:1 [INFO] [stderr] | [INFO] [stderr] 318 | struct ConfigState { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(private_interfaces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `stream-gears` (lib) generated 1 warning [INFO] [stderr] warning: `stream-gears` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.93s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/scarecrow_cli-c6e747a7ee9527bf) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test server::common::util::tests::it_works ... ok [INFO] [stdout] test upload_lock::tests::test_lock_acquire_and_release ... ok [INFO] [stdout] test server::config::tests::test_field_with_value ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- server::config::tests::test_field_with_value stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'server::config::tests::test_field_with_value' (17) panicked at crates/scarecrow-cli/src/server/config.rs:301:9: [INFO] [stdout] assertion `left == right` failed: 普通Option正常包裹一层 [INFO] [stdout] left: Config { downloader: None, file_size: 2621440000, segment_time: Some("02:00:00"), filtering_threshold: 20, filename_prefix: None, segment_processor_parallel: None, uploader: None, submit_api: None, lines: "AUTO", threads: 3, delay: 300, event_loop_interval: 30, checker_sleep: 10, pool1_size: 5, pool2_size: 3, use_live_cover: None, twitch_danmaku: None, twitch_disable_ads: None, streamers: {}, user: None, loggers_level: None } [INFO] [stdout] right: Config { downloader: None, file_size: 2621440000, segment_time: None, filtering_threshold: 20, filename_prefix: None, segment_processor_parallel: None, uploader: None, submit_api: None, lines: "AUTO", threads: 3, delay: 300, event_loop_interval: 30, checker_sleep: 10, pool1_size: 5, pool2_size: 3, use_live_cover: None, twitch_danmaku: None, twitch_disable_ads: None, streamers: {}, user: None, loggers_level: None } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x617b29e083da - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x617b29e083da - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x617b29e083da - std[128c3efe2914e152]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x617b29e083da - <::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x617b29e1d6da - ::fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x617b29e1d6da - core[6771d259883166e6]::fmt::write [INFO] [stdout] 6: 0x617b29e0cc52 - std[128c3efe2914e152]::io::default_write_fmt::> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11 [INFO] [stdout] 7: 0x617b29e0cc52 - as std[128c3efe2914e152]::io::Write>::write_fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13 [INFO] [stdout] 8: 0x617b29de656f - ::print [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x617b29de656f - std[128c3efe2914e152]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x617b29e00609 - std[128c3efe2914e152]::panicking::default_hook [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x617b29cdae7c - core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9 [INFO] [stdout] 12: 0x617b29cdae7c - test[b137923399915ecf]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x617b29e007c2 - core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9 [INFO] [stdout] 14: 0x617b29e007c2 - std[128c3efe2914e152]::panicking::panic_with_hook [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x617b29de6628 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x617b29ddb759 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x617b29de733d - __rustc[752cc74e29381ccc]::rust_begin_unwind [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x617b29e1decc - core[6771d259883166e6]::panicking::panic_fmt [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x617b29e1ddb3 - core[6771d259883166e6]::panicking::assert_failed_inner [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:434:23 [INFO] [stdout] 20: 0x617b29ca78f1 - core::panicking::assert_failed::h5ad19b133d340727 [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x617b29ca9d66 - scarecrow_cli::server::config::tests::test_field_with_value::h58e4fcdb02ba7257 [INFO] [stdout] at /opt/rustwide/workdir/crates/scarecrow-cli/src/server/config.rs:301:9 [INFO] [stdout] 22: 0x617b29ca9dd7 - scarecrow_cli::server::config::tests::test_field_with_value::{{closure}}::h706f62ba0a28fe43 [INFO] [stdout] at /opt/rustwide/workdir/crates/scarecrow-cli/src/server/config.rs:286:31 [INFO] [stdout] 23: 0x617b29c886b6 - core::ops::function::FnOnce::call_once::h15edbacfde1d4cc7 [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x617b29ccef7b - core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x617b29ccef7b - test[b137923399915ecf]::__rust_begin_short_backtrace::, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x617b29cdb94b - test[b137923399915ecf]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x617b29cdb94b - as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x617b29cdb94b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x617b29cdb94b - std[128c3efe2914e152]::panicking::catch_unwind::, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x617b29cdb94b - std[128c3efe2914e152]::panic::catch_unwind::, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x617b29cdb94b - test[b137923399915ecf]::run_test_in_process [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x617b29cdb94b - test[b137923399915ecf]::run_test::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x617b29cd5da4 - test[b137923399915ecf]::run_test::{closure#1} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x617b29cd5da4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x617b29cde552 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x617b29cde552 - ::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x617b29cde552 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x617b29cde552 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x617b29cde552 - std[128c3efe2914e152]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x617b29cde552 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x617b29cde552 - ::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x617b29e07cbf - + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9 [INFO] [stdout] 43: 0x617b29e07cbf - ::new::thread_start [INFO] [stdout] at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x75f04a1c2aa4 - [INFO] [stdout] 45: 0x75f04a24fa64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] server::config::tests::test_field_with_value [INFO] [stdout] [INFO] [stdout] test result: FAILED. 2 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `-p scarecrow-cli --lib` [INFO] running `Command { std: "docker" "inspect" "3db5d902e548b7ff1de2fc5688e43acb4c766d2ef70bda37522b16f9a63add64", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3db5d902e548b7ff1de2fc5688e43acb4c766d2ef70bda37522b16f9a63add64", kill_on_drop: false }` [INFO] [stdout] 3db5d902e548b7ff1de2fc5688e43acb4c766d2ef70bda37522b16f9a63add64