[INFO] cloning repository https://github.com/boul2gom/yt-dlp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/boul2gom/yt-dlp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fboul2gom%2Fyt-dlp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fboul2gom%2Fyt-dlp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1e7ed28233fb57940bdab8d6136a98931492c03f
[INFO] testing boul2gom/yt-dlp against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fboul2gom%2Fyt-dlp" "/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/boul2gom/yt-dlp
[INFO] finished tweaking git repo https://github.com/boul2gom/yt-dlp
[INFO] tweaked toml for git repo https://github.com/boul2gom/yt-dlp written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/boul2gom/yt-dlp on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 341 packages to latest Rust 1.94.0-nightly compatible versions
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding reqwest v0.12.28 (available: v0.13.1)
[INFO] [stderr]       Adding zip v6.0.0 (available: v7.0.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_json v1.0.149
[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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0959698cde668d2327134fc2e971454ff4f5ed9afdf7784ced1a7806d04eb880
[INFO] running `Command { std: "docker" "start" "-a" "0959698cde668d2327134fc2e971454ff4f5ed9afdf7784ced1a7806d04eb880", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0959698cde668d2327134fc2e971454ff4f5ed9afdf7784ced1a7806d04eb880", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0959698cde668d2327134fc2e971454ff4f5ed9afdf7784ced1a7806d04eb880", kill_on_drop: false }`
[INFO] [stdout] 0959698cde668d2327134fc2e971454ff4f5ed9afdf7784ced1a7806d04eb880
[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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 39eb178c947d11471ab686a9124408cd139f8e7492558b8c0f0c359b07641199
[INFO] running `Command { std: "docker" "start" "-a" "39eb178c947d11471ab686a9124408cd139f8e7492558b8c0f0c359b07641199", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.179
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]    Compiling syn v2.0.113
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling zlib-rs v0.5.5
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling lzma-sys v0.1.20
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling inout v0.1.4
[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 displaydoc v0.2.5
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[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 tracing v0.1.44
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling libz-rs-sys v0.5.5
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling libbz2-rs-sys v0.2.2
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling bzip2 v0.6.1
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling serde_with_macros v3.16.1
[INFO] [stderr]    Compiling rustls-pki-types v1.13.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling lzma-rust2 v0.13.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling deflate64 v0.1.10
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling ppmd-rust v1.3.0
[INFO] [stderr]    Compiling id3 v1.16.3
[INFO] [stderr]    Compiling serde_with v3.16.1
[INFO] [stderr]    Compiling sqlx v0.8.6
[INFO] [stderr]    Compiling zip v6.0.0
[INFO] [stderr]    Compiling tar v0.4.44
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling xz2 v0.1.7
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling ordered-float v5.1.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling mp4ameta v0.13.0
[INFO] [stderr]    Compiling yt-dlp v1.4.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 50s
[INFO] running `Command { std: "docker" "inspect" "39eb178c947d11471ab686a9124408cd139f8e7492558b8c0f0c359b07641199", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39eb178c947d11471ab686a9124408cd139f8e7492558b8c0f0c359b07641199", kill_on_drop: false }`
[INFO] [stdout] 39eb178c947d11471ab686a9124408cd139f8e7492558b8c0f0c359b07641199
[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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8a2d2d80487c043cc87a35799a5c07b5401030f7662dbd091447caaca58e4d72
[INFO] running `Command { std: "docker" "start" "-a" "8a2d2d80487c043cc87a35799a5c07b5401030f7662dbd091447caaca58e4d72", kill_on_drop: false }`
[INFO] [stderr]    Compiling yt-dlp v1.4.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 10.94s
[INFO] running `Command { std: "docker" "inspect" "8a2d2d80487c043cc87a35799a5c07b5401030f7662dbd091447caaca58e4d72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8a2d2d80487c043cc87a35799a5c07b5401030f7662dbd091447caaca58e4d72", kill_on_drop: false }`
[INFO] [stdout] 8a2d2d80487c043cc87a35799a5c07b5401030f7662dbd091447caaca58e4d72
[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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] fc6eddf257314221b6d8440f77a3ac03d44985bafce5f318c09c2463e3bff23e
[INFO] running `Command { std: "docker" "start" "-a" "fc6eddf257314221b6d8440f77a3ac03d44985bafce5f318c09c2463e3bff23e", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.54s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/yt_dlp-7a932f56218268d2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests yt_dlp
[INFO] [stdout] 
[INFO] [stdout] running 88 tests
[INFO] [stdout] test src/../README.md - (line 1104) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1009) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1041) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1073) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1340) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1307) ... FAILED
[INFO] [stdout] test src/../README.md - (line 126) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1267) ... FAILED
[INFO] [stdout] test src/../README.md - (line 111) ... FAILED
[INFO] [stdout] test src/../README.md - (line 156) ... FAILED
[INFO] [stdout] test src/../README.md - (line 178) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1490) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1154) ... FAILED
[INFO] [stdout] test src/../README.md - (line 201) ... FAILED
[INFO] [stdout] test src/../README.md - (line 256) ... FAILED
[INFO] [stdout] test src/../README.md - (line 233) ... FAILED
[INFO] [stdout] test src/../README.md - (line 310) ... FAILED
[INFO] [stdout] test src/../README.md - (line 279) ... FAILED
[INFO] [stdout] test src/../README.md - (line 341) ... FAILED
[INFO] [stdout] test src/../README.md - (line 364) ... FAILED
[INFO] [stdout] test src/../README.md - (line 410) ... FAILED
[INFO] [stdout] test src/../README.md - (line 451) ... FAILED
[INFO] [stdout] test src/../README.md - (line 530) ... FAILED
[INFO] [stdout] test src/../README.md - (line 686) ... FAILED
[INFO] [stdout] test src/../README.md - (line 647) ... FAILED
[INFO] [stdout] test src/../README.md - (line 608) ... FAILED
[INFO] [stdout] test src/../README.md - (line 727) ... FAILED
[INFO] [stdout] test src/../README.md - (line 778) ... FAILED
[INFO] [stdout] test src/../README.md - (line 811) ... FAILED
[INFO] [stdout] test src/../README.md - (line 841) ... FAILED
[INFO] [stdout] test src/../README.md - (line 871) ... FAILED
[INFO] [stdout] test src/../README.md - (line 916) ... FAILED
[INFO] [stdout] test src/../README.md - (line 971) ... FAILED
[INFO] [stdout] test src/client/builder.rs - client::builder::YoutubeBuilder (line 20) - compile ... FAILED
[INFO] [stdout] test src/client/deps/ffmpeg.rs - client::deps::ffmpeg::BuildFetcher (line 51) - compile ... FAILED
[INFO] [stdout] test src/client/builder.rs - client::builder::YoutubeBuilder::with_speed_profile (line 152) - compile ... FAILED
[INFO] [stdout] test src/client/deps/mod.rs - client::deps::Libraries (line 44) - compile ... FAILED
[INFO] [stdout] test src/client/deps/youtube.rs - client::deps::youtube::GitHubFetcher (line 17) - compile ... FAILED
[INFO] [stdout] test src/client/deps/mod.rs - client::deps::LibraryInstaller (line 21) - compile ... FAILED
[INFO] [stdout] test src/client/proxy.rs - client::proxy::ProxyConfig (line 12) - compile ... ok
[INFO] [stdout] test src/client/streams.rs - client::streams::Youtube::download_audio_stream (line 413) - compile ... FAILED
[INFO] [stdout] test src/client/deps/mod.rs - client::deps::WantedRelease::download (line 245) - compile ... FAILED
[INFO] [stdout] test src/client/streams.rs - client::streams::Youtube::download_format (line 537) - compile ... FAILED
[INFO] [stdout] test src/client/streams.rs - client::streams::Youtube::download_video_from_url (line 113) - compile ... FAILED
[INFO] [stdout] test src/client/streams.rs - client::streams::Youtube::download_video (line 157) - compile ... FAILED
[INFO] [stdout] test src/client/streams.rs - client::streams::Youtube::download_audio_stream_from_url (line 369) - compile ... FAILED
[INFO] [stdout] test src/../README.md - (line 1203) ... FAILED
[INFO] [stdout] test src/../README.md - (line 141) ... FAILED
[INFO] [stdout] test src/client/streams.rs - client::streams::Youtube::download_video_stream (line 320) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube (line 51) - compile ... FAILED
[INFO] [stdout] test src/client/streams.rs - client::streams::Youtube::download_video_stream_from_url (line 275) - compile ... FAILED
[INFO] [stdout] test src/client/streams.rs - client::streams::Youtube::fetch_video_infos (line 32) - compile ... FAILED
[INFO] [stdout] test src/download/partial.rs - download::partial::PartialRange (line 12) - compile ... ok
[INFO] [stdout] test src/executor/mod.rs - executor::Executor (line 17) - compile ... ok
[INFO] [stdout] test src/../README.md - (line 1233) ... FAILED
[INFO] [stdout] test src/download/manager.rs - download::manager::DownloadManager::progress_stream (line 612) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::builder (line 127) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::download_audio_stream_with_quality (line 1250) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::download_video_with_quality (line 1038) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::combine_audio_and_video (line 523) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::download_video_stream_with_quality (line 1173) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::download_and_continue (line 1398) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::download (line 164) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::fetch (line 1368) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::new (line 206) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::update_downloader (line 475) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::with_arg (line 444) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::postprocess_video (line 1480) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::pipeline (line 1430) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::shutdown (line 1320) - compile ... ok
[INFO] [stdout] test src/lib.rs - Youtube::with_cache (line 722) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::with_args (line 381) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::with_download_cache (line 767) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::with_playlist_cache (line 812) - compile ... FAILED
[INFO] [stdout] test src/macros.rs - macros::ytdlp_args (line 100) ... ignored
[INFO] [stdout] test src/lib.rs - Youtube::with_timeout (line 412) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::with_new_binaries (line 328) - compile ... ok
[INFO] [stdout] test src/macros.rs - macros::install_libraries (line 122) - compile ... FAILED
[INFO] [stdout] test src/macros.rs - macros::download_video (line 36) - compile ... FAILED
[INFO] [stdout] test src/macros.rs - macros::download_audio (line 69) - compile ... FAILED
[INFO] [stdout] test src/macros.rs - macros::youtube (line 9) - compile ... FAILED
[INFO] [stdout] test src/utils/retry.rs - utils::retry::RetryPolicy::execute (line 137) - compile ... FAILED
[INFO] [stdout] test src/prelude.rs - prelude (line 8) ... ok
[INFO] [stdout] test src/utils/retry.rs - utils::retry::RetryPolicy (line 13) ... ok
[INFO] [stdout] test src/utils/validation.rs - utils::validation::validate_youtube_url (line 28) ... ok
[INFO] [stdout] test src/../README.md - (line 1456) ... FAILED
[INFO] [stdout] test src/utils/validation.rs - utils::validation::sanitize_path (line 94) ... ok
[INFO] [stdout] test src/utils/validation.rs - utils::validation::sanitize_filename (line 185) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/../README.md - (line 1104) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]     --> src/../README.md:1119:19
[INFO] [stdout]      |
[INFO] [stdout] 1119 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]      |
[INFO] [stdout] 1119 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]      |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/../README.md:1119:9
[INFO] [stdout]      |
[INFO] [stdout] 1119 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1122 |     let playlist = fetcher.fetch_playlist_infos(playlist_url).await?;
[INFO] [stdout]      |                    ------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1119 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/../README.md:1122:9
[INFO] [stdout]      |
[INFO] [stdout] 1122 |     let playlist = fetcher.fetch_playlist_infos(playlist_url).await?;
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1125 |     if playlist.is_complete() {
[INFO] [stdout]      |        -------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `playlist` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1122 |     let playlist: /* Type */ = fetcher.fetch_playlist_infos(playlist_url).await?;
[INFO] [stdout]      |                 ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 1009) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]     --> src/../README.md:1024:19
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]      |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/../README.md:1024:9
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1027 |     let playlist = fetcher.fetch_playlist_infos(playlist_url).await?;
[INFO] [stdout]      |                    ------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/../README.md:1031:9
[INFO] [stdout]      |
[INFO] [stdout] 1031 |     let video_paths = fetcher
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1035 |     println!("Downloaded {} videos", video_paths.len());
[INFO] [stdout]      |                                      ----------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `video_paths` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1031 |     let video_paths: /* Type */ = fetcher
[INFO] [stdout]      |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 1041) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]     --> src/../README.md:1056:19
[INFO] [stdout]      |
[INFO] [stdout] 1056 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]      |
[INFO] [stdout] 1056 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]      |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/../README.md:1056:9
[INFO] [stdout]      |
[INFO] [stdout] 1056 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1059 |     let playlist = fetcher.fetch_playlist_infos(playlist_url).await?;
[INFO] [stdout]      |                    ------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1056 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/../README.md:1063:9
[INFO] [stdout]      |
[INFO] [stdout] 1063 |     let video_paths = fetcher
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1067 |     println!("Downloaded {} specific videos", video_paths.len());
[INFO] [stdout]      |                                               ----------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `video_paths` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1063 |     let video_paths: /* Type */ = fetcher
[INFO] [stdout]      |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 1073) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]     --> src/../README.md:1088:19
[INFO] [stdout]      |
[INFO] [stdout] 1088 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]      |
[INFO] [stdout] 1088 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]      |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/../README.md:1088:9
[INFO] [stdout]      |
[INFO] [stdout] 1088 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1091 |     let playlist = fetcher.fetch_playlist_infos(playlist_url).await?;
[INFO] [stdout]      |                    ------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1088 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/../README.md:1094:9
[INFO] [stdout]      |
[INFO] [stdout] 1094 |     let video_paths = fetcher
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1098 |     println!("Downloaded {} videos from range", video_paths.len());
[INFO] [stdout]      |                                                 ----------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `video_paths` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1094 |     let video_paths: /* Type */ = fetcher
[INFO] [stdout]      |                    ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 1340) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] Error: IO { operation: "File operation", path: None, source: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/../README.md - (line 1307) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] Error: IO { operation: "File operation", path: None, source: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/../README.md - (line 126) stdout ----
[INFO] [stdout] Test executable failed (exit status: 101).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] 
[INFO] [stdout] thread 'main' (184) panicked at src/../README.md:12:57:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: IO { operation: "File operation", path: None, source: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c6649a37132 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c6649a37132 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::trace_unsynchronized::<std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c6649a37132 - std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c6649a37132 - <<std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[585f66e14d78f9ba]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c6649a4cc1a - <core[585f66e14d78f9ba]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c6649a4cc1a - core[585f66e14d78f9ba]::fmt::write
[INFO] [stdout]    6:     0x5c6649a3bf06 - std[3f03f8b59f91bef1]::io::default_write_fmt::<std[3f03f8b59f91bef1]::sys::stdio::unix::Stderr>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5c6649a3bf06 - <std[3f03f8b59f91bef1]::sys::stdio::unix::Stderr as std[3f03f8b59f91bef1]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5c6649a1b19f - <std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c6649a1b19f - std[3f03f8b59f91bef1]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c6649a2ed61 - std[3f03f8b59f91bef1]::panicking::default_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:319:9
[INFO] [stdout]   11:     0x5c6649a2efcb - std[3f03f8b59f91bef1]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:825:13
[INFO] [stdout]   12:     0x5c6649a1b258 - std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:698:13
[INFO] [stdout]   13:     0x5c6649a10359 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_end_short_backtrace::<std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   14:     0x5c6649a1c1ed - __rustc[caa99d26c7bae192]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:689:5
[INFO] [stdout]   15:     0x5c6649a4d35c - core[585f66e14d78f9ba]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:80:14
[INFO] [stdout]   16:     0x5c6649a4d0d2 - core[585f66e14d78f9ba]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1867:5
[INFO] [stdout]   17:     0x5c664952c0d2 - rust_out[183646e59c86b0c5]::main::{closure#0}
[INFO] [stdout]   18:     0x5c6649513d77 - <tokio[6a140f4fd21a95ba]::runtime::park::CachedParkThread>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>::{closure#0}
[INFO] [stdout]   19:     0x5c6649501791 - <tokio[6a140f4fd21a95ba]::runtime::park::CachedParkThread>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>
[INFO] [stdout]   20:     0x5c66494fe36a - <tokio[6a140f4fd21a95ba]::runtime::context::blocking::BlockingRegionGuard>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>
[INFO] [stdout]   21:     0x5c6649512fa1 - <tokio[6a140f4fd21a95ba]::runtime::scheduler::multi_thread::MultiThread>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>::{closure#0}
[INFO] [stdout]   22:     0x5c6649508b88 - tokio[6a140f4fd21a95ba]::runtime::context::runtime::enter_runtime::<<tokio[6a140f4fd21a95ba]::runtime::scheduler::multi_thread::MultiThread>::block_on<rust_out[183646e59c86b0c5]::main::{closure#0}>::{closure#0}, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>>>
[INFO] [stdout]   23:     0x5c66494fe40c - <tokio[6a140f4fd21a95ba]::runtime::scheduler::multi_thread::MultiThread>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>
[INFO] [stdout]   24:     0x5c66494fdab5 - <tokio[6a140f4fd21a95ba]::runtime::runtime::Runtime>::block_on_inner::<rust_out[183646e59c86b0c5]::main::{closure#0}>
[INFO] [stdout]   25:     0x5c66494fdd6a - <tokio[6a140f4fd21a95ba]::runtime::runtime::Runtime>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>
[INFO] [stdout]   26:     0x5c6649530fde - rust_out[183646e59c86b0c5]::main
[INFO] [stdout]   27:     0x5c664953e653 - <fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   28:     0x5c6649506f46 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>>>
[INFO] [stdout]   29:     0x5c66495252a9 - std[3f03f8b59f91bef1]::rt::lang_start::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>>>::{closure#0}
[INFO] [stdout]   30:     0x5c6649a2e2a6 - <&dyn core[585f66e14d78f9ba]::ops::function::Fn<(), Output = i32> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::panic::unwind_safe::RefUnwindSafe as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   31:     0x5c6649a2e2a6 - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<&dyn core[585f66e14d78f9ba]::ops::function::Fn<(), Output = i32> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   32:     0x5c6649a2e2a6 - std[3f03f8b59f91bef1]::panicking::catch_unwind::<i32, &dyn core[585f66e14d78f9ba]::ops::function::Fn<(), Output = i32> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::panic::unwind_safe::RefUnwindSafe>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5c6649a2e2a6 - std[3f03f8b59f91bef1]::panic::catch_unwind::<&dyn core[585f66e14d78f9ba]::ops::function::Fn<(), Output = i32> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5c6649a2e2a6 - std[3f03f8b59f91bef1]::rt::lang_start_internal::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/rt.rs:175:24
[INFO] [stdout]   35:     0x5c6649a2e2a6 - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<std[3f03f8b59f91bef1]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5c6649a2e2a6 - std[3f03f8b59f91bef1]::panicking::catch_unwind::<isize, std[3f03f8b59f91bef1]::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5c6649a2e2a6 - std[3f03f8b59f91bef1]::panic::catch_unwind::<std[3f03f8b59f91bef1]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5c6649a2e2a6 - std[3f03f8b59f91bef1]::rt::lang_start_internal
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/rt.rs:171:5
[INFO] [stdout]   39:     0x5c6649503591 - std[3f03f8b59f91bef1]::rt::lang_start::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>>>
[INFO] [stdout]   40:     0x5c664953eb35 - main
[INFO] [stdout]   41:     0x7a88ececb1ca - <unknown>
[INFO] [stdout]   42:     0x7a88ececb28b - __libc_start_main
[INFO] [stdout]   43:     0x5c66494fcd95 - _start
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/../README.md - (line 1267) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] Error: IO { operation: "File operation", path: None, source: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/../README.md - (line 111) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] Error: IO { operation: "File operation", path: None, source: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/../README.md - (line 156) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:171:19
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 172 |
[INFO] [stdout] 173 |     fetcher.update_downloader().await?;
[INFO] [stdout]     |     ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 178) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:193:19
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:193:9
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     let video_path = fetcher.download_video_from_url(url, "my-video.mp4").await?;
[INFO] [stdout]     |                      ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 193 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 1490) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] Error: IO { operation: "File operation", path: None, source: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/../README.md - (line 1154) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] Error: IO { operation: "File operation", path: None, source: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/../README.md - (line 201) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:217:19
[INFO] [stdout]     |
[INFO] [stdout] 217 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 217 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     let video_path = fetcher.download(url, "my-video.mp4")
[INFO] [stdout]     |                      ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 217 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Q1080p` found for enum `VideoQuality` in the current scope
[INFO] [stdout]    --> src/../README.md:223:38
[INFO] [stdout]     |
[INFO] [stdout] 223 |         .video_quality(VideoQuality::Q1080p)
[INFO] [stdout]     |                                      ^^^^^^ variant or associated item not found in `VideoQuality`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `H264` found for enum `VideoCodecPreference` in the current scope
[INFO] [stdout]    --> src/../README.md:224:44
[INFO] [stdout]     |
[INFO] [stdout] 224 |         .video_codec(VideoCodecPreference::H264)
[INFO] [stdout]     |                                            ^^^^ variant or associated item not found in `VideoCodecPreference`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 256) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:271:19
[INFO] [stdout]     |
[INFO] [stdout] 271 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 271 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:271:9
[INFO] [stdout]     |
[INFO] [stdout] 271 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fetcher.download_audio_stream_from_url(url, "audio.mp3").await?;
[INFO] [stdout]     |     ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 271 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 233) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:248:19
[INFO] [stdout]     |
[INFO] [stdout] 248 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 248 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fetcher.download_video_stream_from_url(url, "video.mp4").await?;
[INFO] [stdout]     |     ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 248 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 310) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:325:19
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 329 |
[INFO] [stdout] 330 |     let audio_format = video.best_audio_format().unwrap();
[INFO] [stdout]     |                        ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `video` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 328 |     let video: /* Type */ = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 279) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:294:19
[INFO] [stdout]     |
[INFO] [stdout] 294 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 294 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:294:9
[INFO] [stdout]     |
[INFO] [stdout] 294 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 294 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 341) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:356:19
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:356:9
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     let thumbnail_path = fetcher.download_thumbnail_from_url(url, "thumbnail.jpg").await?;
[INFO] [stdout]     |                          ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 356 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 364) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:390:19
[INFO] [stdout]     |
[INFO] [stdout] 390 |     let fetcher = Youtube::with_download_manager_config(libraries, output_dir, config)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 390 |     let fetcher = Youtube::with_download_manager_config(libraries, output_dir, config).await?;
[INFO] [stdout]     |                                                                                       ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:390:9
[INFO] [stdout]     |
[INFO] [stdout] 390 |     let fetcher = Youtube::with_download_manager_config(libraries, output_dir, config)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 390 |     let fetcher: /* Type */ = Youtube::with_download_manager_config(libraries, output_dir, config)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 410) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:425:19
[INFO] [stdout]     |
[INFO] [stdout] 425 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 425 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:425:9
[INFO] [stdout]     |
[INFO] [stdout] 425 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 428 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 425 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 451) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:466:19
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:466:9
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 469 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 530) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:546:19
[INFO] [stdout]     |
[INFO] [stdout] 546 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 546 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:546:9
[INFO] [stdout]     |
[INFO] [stdout] 546 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 551 |     let video_path = fetcher.download_video_with_quality(
[INFO] [stdout]     |                      ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 546 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:551:9
[INFO] [stdout]     |
[INFO] [stdout] 551 |     let video_path = fetcher.download_video_with_quality(
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 577 |     println!("Complete video: {}", video_path.display());
[INFO] [stdout]     |                                    ---------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `video_path` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 551 |     let video_path: /* Type */ = fetcher.download_video_with_quality(
[INFO] [stdout]     |                   ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:561:9
[INFO] [stdout]     |
[INFO] [stdout] 561 |     let video_stream_path = fetcher.download_video_stream_with_quality(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 578 |     println!("Video stream: {}", video_stream_path.display());
[INFO] [stdout]     |                                  ----------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `video_stream_path` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 561 |     let video_stream_path: /* Type */ = fetcher.download_video_stream_with_quality(
[INFO] [stdout]     |                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:569:9
[INFO] [stdout]     |
[INFO] [stdout] 569 |     let audio_stream_path = fetcher.download_audio_stream_with_quality(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 579 |     println!("Audio stream: {}", audio_stream_path.display());
[INFO] [stdout]     |                                  ----------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `audio_stream_path` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 569 |     let audio_stream_path: /* Type */ = fetcher.download_audio_stream_with_quality(
[INFO] [stdout]     |                          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 686) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:701:19
[INFO] [stdout]     |
[INFO] [stdout] 701 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 701 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:701:9
[INFO] [stdout]     |
[INFO] [stdout] 701 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 704 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 701 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:704:9
[INFO] [stdout]     |
[INFO] [stdout] 704 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 707 |     if video.has_heatmap() {
[INFO] [stdout]     |        ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `video` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 704 |     let video: /* Type */ = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 647) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:662:19
[INFO] [stdout]     |
[INFO] [stdout] 662 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 662 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:662:9
[INFO] [stdout]     |
[INFO] [stdout] 662 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 665 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 662 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:665:9
[INFO] [stdout]     |
[INFO] [stdout] 665 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 668 |     if let Some(chapter) = video.get_chapter_at_time(120.0) {
[INFO] [stdout]     |                            ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `video` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 665 |     let video: /* Type */ = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 608) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:623:19
[INFO] [stdout]     |
[INFO] [stdout] 623 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 623 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:623:9
[INFO] [stdout]     |
[INFO] [stdout] 623 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 623 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:626:9
[INFO] [stdout]     |
[INFO] [stdout] 626 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 629 |     if video.has_chapters() {
[INFO] [stdout]     |        ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `video` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 626 |     let video: /* Type */ = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 727) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:742:19
[INFO] [stdout]     |
[INFO] [stdout] 742 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 742 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:742:9
[INFO] [stdout]     |
[INFO] [stdout] 742 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 745 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 742 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:745:9
[INFO] [stdout]     |
[INFO] [stdout] 745 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 746 |
[INFO] [stdout] 747 |     if let Some(heatmap) = video.get_heatmap() {
[INFO] [stdout]     |                            ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `video` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 745 |     let video: /* Type */ = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |              ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:749:30
[INFO] [stdout]     |
[INFO] [stdout] 749 |         let highly_engaged = heatmap.get_highly_engaged_segments(0.7);
[INFO] [stdout]     |                              ^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 778) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:793:19
[INFO] [stdout]     |
[INFO] [stdout] 793 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 793 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:793:9
[INFO] [stdout]     |
[INFO] [stdout] 793 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 796 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 793 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 811) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:826:19
[INFO] [stdout]     |
[INFO] [stdout] 826 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 826 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:826:9
[INFO] [stdout]     |
[INFO] [stdout] 826 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 829 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 826 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 841) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:856:19
[INFO] [stdout]     |
[INFO] [stdout] 856 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 856 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:856:9
[INFO] [stdout]     |
[INFO] [stdout] 856 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 859 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 856 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:862:9
[INFO] [stdout]     |
[INFO] [stdout] 862 |     let subtitle_paths = fetcher
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 865 |     println!("Downloaded {} subtitle files", subtitle_paths.len());
[INFO] [stdout]     |                                              -------------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `subtitle_paths` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 862 |     let subtitle_paths: /* Type */ = fetcher
[INFO] [stdout]     |                       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 871) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:886:19
[INFO] [stdout]     |
[INFO] [stdout] 886 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 886 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:886:9
[INFO] [stdout]     |
[INFO] [stdout] 886 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 889 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 886 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 916) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:932:19
[INFO] [stdout]     |
[INFO] [stdout] 932 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 932 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:932:9
[INFO] [stdout]     |
[INFO] [stdout] 932 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 935 |     let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |                 ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 932 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:954:32
[INFO] [stdout]     |
[INFO] [stdout] 954 |         if let Some(caption) = auto_captions.first() {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:957:17
[INFO] [stdout]     |
[INFO] [stdout] 957 |                 lang_code.clone(),
[INFO] [stdout]     |                 ^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 971) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/../README.md:986:19
[INFO] [stdout]     |
[INFO] [stdout] 986 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 986 |     let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/../README.md:986:9
[INFO] [stdout]     |
[INFO] [stdout] 986 |     let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 989 |     let playlist = fetcher.fetch_playlist_infos(playlist_url).await?;
[INFO] [stdout]     |                    ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 986 |     let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/builder.rs - client::builder::YoutubeBuilder (line 20) stdout ----
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]   --> src/client/builder.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 | let libraries = Libraries::new("libs/yt-dlp", "libs/ffmpeg");
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ -------------  ------------- expected `PathBuf`, found `&str`
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                expected `PathBuf`, found `&str`
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/client/deps/mod.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Constructor, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the derive macro `Constructor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]    |
[INFO] [stdout] 27 | let libraries = Libraries::new("libs/yt-dlp".into(), "libs/ffmpeg");
[INFO] [stdout]    |                                             +++++++
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]    |
[INFO] [stdout] 27 | let libraries = Libraries::new("libs/yt-dlp", "libs/ffmpeg".into());
[INFO] [stdout]    |                                                            +++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/deps/ffmpeg.rs - client::deps::ffmpeg::BuildFetcher (line 51) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: could not find `fetcher` in `yt_dlp`
[INFO] [stdout]   --> src/client/deps/ffmpeg.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 | use yt_dlp::fetcher::deps::ffmpeg::BuildFetcher;
[INFO] [stdout]    |             ^^^^^^^ could not find `fetcher` in `yt_dlp`
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/client/deps/ffmpeg.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | let release = fetcher.fetch_binary().await?;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 61 | release.download(path.clone()).await?;
[INFO] [stdout]    | ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `release` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 60 | let release: /* Type */ = fetcher.fetch_binary().await?;
[INFO] [stdout]    |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/builder.rs - client::builder::YoutubeBuilder::with_speed_profile (line 152) stdout ----
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/client/builder.rs:160:17
[INFO] [stdout]     |
[INFO] [stdout] 160 | let libraries = Libraries::new("libs/yt-dlp", "libs/ffmpeg");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ -------------  ------------- expected `PathBuf`, found `&str`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                expected `PathBuf`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/client/deps/mod.rs:58:10
[INFO] [stdout]     |
[INFO] [stdout]  58 | #[derive(Constructor, Clone, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the derive macro `Constructor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]     |
[INFO] [stdout] 160 | let libraries = Libraries::new("libs/yt-dlp".into(), "libs/ffmpeg");
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]     |
[INFO] [stdout] 160 | let libraries = Libraries::new("libs/yt-dlp", "libs/ffmpeg".into());
[INFO] [stdout]     |                                                            +++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/deps/mod.rs - client::deps::Libraries (line 44) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: could not find `fetcher` in `yt_dlp`
[INFO] [stdout]   --> src/client/deps/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 | use yt_dlp::fetcher::deps::Libraries;
[INFO] [stdout]    |             ^^^^^^^ could not find `fetcher` in `yt_dlp`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/deps/youtube.rs - client::deps::youtube::GitHubFetcher (line 17) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: could not find `fetcher` in `yt_dlp`
[INFO] [stdout]   --> src/client/deps/youtube.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | use yt_dlp::fetcher::deps::youtube::GitHubFetcher;
[INFO] [stdout]    |             ^^^^^^^ could not find `fetcher` in `yt_dlp`
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/client/deps/youtube.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | let release = fetcher.fetch_release(None).await?;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 | release.download(destination).await?;
[INFO] [stdout]    | ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `release` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 24 | let release: /* Type */ = fetcher.fetch_release(None).await?;
[INFO] [stdout]    |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/deps/mod.rs - client::deps::LibraryInstaller (line 21) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: could not find `fetcher` in `yt_dlp`
[INFO] [stdout]   --> src/client/deps/mod.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 | use yt_dlp::fetcher::deps::LibraryInstaller;
[INFO] [stdout]    |             ^^^^^^^ could not find `fetcher` in `yt_dlp`
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/client/deps/mod.rs:30:15
[INFO] [stdout]    |
[INFO] [stdout] 30 | let youtube = installer.install_youtube(None).await.unwrap();
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/client/deps/mod.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 | let ffmpeg = installer.install_ffmpeg(None).await.unwrap();
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/streams.rs - client::streams::Youtube::download_audio_stream (line 413) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/client/streams.rs:425:15
[INFO] [stdout]     |
[INFO] [stdout] 425 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 425 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/client/streams.rs:425:5
[INFO] [stdout]     |
[INFO] [stdout] 425 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 428 | let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |             ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 425 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/deps/mod.rs - client::deps::WantedRelease::download (line 245) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: could not find `fetcher` in `yt_dlp`
[INFO] [stdout]    --> src/client/deps/mod.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 | use yt_dlp::fetcher::deps::WantedRelease;
[INFO] [stdout]     |             ^^^^^^^ could not find `fetcher` in `yt_dlp`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/streams.rs - client::streams::Youtube::download_format (line 537) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/client/streams.rs:549:15
[INFO] [stdout]     |
[INFO] [stdout] 549 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 549 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/client/streams.rs:549:5
[INFO] [stdout]     |
[INFO] [stdout] 549 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 552 | let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |             ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 549 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/client/streams.rs:552:5
[INFO] [stdout]     |
[INFO] [stdout] 552 | let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 553 |
[INFO] [stdout] 554 | let video_format = video.best_video_format().unwrap();
[INFO] [stdout]     |                    ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `video` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 552 | let video: /* Type */ = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/streams.rs - client::streams::Youtube::download_video_from_url (line 113) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/client/streams.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 125 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/client/streams.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 | let video_path = fetcher.download_video_from_url(url, "my-video.mp4").await?;
[INFO] [stdout]     |                  ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 125 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/streams.rs - client::streams::Youtube::download_video (line 157) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/client/streams.rs:169:15
[INFO] [stdout]     |
[INFO] [stdout] 169 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 169 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/client/streams.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 | let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |             ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 169 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/streams.rs - client::streams::Youtube::download_audio_stream_from_url (line 369) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/client/streams.rs:381:15
[INFO] [stdout]     |
[INFO] [stdout] 381 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 381 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/client/streams.rs:381:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 | let audio_path = fetcher.download_audio_stream_from_url(url, "my-audio.mp3").await?;
[INFO] [stdout]     |                  ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 381 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 1203) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] Error: IO { operation: "File operation", path: None, source: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/../README.md - (line 141) stdout ----
[INFO] [stdout] Test executable failed (exit status: 101).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] 
[INFO] [stdout] thread 'main' (481) panicked at src/../README.md:12:55:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: IO { operation: "File operation", path: None, source: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d9a89795e82 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d9a89795e82 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::trace_unsynchronized::<std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d9a89795e82 - std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5d9a89795e82 - <<std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[585f66e14d78f9ba]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5d9a897ac06a - <core[585f66e14d78f9ba]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5d9a897ac06a - core[585f66e14d78f9ba]::fmt::write
[INFO] [stdout]    6:     0x5d9a8979b0e6 - std[3f03f8b59f91bef1]::io::default_write_fmt::<std[3f03f8b59f91bef1]::sys::stdio::unix::Stderr>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d9a8979b0e6 - <std[3f03f8b59f91bef1]::sys::stdio::unix::Stderr as std[3f03f8b59f91bef1]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5d9a897775ff - <std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5d9a897775ff - std[3f03f8b59f91bef1]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5d9a8978bbe1 - std[3f03f8b59f91bef1]::panicking::default_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:319:9
[INFO] [stdout]   11:     0x5d9a8978be4b - std[3f03f8b59f91bef1]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:825:13
[INFO] [stdout]   12:     0x5d9a897776b8 - std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:698:13
[INFO] [stdout]   13:     0x5d9a8976c689 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_end_short_backtrace::<std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   14:     0x5d9a8977890d - __rustc[caa99d26c7bae192]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:689:5
[INFO] [stdout]   15:     0x5d9a897ac7ac - core[585f66e14d78f9ba]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:80:14
[INFO] [stdout]   16:     0x5d9a897ac522 - core[585f66e14d78f9ba]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1867:5
[INFO] [stdout]   17:     0x5d9a8912f2a3 - rust_out[183646e59c86b0c5]::main::{closure#0}
[INFO] [stdout]   18:     0x5d9a891114a7 - <tokio[6a140f4fd21a95ba]::runtime::park::CachedParkThread>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>::{closure#0}
[INFO] [stdout]   19:     0x5d9a890ecfc1 - <tokio[6a140f4fd21a95ba]::runtime::park::CachedParkThread>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>
[INFO] [stdout]   20:     0x5d9a890e52ca - <tokio[6a140f4fd21a95ba]::runtime::context::blocking::BlockingRegionGuard>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>
[INFO] [stdout]   21:     0x5d9a8910e7d1 - <tokio[6a140f4fd21a95ba]::runtime::scheduler::multi_thread::MultiThread>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>::{closure#0}
[INFO] [stdout]   22:     0x5d9a89108e28 - tokio[6a140f4fd21a95ba]::runtime::context::runtime::enter_runtime::<<tokio[6a140f4fd21a95ba]::runtime::scheduler::multi_thread::MultiThread>::block_on<rust_out[183646e59c86b0c5]::main::{closure#0}>::{closure#0}, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>>>
[INFO] [stdout]   23:     0x5d9a890e536c - <tokio[6a140f4fd21a95ba]::runtime::scheduler::multi_thread::MultiThread>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>
[INFO] [stdout]   24:     0x5d9a890e48f9 - <tokio[6a140f4fd21a95ba]::runtime::runtime::Runtime>::block_on_inner::<rust_out[183646e59c86b0c5]::main::{closure#0}>
[INFO] [stdout]   25:     0x5d9a890e4bae - <tokio[6a140f4fd21a95ba]::runtime::runtime::Runtime>::block_on::<rust_out[183646e59c86b0c5]::main::{closure#0}>
[INFO] [stdout]   26:     0x5d9a89138fcf - rust_out[183646e59c86b0c5]::main
[INFO] [stdout]   27:     0x5d9a8916ca13 - <fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   28:     0x5d9a891048d6 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>>>
[INFO] [stdout]   29:     0x5d9a89122bb9 - std[3f03f8b59f91bef1]::rt::lang_start::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>>>::{closure#0}
[INFO] [stdout]   30:     0x5d9a8978b126 - <&dyn core[585f66e14d78f9ba]::ops::function::Fn<(), Output = i32> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::panic::unwind_safe::RefUnwindSafe as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   31:     0x5d9a8978b126 - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<&dyn core[585f66e14d78f9ba]::ops::function::Fn<(), Output = i32> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   32:     0x5d9a8978b126 - std[3f03f8b59f91bef1]::panicking::catch_unwind::<i32, &dyn core[585f66e14d78f9ba]::ops::function::Fn<(), Output = i32> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::panic::unwind_safe::RefUnwindSafe>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5d9a8978b126 - std[3f03f8b59f91bef1]::panic::catch_unwind::<&dyn core[585f66e14d78f9ba]::ops::function::Fn<(), Output = i32> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5d9a8978b126 - std[3f03f8b59f91bef1]::rt::lang_start_internal::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/rt.rs:175:24
[INFO] [stdout]   35:     0x5d9a8978b126 - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<std[3f03f8b59f91bef1]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5d9a8978b126 - std[3f03f8b59f91bef1]::panicking::catch_unwind::<isize, std[3f03f8b59f91bef1]::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5d9a8978b126 - std[3f03f8b59f91bef1]::panic::catch_unwind::<std[3f03f8b59f91bef1]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5d9a8978b126 - std[3f03f8b59f91bef1]::rt::lang_start_internal
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/rt.rs:171:5
[INFO] [stdout]   39:     0x5d9a890f77c1 - std[3f03f8b59f91bef1]::rt::lang_start::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::error::Error>>>
[INFO] [stdout]   40:     0x5d9a8916dce5 - main
[INFO] [stdout]   41:     0x79ab23f541ca - <unknown>
[INFO] [stdout]   42:     0x79ab23f5428b - __libc_start_main
[INFO] [stdout]   43:     0x5d9a890e0ea5 - _start
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/client/streams.rs - client::streams::Youtube::download_video_stream (line 320) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/client/streams.rs:332:15
[INFO] [stdout]     |
[INFO] [stdout] 332 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 332 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/client/streams.rs:332:5
[INFO] [stdout]     |
[INFO] [stdout] 332 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 | let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |             ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 332 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube (line 51) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> src/lib.rs:65:19
[INFO] [stdout]    |
[INFO] [stdout] 65 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]    |
[INFO] [stdout] 65 | let mut fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]    |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/lib.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 | let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]    |             ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 65 | let mut fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]    |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/streams.rs - client::streams::Youtube::download_video_stream_from_url (line 275) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/client/streams.rs:287:15
[INFO] [stdout]     |
[INFO] [stdout] 287 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 287 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/client/streams.rs:287:5
[INFO] [stdout]     |
[INFO] [stdout] 287 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 | let video_path = fetcher.download_video_stream_from_url(url, "my-video-stream.mp4").await?;
[INFO] [stdout]     |                  ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 287 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/client/streams.rs - client::streams::Youtube::fetch_video_infos (line 32) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]   --> src/client/streams.rs:44:15
[INFO] [stdout]    |
[INFO] [stdout] 44 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]    |
[INFO] [stdout] 44 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]    |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/client/streams.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 | let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]    |             ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 44 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]    |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 1233) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] Error: IO { operation: "File operation", path: None, source: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] ---- src/download/manager.rs - download::manager::DownloadManager::progress_stream (line 612) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `manager` in this scope
[INFO] [stdout]    --> src/download/manager.rs:615:19
[INFO] [stdout]     |
[INFO] [stdout] 615 | let download_id = manager.enqueue("https://example.com/file", "output", None).await;
[INFO] [stdout]     |                   ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `manager` in this scope
[INFO] [stdout]    --> src/download/manager.rs:616:27
[INFO] [stdout]     |
[INFO] [stdout] 616 | let mut progress_stream = manager.progress_stream(download_id);
[INFO] [stdout]     |                           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/download/manager.rs:615:79
[INFO] [stdout]     |
[INFO] [stdout] 612 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_download_manager_rs_612_0() {
[INFO] [stdout]     |                                      ------------------------------------------------ this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 615 | let download_id = manager.enqueue("https://example.com/file", "output", None).await;
[INFO] [stdout]     |                                                                               ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error[E0728]: `await` is only allowed inside `async` functions and blocks
[INFO] [stdout]    --> src/download/manager.rs:618:49
[INFO] [stdout]     |
[INFO] [stdout] 612 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_download_manager_rs_612_0() {
[INFO] [stdout]     |                                      ------------------------------------------------ this is not `async`
[INFO] [stdout] ...
[INFO] [stdout] 618 | while let Some(update) = progress_stream.next().await {
[INFO] [stdout]     |                                                 ^^^^^ only allowed inside `async` functions and blocks
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0728.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::builder (line 127) stdout ----
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/lib.rs:134:17
[INFO] [stdout]     |
[INFO] [stdout] 134 | let libraries = Libraries::new("libs/yt-dlp", "libs/ffmpeg");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ -------------  ------------- expected `PathBuf`, found `&str`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                expected `PathBuf`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/client/deps/mod.rs:58:10
[INFO] [stdout]     |
[INFO] [stdout]  58 | #[derive(Constructor, Clone, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the derive macro `Constructor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]     |
[INFO] [stdout] 134 | let libraries = Libraries::new("libs/yt-dlp".into(), "libs/ffmpeg");
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]     |
[INFO] [stdout] 134 | let libraries = Libraries::new("libs/yt-dlp", "libs/ffmpeg".into());
[INFO] [stdout]     |                                                            +++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::download_audio_stream_with_quality (line 1250) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]     --> src/lib.rs:1263:15
[INFO] [stdout]      |
[INFO] [stdout] 1263 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]      |
[INFO] [stdout] 1263 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]      |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/lib.rs:1263:5
[INFO] [stdout]      |
[INFO] [stdout] 1263 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1267 | let audio_path = fetcher.download_audio_stream_with_quality(
[INFO] [stdout]      |                  ------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1263 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::download_video_with_quality (line 1038) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]     --> src/lib.rs:1051:15
[INFO] [stdout]      |
[INFO] [stdout] 1051 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]      |
[INFO] [stdout] 1051 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]      |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/lib.rs:1051:5
[INFO] [stdout]      |
[INFO] [stdout] 1051 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1055 | let video_path = fetcher.download_video_with_quality(
[INFO] [stdout]      |                  ------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1051 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::combine_audio_and_video (line 523) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/lib.rs:535:15
[INFO] [stdout]     |
[INFO] [stdout] 535 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 535 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:535:5
[INFO] [stdout]     |
[INFO] [stdout] 535 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 538 | let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |             ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 535 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:538:5
[INFO] [stdout]     |
[INFO] [stdout] 538 | let video = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 539 |
[INFO] [stdout] 540 | let audio_format = video.best_audio_format().unwrap();
[INFO] [stdout]     |                    ----- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `video` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 538 | let video: /* Type */ = fetcher.fetch_video_infos(url).await?;
[INFO] [stdout]     |          ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::download_video_stream_with_quality (line 1173) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]     --> src/lib.rs:1186:15
[INFO] [stdout]      |
[INFO] [stdout] 1186 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]      |
[INFO] [stdout] 1186 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]      |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]     --> src/lib.rs:1186:5
[INFO] [stdout]      |
[INFO] [stdout] 1186 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1190 | let video_path = fetcher.download_video_stream_with_quality(
[INFO] [stdout]      |                  ------- type must be known at this point
[INFO] [stdout]      |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]      |
[INFO] [stdout] 1186 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]      |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::download_and_continue (line 1398) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `video` in this scope
[INFO] [stdout]     --> src/lib.rs:1411:29
[INFO] [stdout]      |
[INFO] [stdout] 1411 |     .download_and_continue(&video, "output.mp4")
[INFO] [stdout]      |                             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/lib.rs:1404:12
[INFO] [stdout]      |
[INFO] [stdout] 1404 | let libs = Libraries::new("yt-dlp", "ffmpeg");
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ --------  -------- expected `PathBuf`, found `&str`
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           expected `PathBuf`, found `&str`
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> src/client/deps/mod.rs:58:10
[INFO] [stdout]      |
[INFO] [stdout]   58 | #[derive(Constructor, Clone, Debug)]
[INFO] [stdout]      |          ^^^^^^^^^^^
[INFO] [stdout]      = note: this error originates in the derive macro `Constructor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]      |
[INFO] [stdout] 1404 | let libs = Libraries::new("yt-dlp".into(), "ffmpeg");
[INFO] [stdout]      |                                   +++++++
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]      |
[INFO] [stdout] 1404 | let libs = Libraries::new("yt-dlp", "ffmpeg".into());
[INFO] [stdout]      |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::download (line 164) stdout ----
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]    --> src/lib.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | let libraries = Libraries::new("libs/yt-dlp", "libs/ffmpeg");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ -------------  ------------- expected `PathBuf`, found `&str`
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                expected `PathBuf`, found `&str`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/client/deps/mod.rs:58:10
[INFO] [stdout]     |
[INFO] [stdout]  58 | #[derive(Constructor, Clone, Debug)]
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the derive macro `Constructor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]     |
[INFO] [stdout] 172 | let libraries = Libraries::new("libs/yt-dlp".into(), "libs/ffmpeg");
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]     |
[INFO] [stdout] 172 | let libraries = Libraries::new("libs/yt-dlp", "libs/ffmpeg".into());
[INFO] [stdout]     |                                                            +++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/lib.rs:173:15
[INFO] [stdout]     |
[INFO] [stdout] 173 | let fetcher = Youtube::new(libraries, "output")?;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 173 | let fetcher = Youtube::new(libraries, "output").await?;
[INFO] [stdout]     |                                                ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 | let fetcher = Youtube::new(libraries, "output")?;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 | let video_path = fetcher.download(url, "my-video.mp4")
[INFO] [stdout]     |                  ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 173 | let fetcher: /* Type */ = Youtube::new(libraries, "output")?;
[INFO] [stdout]     |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `Q1080p` found for enum `VideoQuality` in the current scope
[INFO] [stdout]    --> src/lib.rs:177:34
[INFO] [stdout]     |
[INFO] [stdout] 177 |     .video_quality(VideoQuality::Q1080p)
[INFO] [stdout]     |                                  ^^^^^^ variant or associated item not found in `VideoQuality`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `H264` found for enum `VideoCodecPreference` in the current scope
[INFO] [stdout]    --> src/lib.rs:178:40
[INFO] [stdout]     |
[INFO] [stdout] 178 |     .video_codec(VideoCodecPreference::H264)
[INFO] [stdout]     |                                        ^^^^ variant or associated item not found in `VideoCodecPreference`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282, E0308, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::fetch (line 1368) stdout ----
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/lib.rs:1374:12
[INFO] [stdout]      |
[INFO] [stdout] 1374 | let libs = Libraries::new("yt-dlp", "ffmpeg");
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ --------  -------- expected `PathBuf`, found `&str`
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           expected `PathBuf`, found `&str`
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> src/client/deps/mod.rs:58:10
[INFO] [stdout]      |
[INFO] [stdout]   58 | #[derive(Constructor, Clone, Debug)]
[INFO] [stdout]      |          ^^^^^^^^^^^
[INFO] [stdout]      = note: this error originates in the derive macro `Constructor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]      |
[INFO] [stdout] 1374 | let libs = Libraries::new("yt-dlp".into(), "ffmpeg");
[INFO] [stdout]      |                                   +++++++
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]      |
[INFO] [stdout] 1374 | let libs = Libraries::new("yt-dlp", "ffmpeg".into());
[INFO] [stdout]      |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::new (line 206) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/lib.rs:220:15
[INFO] [stdout]     |
[INFO] [stdout] 220 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 220 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::update_downloader (line 475) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/lib.rs:487:15
[INFO] [stdout]     |
[INFO] [stdout] 487 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 487 | let fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                  ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:487:5
[INFO] [stdout]     |
[INFO] [stdout] 487 | let fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 488 |
[INFO] [stdout] 489 | fetcher.update_downloader().await?;
[INFO] [stdout]     | ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 487 | let fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::with_arg (line 444) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/lib.rs:456:19
[INFO] [stdout]     |
[INFO] [stdout] 456 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 456 | let mut fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:456:5
[INFO] [stdout]     |
[INFO] [stdout] 456 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 457 |
[INFO] [stdout] 458 | fetcher.with_arg("--no-progress");
[INFO] [stdout]     | ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 456 | let mut fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::postprocess_video (line 1480) stdout ----
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/lib.rs:1488:17
[INFO] [stdout]      |
[INFO] [stdout] 1488 | let libraries = Libraries::new("libs/yt-dlp", "libs/ffmpeg");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^ -------------  ------------- expected `PathBuf`, found `&str`
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                expected `PathBuf`, found `&str`
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> src/client/deps/mod.rs:58:10
[INFO] [stdout]      |
[INFO] [stdout]   58 | #[derive(Constructor, Clone, Debug)]
[INFO] [stdout]      |          ^^^^^^^^^^^
[INFO] [stdout]      = note: this error originates in the derive macro `Constructor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]      |
[INFO] [stdout] 1488 | let libraries = Libraries::new("libs/yt-dlp".into(), "libs/ffmpeg");
[INFO] [stdout]      |                                             +++++++
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]      |
[INFO] [stdout] 1488 | let libraries = Libraries::new("libs/yt-dlp", "libs/ffmpeg".into());
[INFO] [stdout]      |                                                            +++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::pipeline (line 1430) stdout ----
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]     --> src/lib.rs:1436:12
[INFO] [stdout]      |
[INFO] [stdout] 1436 | let libs = Libraries::new("yt-dlp", "ffmpeg");
[INFO] [stdout]      |            ^^^^^^^^^^^^^^ --------  -------- expected `PathBuf`, found `&str`
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           expected `PathBuf`, found `&str`
[INFO] [stdout]      |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]     --> src/client/deps/mod.rs:58:10
[INFO] [stdout]      |
[INFO] [stdout]   58 | #[derive(Constructor, Clone, Debug)]
[INFO] [stdout]      |          ^^^^^^^^^^^
[INFO] [stdout]      = note: this error originates in the derive macro `Constructor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]      |
[INFO] [stdout] 1436 | let libs = Libraries::new("yt-dlp".into(), "ffmpeg");
[INFO] [stdout]      |                                   +++++++
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]      |
[INFO] [stdout] 1436 | let libs = Libraries::new("yt-dlp", "ffmpeg".into());
[INFO] [stdout]      |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::with_cache (line 722) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/lib.rs:734:19
[INFO] [stdout]     |
[INFO] [stdout] 734 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 734 | let mut fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:734:5
[INFO] [stdout]     |
[INFO] [stdout] 734 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 737 | fetcher.with_cache(PathBuf::from("cache"), None)?;
[INFO] [stdout]     | ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 734 | let mut fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::with_args (line 381) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/lib.rs:393:19
[INFO] [stdout]     |
[INFO] [stdout] 393 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 393 | let mut fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:393:5
[INFO] [stdout]     |
[INFO] [stdout] 393 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 | fetcher.with_args(args);
[INFO] [stdout]     | ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 393 | let mut fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::with_download_cache (line 767) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/lib.rs:779:19
[INFO] [stdout]     |
[INFO] [stdout] 779 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 779 | let mut fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:779:5
[INFO] [stdout]     |
[INFO] [stdout] 779 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 782 | fetcher.with_download_cache(PathBuf::from("cache"), None)?;
[INFO] [stdout]     | ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 779 | let mut fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::with_playlist_cache (line 812) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/lib.rs:824:19
[INFO] [stdout]     |
[INFO] [stdout] 824 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 824 | let mut fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:824:5
[INFO] [stdout]     |
[INFO] [stdout] 824 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 827 | fetcher.with_playlist_cache(PathBuf::from("cache"), None)?;
[INFO] [stdout]     | ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 824 | let mut fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - Youtube::with_timeout (line 412) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be applied to values that implement `Try`
[INFO] [stdout]    --> src/lib.rs:425:19
[INFO] [stdout]     |
[INFO] [stdout] 425 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Try` is not implemented for `impl Future<Output = Result<Youtube, yt_dlp::error::Error>>`
[INFO] [stdout] help: consider `await`ing on the `Future`
[INFO] [stdout]     |
[INFO] [stdout] 425 | let mut fetcher = Youtube::new(libraries, output_dir).await?;
[INFO] [stdout]     |                                                      ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/lib.rs:425:5
[INFO] [stdout]     |
[INFO] [stdout] 425 | let mut fetcher = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 428 | fetcher.with_timeout(Duration::from_secs(300));
[INFO] [stdout]     | ------- type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `fetcher` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 425 | let mut fetcher: /* Type */ = Youtube::new(libraries, output_dir)?;
[INFO] [stdout]     |                ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/macros.rs - macros::install_libraries (line 122) stdout ----
[INFO] [stdout] error[E0599]: no method named `install` found for struct `Libraries` in the current scope
[INFO] [stdout]    --> src/macros.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | let libs = install_libraries!("libs").await?;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `install_libraries` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `Result<Libraries, yt_dlp::error::Error>` is not a future
[INFO] [stdout]    --> src/macros.rs:127:39
[INFO] [stdout]     |
[INFO] [stdout] 127 | let libs = install_libraries!("libs").await?;
[INFO] [stdout]     |                                       ^^^^^ `Result<Libraries, yt_dlp::error::Error>` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Future` is not implemented for `Result<Libraries, yt_dlp::error::Error>`
[INFO] [stdout]     = note: Result<Libraries, yt_dlp::error::Error> must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]     = note: required for `Result<Libraries, yt_dlp::error::Error>` to implement `IntoFuture`
[INFO] [stdout] help: remove the `.await`
[INFO] [stdout]     |
[INFO] [stdout] 127 - let libs = install_libraries!("libs").await?;
[INFO] [stdout] 127 + let libs = install_libraries!("libs")?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/macros.rs - macros::download_video (line 36) stdout ----
[INFO] [stdout] error: cannot find macro `youtube` in this scope
[INFO] [stdout]   --> src/macros.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | let yt = youtube!("libs/yt-dlp", "libs/ffmpeg", "output").await?;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout] 38 + use yt_dlp::youtube;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: type alias takes 1 generic argument but 2 generic arguments were supplied
[INFO] [stdout]   --> src/macros.rs:40:20
[INFO] [stdout]    |
[INFO] [stdout] 40 | async fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                    ^^^^^^   ---------------------------- help: remove the unnecessary generic argument
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: type alias defined here, with 1 generic parameter: `T`
[INFO] [stdout]   --> src/error.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stdout]    |          ^^^^^^ -
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/macros.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | let yt = youtube!("libs/yt-dlp", "libs/ffmpeg", "output").await?;
[INFO] [stdout]    |     ^^
[INFO] [stdout] 42 | download_video!(yt, "https://youtube.com/watch?v=dQw4w9WgXcQ", "video.mp4").await?;
[INFO] [stdout]    |                 -- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `yt` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 41 | let yt: /* Type */ = youtube!("libs/yt-dlp", "libs/ffmpeg", "output").await?;
[INFO] [stdout]    |       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/macros.rs - macros::download_audio (line 69) stdout ----
[INFO] [stdout] error: cannot find macro `youtube` in this scope
[INFO] [stdout]   --> src/macros.rs:74:10
[INFO] [stdout]    |
[INFO] [stdout] 74 | let yt = youtube!("libs/yt-dlp", "libs/ffmpeg", "output").await?;
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout] 71 + use yt_dlp::youtube;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: type alias takes 1 generic argument but 2 generic arguments were supplied
[INFO] [stdout]   --> src/macros.rs:73:20
[INFO] [stdout]    |
[INFO] [stdout] 73 | async fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                    ^^^^^^   ---------------------------- help: remove the unnecessary generic argument
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: type alias defined here, with 1 generic parameter: `T`
[INFO] [stdout]   --> src/error.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub type Result<T> = std::result::Result<T, Error>;
[INFO] [stdout]    |          ^^^^^^ -
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/macros.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | let yt = youtube!("libs/yt-dlp", "libs/ffmpeg", "output").await?;
[INFO] [stdout]    |     ^^
[INFO] [stdout] 75 | download_audio!(yt, "https://youtube.com/watch?v=dQw4w9WgXcQ", "audio.m4a").await?;
[INFO] [stdout]    |                 -- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `yt` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 74 | let yt: /* Type */ = youtube!("libs/yt-dlp", "libs/ffmpeg", "output").await?;
[INFO] [stdout]    |       ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0282.
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/macros.rs - macros::youtube (line 9) stdout ----
[INFO] [stdout] error[E0308]: arguments to this function are incorrect
[INFO] [stdout]   --> src/macros.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | let yt = youtube!("libs/yt-dlp", "libs/ffmpeg", "output").await?;
[INFO] [stdout]    |          ^^^^^^^^^-------------^^-------------^^^^^^^^^^^
[INFO] [stdout]    |                   |              |
[INFO] [stdout]    |                   |              expected `PathBuf`, found `&str`
[INFO] [stdout]    |                   expected `PathBuf`, found `&str`
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/client/deps/mod.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | #[derive(Constructor, Clone, Debug)]
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout]    = note: this error originates in the macro `youtube` which comes from the expansion of the derive macro `Constructor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]    |
[INFO] [stdout] 14 | let yt = youtube!("libs/yt-dlp".into(), "libs/ffmpeg", "output").await?;
[INFO] [stdout]    |                                +++++++
[INFO] [stdout] help: call `Into::into` on this expression to convert `&'static str` into `PathBuf`
[INFO] [stdout]    |
[INFO] [stdout] 14 | let yt = youtube!("libs/yt-dlp", "libs/ffmpeg".into(), "output").await?;
[INFO] [stdout]    |                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/utils/retry.rs - utils::retry::RetryPolicy::execute (line 137) stdout ----
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/utils/retry.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 143 | let result = policy.execute(|| async {
[INFO] [stdout]     |                     ------- type must be known at this point
[INFO] [stdout] 144 |     // Your async operation here
[INFO] [stdout] 145 |     Ok("success".to_string())
[INFO] [stdout]     |     ^^ cannot infer type of the type parameter `E` declared on the enum `Result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: cannot satisfy `_: std::fmt::Display`
[INFO] [stdout] note: required by a bound in `RetryPolicy::execute`
[INFO] [stdout]    --> src/utils/retry.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub async fn execute<F, Fut, T, E>(&self, mut operation: F) -> Result<T, E>
[INFO] [stdout]     |                  ------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 153 |         E: std::fmt::Display,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^ required by this bound in `RetryPolicy::execute`
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 145 |     Ok::<String, E>("success".to_string())
[INFO] [stdout]     |       +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0283]: type annotations needed
[INFO] [stdout]    --> src/utils/retry.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     Ok("success".to_string())
[INFO] [stdout]     |     ^^ cannot infer type of the type parameter `E` declared on the enum `Result`
[INFO] [stdout] 146 | }).await?;
[INFO] [stdout]     |         - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout]     = note: multiple `impl`s satisfying `yt_dlp::error::Error: From<_>` found in the `yt_dlp` crate:
[INFO] [stdout]             - impl From<reqwest::error::Error> for yt_dlp::error::Error;
[INFO] [stdout]             - impl From<serde_json::error::Error> for yt_dlp::error::Error;
[INFO] [stdout]             - impl From<sqlx_core::error::Error> for yt_dlp::error::Error;
[INFO] [stdout]             - impl From<std::io::Error> for yt_dlp::error::Error;
[INFO] [stdout]             - impl From<tokio::runtime::task::error::JoinError> for yt_dlp::error::Error;
[INFO] [stdout]             - impl From<zip::result::ZipError> for yt_dlp::error::Error;
[INFO] [stdout] help: consider specifying the generic arguments
[INFO] [stdout]     |
[INFO] [stdout] 145 |     Ok::<String, E>("success".to_string())
[INFO] [stdout]     |       +++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0283`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/../README.md - (line 1456) stdout ----
[INFO] [stdout] Test executable failed (exit status: 1).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] Error: IO { operation: "File operation", path: None, source: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } }
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/../README.md - (line 1009)
[INFO] [stdout]     src/../README.md - (line 1041)
[INFO] [stdout]     src/../README.md - (line 1073)
[INFO] [stdout]     src/../README.md - (line 1104)
[INFO] [stdout]     src/../README.md - (line 111)
[INFO] [stdout]     src/../README.md - (line 1154)
[INFO] [stdout]     src/../README.md - (line 1203)
[INFO] [stdout]     src/../README.md - (line 1233)
[INFO] [stdout]     src/../README.md - (line 126)
[INFO] [stdout]     src/../README.md - (line 1267)
[INFO] [stdout]     src/../README.md - (line 1307)
[INFO] [stdout]     src/../README.md - (line 1340)
[INFO] [stdout]     src/../README.md - (line 141)
[INFO] [stdout]     src/../README.md - (line 1456)
[INFO] [stdout]     src/../README.md - (line 1490)
[INFO] [stdout]     src/../README.md - (line 156)
[INFO] [stdout]     src/../README.md - (line 178)
[INFO] [stdout]     src/../README.md - (line 201)
[INFO] [stdout]     src/../README.md - (line 233)
[INFO] [stdout]     src/../README.md - (line 256)
[INFO] [stdout]     src/../README.md - (line 279)
[INFO] [stdout]     src/../README.md - (line 310)
[INFO] [stdout]     src/../README.md - (line 341)
[INFO] [stdout]     src/../README.md - (line 364)
[INFO] [stdout]     src/../README.md - (line 410)
[INFO] [stdout]     src/../README.md - (line 451)
[INFO] [stdout]     src/../README.md - (line 530)
[INFO] [stdout]     src/../README.md - (line 608)
[INFO] [stdout]     src/../README.md - (line 647)
[INFO] [stdout]     src/../README.md - (line 686)
[INFO] [stdout]     src/../README.md - (line 727)
[INFO] [stdout]     src/../README.md - (line 778)
[INFO] [stdout]     src/../README.md - (line 811)
[INFO] [stdout]     src/../README.md - (line 841)
[INFO] [stdout]     src/../README.md - (line 871)
[INFO] [stdout]     src/../README.md - (line 916)
[INFO] [stdout]     src/../README.md - (line 971)
[INFO] [stdout]     src/client/builder.rs - client::builder::YoutubeBuilder (line 20)
[INFO] [stdout]     src/client/builder.rs - client::builder::YoutubeBuilder::with_speed_profile (line 152)
[INFO] [stdout]     src/client/deps/ffmpeg.rs - client::deps::ffmpeg::BuildFetcher (line 51)
[INFO] [stdout]     src/client/deps/mod.rs - client::deps::Libraries (line 44)
[INFO] [stdout]     src/client/deps/mod.rs - client::deps::LibraryInstaller (line 21)
[INFO] [stdout]     src/client/deps/mod.rs - client::deps::WantedRelease::download (line 245)
[INFO] [stdout]     src/client/deps/youtube.rs - client::deps::youtube::GitHubFetcher (line 17)
[INFO] [stdout]     src/client/streams.rs - client::streams::Youtube::download_audio_stream (line 413)
[INFO] [stdout]     src/client/streams.rs - client::streams::Youtube::download_audio_stream_from_url (line 369)
[INFO] [stdout]     src/client/streams.rs - client::streams::Youtube::download_format (line 537)
[INFO] [stdout]     src/client/streams.rs - client::streams::Youtube::download_video (line 157)
[INFO] [stdout]     src/client/streams.rs - client::streams::Youtube::download_video_from_url (line 113)
[INFO] [stdout]     src/client/streams.rs - client::streams::Youtube::download_video_stream (line 320)
[INFO] [stdout]     src/client/streams.rs - client::streams::Youtube::download_video_stream_from_url (line 275)
[INFO] [stdout]     src/client/streams.rs - client::streams::Youtube::fetch_video_infos (line 32)
[INFO] [stdout]     src/download/manager.rs - download::manager::DownloadManager::progress_stream (line 612)
[INFO] [stdout]     src/lib.rs - Youtube (line 51)
[INFO] [stdout]     src/lib.rs - Youtube::builder (line 127)
[INFO] [stdout]     src/lib.rs - Youtube::combine_audio_and_video (line 523)
[INFO] [stdout]     src/lib.rs - Youtube::download (line 164)
[INFO] [stdout]     src/lib.rs - Youtube::download_and_continue (line 1398)
[INFO] [stdout]     src/lib.rs - Youtube::download_audio_stream_with_quality (line 1250)
[INFO] [stdout]     src/lib.rs - Youtube::download_video_stream_with_quality (line 1173)
[INFO] [stdout]     src/lib.rs - Youtube::download_video_with_quality (line 1038)
[INFO] [stdout]     src/lib.rs - Youtube::fetch (line 1368)
[INFO] [stdout]     src/lib.rs - Youtube::new (line 206)
[INFO] [stdout]     src/lib.rs - Youtube::pipeline (line 1430)
[INFO] [stdout]     src/lib.rs - Youtube::postprocess_video (line 1480)
[INFO] [stdout]     src/lib.rs - Youtube::update_downloader (line 475)
[INFO] [stdout]     src/lib.rs - Youtube::with_arg (line 444)
[INFO] [stdout]     src/lib.rs - Youtube::with_args (line 381)
[INFO] [stdout]     src/lib.rs - Youtube::with_cache (line 722)
[INFO] [stdout]     src/lib.rs - Youtube::with_download_cache (line 767)
[INFO] [stdout]     src/lib.rs - Youtube::with_playlist_cache (line 812)
[INFO] [stdout]     src/lib.rs - Youtube::with_timeout (line 412)
[INFO] [stdout]     src/macros.rs - macros::download_audio (line 69)
[INFO] [stdout]     src/macros.rs - macros::download_video (line 36)
[INFO] [stdout]     src/macros.rs - macros::install_libraries (line 122)
[INFO] [stdout]     src/macros.rs - macros::youtube (line 9)
[INFO] [stdout]     src/utils/retry.rs - utils::retry::RetryPolicy::execute (line 137)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 10 passed; 77 failed; 1 ignored; 0 measured; 0 filtered out; finished in 33.77s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 34.93s; merged doctests compilation took 1.15s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "fc6eddf257314221b6d8440f77a3ac03d44985bafce5f318c09c2463e3bff23e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc6eddf257314221b6d8440f77a3ac03d44985bafce5f318c09c2463e3bff23e", kill_on_drop: false }`
[INFO] [stdout] fc6eddf257314221b6d8440f77a3ac03d44985bafce5f318c09c2463e3bff23e
