[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 master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fboul2gom%2Fyt-dlp" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/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-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/boul2gom/yt-dlp on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 340 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.1.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded time-macros v0.2.25
[INFO] [stderr]   Downloaded tokio-stream v0.1.18
[INFO] [stderr]   Downloaded time-core v0.1.7
[INFO] [stderr]   Downloaded rand_core v0.9.5
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.58
[INFO] [stderr]   Downloaded mp4ameta v0.13.0
[INFO] [stderr]   Downloaded derive_more v2.1.1
[INFO] [stderr]   Downloaded derive_more-impl v2.1.1
[INFO] [stderr]   Downloaded zip v6.0.0
[INFO] [stderr]   Downloaded schemars v1.2.0
[INFO] [stderr]   Downloaded id3 v1.16.4
[INFO] [stderr]   Downloaded rsa v0.9.10
[INFO] [stderr]   Downloaded time v0.3.45
[INFO] [stderr]   Downloaded zlib-rs v0.5.5
[INFO] [stderr]   Downloaded webpki-roots v1.0.5
[INFO] [stderr]   Downloaded chrono v0.4.43
[INFO] [stderr]   Downloaded lzma-rust2 v0.13.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6205edafedd57dba42480c825c13be1c088d82480809778f8b949f7301ad9ab8
[INFO] running `Command { std: "docker" "start" "-a" "6205edafedd57dba42480c825c13be1c088d82480809778f8b949f7301ad9ab8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6205edafedd57dba42480c825c13be1c088d82480809778f8b949f7301ad9ab8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6205edafedd57dba42480c825c13be1c088d82480809778f8b949f7301ad9ab8", kill_on_drop: false }`
[INFO] [stdout] 6205edafedd57dba42480c825c13be1c088d82480809778f8b949f7301ad9ab8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 611cd73b8e7723857b44d921c5cfa6b582842607d541a87b7d4d7a55eb204680
[INFO] running `Command { std: "docker" "start" "-a" "611cd73b8e7723857b44d921c5cfa6b582842607d541a87b7d4d7a55eb204680", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling zmij v1.0.14
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling cc v1.2.52
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling inout v0.1.4
[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 lzma-sys v0.1.20
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling zlib-rs v0.5.5
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[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 tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[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 thiserror v2.0.17
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling flate2 v1.1.8
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling libbz2-rs-sys v0.2.2
[INFO] [stderr]    Compiling time-core v0.1.7
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling time v0.3.45
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling bzip2 v0.6.1
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling rustls-pki-types v1.13.2
[INFO] [stderr]    Compiling serde_with_macros v3.16.1
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling lzma-rust2 v0.13.0
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]    Compiling ppmd-rust v1.3.0
[INFO] [stderr]    Compiling deflate64 v0.1.10
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling tar v0.4.44
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling id3 v1.16.4
[INFO] [stderr]    Compiling xz2 v0.1.7
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling zip v6.0.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling serde_with v3.16.1
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling ordered-float v5.1.0
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling mp4ameta v0.13.0
[INFO] [stderr]    Compiling sqlx v0.8.6
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling yt-dlp v1.4.7 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 06s
[INFO] running `Command { std: "docker" "inspect" "611cd73b8e7723857b44d921c5cfa6b582842607d541a87b7d4d7a55eb204680", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "611cd73b8e7723857b44d921c5cfa6b582842607d541a87b7d4d7a55eb204680", kill_on_drop: false }`
[INFO] [stdout] 611cd73b8e7723857b44d921c5cfa6b582842607d541a87b7d4d7a55eb204680
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 827bda230f5bcdc5e410093325677170b3754fbab6cf198f742c4ba54e5f7bd6
[INFO] running `Command { std: "docker" "start" "-a" "827bda230f5bcdc5e410093325677170b3754fbab6cf198f742c4ba54e5f7bd6", 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.73s
[INFO] running `Command { std: "docker" "inspect" "827bda230f5bcdc5e410093325677170b3754fbab6cf198f742c4ba54e5f7bd6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "827bda230f5bcdc5e410093325677170b3754fbab6cf198f742c4ba54e5f7bd6", kill_on_drop: false }`
[INFO] [stdout] 827bda230f5bcdc5e410093325677170b3754fbab6cf198f742c4ba54e5f7bd6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e67821c861979b17b71c1a015458dadc77b9f8a7db76cd36e75a78c9db21c3ce
[INFO] running `Command { std: "docker" "start" "-a" "e67821c861979b17b71c1a015458dadc77b9f8a7db76cd36e75a78c9db21c3ce", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/yt_dlp-c2378ab513f2b0d5)
[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 1073) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1041) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1009) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1104) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1307) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1340) ... FAILED
[INFO] [stdout] test src/../README.md - (line 126) ... 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 1233) ... FAILED
[INFO] [stdout] test src/../README.md - (line 201) ... FAILED
[INFO] [stdout] test src/../README.md - (line 178) ... FAILED
[INFO] [stdout] test src/../README.md - (line 233) ... FAILED
[INFO] [stdout] test src/../README.md - (line 256) ... FAILED
[INFO] [stdout] test src/../README.md - (line 279) ... FAILED
[INFO] [stdout] test src/../README.md - (line 310) ... 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 1267) ... FAILED
[INFO] [stdout] test src/../README.md - (line 608) ... FAILED
[INFO] [stdout] test src/../README.md - (line 647) ... FAILED
[INFO] [stdout] test src/../README.md - (line 727) ... FAILED
[INFO] [stdout] test src/../README.md - (line 811) ... FAILED
[INFO] [stdout] test src/../README.md - (line 686) ... FAILED
[INFO] [stdout] test src/../README.md - (line 841) ... FAILED
[INFO] [stdout] test src/../README.md - (line 1490) ... FAILED
[INFO] [stdout] test src/../README.md - (line 778) ... 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/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/mod.rs - client::deps::LibraryInstaller (line 21) - compile ... FAILED
[INFO] [stdout] test src/client/deps/ffmpeg.rs - client::deps::ffmpeg::BuildFetcher (line 51) - compile ... FAILED
[INFO] [stdout] test src/client/deps/youtube.rs - client::deps::youtube::GitHubFetcher (line 17) - compile ... FAILED
[INFO] [stdout] test src/../README.md - (line 1154) ... FAILED
[INFO] [stdout] test src/client/deps/mod.rs - client::deps::WantedRelease::download (line 245) - compile ... FAILED
[INFO] [stdout] test src/../README.md - (line 141) ... FAILED
[INFO] [stdout] test src/client/streams.rs - client::streams::Youtube::download_video (line 157) - 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_from_url (line 369) - 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_audio_stream (line 413) - 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::fetch_video_infos (line 32) - compile ... FAILED
[INFO] [stdout] test src/client/streams.rs - client::streams::Youtube::download_video_stream (line 320) - compile ... FAILED
[INFO] [stdout] test src/download/manager.rs - download::manager::DownloadManager::progress_stream (line 612) - compile ... FAILED
[INFO] [stdout] test src/download/partial.rs - download::partial::PartialRange (line 12) - compile ... ok
[INFO] [stdout] test src/client/streams.rs - client::streams::Youtube::download_video_stream_from_url (line 275) - compile ... FAILED
[INFO] [stdout] test src/../README.md - (line 1203) ... FAILED
[INFO] [stdout] test src/executor/mod.rs - executor::Executor (line 17) - compile ... ok
[INFO] [stdout] test src/lib.rs - Youtube (line 51) - 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_audio_stream_with_quality (line 1250) - 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::builder (line 127) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::download (line 164) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::download_and_continue (line 1398) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::new (line 206) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::fetch (line 1368) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::download_video_with_quality (line 1038) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::pipeline (line 1430) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::postprocess_video (line 1480) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::shutdown (line 1320) - compile ... ok
[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::with_args (line 381) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::with_cache (line 722) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::with_download_cache (line 767) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::with_new_binaries (line 328) - compile ... ok
[INFO] [stdout] test src/macros.rs - macros::ytdlp_args (line 100) ... ignored
[INFO] [stdout] test src/lib.rs - Youtube::with_playlist_cache (line 812) - compile ... FAILED
[INFO] [stdout] test src/lib.rs - Youtube::with_timeout (line 412) - compile ... FAILED
[INFO] [stdout] test src/macros.rs - macros::download_audio (line 69) - compile ... FAILED
[INFO] [stdout] test src/macros.rs - macros::download_video (line 36) - compile ... FAILED
[INFO] [stdout] test src/macros.rs - macros::youtube (line 9) - compile ... FAILED
[INFO] [stdout] test src/macros.rs - macros::install_libraries (line 122) - 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::sanitize_filename (line 185) ... 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::validate_youtube_url (line 28) ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[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 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 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 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 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 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 126) stdout ----
[INFO] [stdout] Test executable failed (exit status: 101).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] 
[INFO] [stdout] thread 'main' (185) 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:     0x593d64b58af2 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x593d64b58af2 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x593d64b58af2 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x593d64b58af2 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x593d64b6e60a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x593d64b6e60a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x593d64b5d8f6 - std[716c9a7a72e5c14e]::io::default_write_fmt::<std[716c9a7a72e5c14e]::sys::stdio::unix::Stderr>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x593d64b5d8f6 - <std[716c9a7a72e5c14e]::sys::stdio::unix::Stderr as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x593d64b3c6af - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x593d64b3c6af - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x593d64b506d1 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:319:9
[INFO] [stdout]   11:     0x593d64b5093b - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:825:13
[INFO] [stdout]   12:     0x593d64b3c768 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   13:     0x593d64b34049 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   14:     0x593d64b3d6fd - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   15:     0x593d64b6ed4c - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   16:     0x593d64b6eac2 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   17:     0x593d6464ec12 - rust_out[31cf89adcf23a82a]::main::{closure#0}
[INFO] [stdout]   18:     0x593d646368b7 - <tokio[66c453fa34673d4a]::runtime::park::CachedParkThread>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>::{closure#0}
[INFO] [stdout]   19:     0x593d64623351 - <tokio[66c453fa34673d4a]::runtime::park::CachedParkThread>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>
[INFO] [stdout]   20:     0x593d64620eca - <tokio[66c453fa34673d4a]::runtime::context::blocking::BlockingRegionGuard>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>
[INFO] [stdout]   21:     0x593d64635ae1 - <tokio[66c453fa34673d4a]::runtime::scheduler::multi_thread::MultiThread>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>::{closure#0}
[INFO] [stdout]   22:     0x593d6462b6e8 - tokio[66c453fa34673d4a]::runtime::context::runtime::enter_runtime::<<tokio[66c453fa34673d4a]::runtime::scheduler::multi_thread::MultiThread>::block_on<rust_out[31cf89adcf23a82a]::main::{closure#0}>::{closure#0}, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>>>
[INFO] [stdout]   23:     0x593d64620f6c - <tokio[66c453fa34673d4a]::runtime::scheduler::multi_thread::MultiThread>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>
[INFO] [stdout]   24:     0x593d646205f5 - <tokio[66c453fa34673d4a]::runtime::runtime::Runtime>::block_on_inner::<rust_out[31cf89adcf23a82a]::main::{closure#0}>
[INFO] [stdout]   25:     0x593d646208aa - <tokio[66c453fa34673d4a]::runtime::runtime::Runtime>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>
[INFO] [stdout]   26:     0x593d64653b1e - rust_out[31cf89adcf23a82a]::main
[INFO] [stdout]   27:     0x593d64660ff3 - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   28:     0x593d6462a2f6 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>>>
[INFO] [stdout]   29:     0x593d64648139 - std[716c9a7a72e5c14e]::rt::lang_start::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>>>::{closure#0}
[INFO] [stdout]   30:     0x593d64b4fc16 - <&dyn core[c5ed12ab89cc536a]::ops::function::Fn<(), Output = i32> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::panic::unwind_safe::RefUnwindSafe as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   31:     0x593d64b4fc16 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<&dyn core[c5ed12ab89cc536a]::ops::function::Fn<(), Output = i32> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   32:     0x593d64b4fc16 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<i32, &dyn core[c5ed12ab89cc536a]::ops::function::Fn<(), Output = i32> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::panic::unwind_safe::RefUnwindSafe>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x593d64b4fc16 - std[716c9a7a72e5c14e]::panic::catch_unwind::<&dyn core[c5ed12ab89cc536a]::ops::function::Fn<(), Output = i32> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x593d64b4fc16 - std[716c9a7a72e5c14e]::rt::lang_start_internal::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/rt.rs:175:24
[INFO] [stdout]   35:     0x593d64b4fc16 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<std[716c9a7a72e5c14e]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x593d64b4fc16 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<isize, std[716c9a7a72e5c14e]::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x593d64b4fc16 - std[716c9a7a72e5c14e]::panic::catch_unwind::<std[716c9a7a72e5c14e]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x593d64b4fc16 - std[716c9a7a72e5c14e]::rt::lang_start_internal
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/rt.rs:171:5
[INFO] [stdout]   39:     0x593d64626211 - std[716c9a7a72e5c14e]::rt::lang_start::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>>>
[INFO] [stdout]   40:     0x593d646614d5 - main
[INFO] [stdout]   41:     0x70683ca1e1ca - <unknown>
[INFO] [stdout]   42:     0x70683ca1e28b - __libc_start_main
[INFO] [stdout]   43:     0x593d6461f8f5 - _start
[INFO] [stdout]   44:                0x0 - <unknown>
[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 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/../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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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/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/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/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/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/../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/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/../README.md - (line 141) stdout ----
[INFO] [stdout] Test executable failed (exit status: 101).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] 
[INFO] [stdout] thread 'main' (440) 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] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout]    0:     0x5e5b0a2a3502 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5e5b0a2a3502 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5e5b0a2a3502 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5e5b0a2a3502 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5e5b0a2b971a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5e5b0a2b971a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x5e5b0a2a8796 - std[716c9a7a72e5c14e]::io::default_write_fmt::<std[716c9a7a72e5c14e]::sys::stdio::unix::Stderr>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5e5b0a2a8796 - <std[716c9a7a72e5c14e]::sys::stdio::unix::Stderr as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5e5b0a2847cf - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5e5b0a2847cf - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5e5b0a299211 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:319:9
[INFO] [stdout]   11:     0x5e5b0a29947b - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:825:13
[INFO] [stdout]   12:     0x5e5b0a284888 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   13:     0x5e5b0a27c039 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   14:     0x5e5b0a285add - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   15:     0x5e5b0a2b9e5c - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   16:     0x5e5b0a2b9bd2 - core[c5ed12ab89cc536a]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/result.rs:1867:5
[INFO] [stdout]   17:     0x5e5b09c40d73 - rust_out[31cf89adcf23a82a]::main::{closure#0}
[INFO] [stdout]   18:     0x5e5b09c22f77 - <tokio[66c453fa34673d4a]::runtime::park::CachedParkThread>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>::{closure#0}
[INFO] [stdout]   19:     0x5e5b09bfdb21 - <tokio[66c453fa34673d4a]::runtime::park::CachedParkThread>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>
[INFO] [stdout]   20:     0x5e5b09bf6dca - <tokio[66c453fa34673d4a]::runtime::context::blocking::BlockingRegionGuard>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>
[INFO] [stdout]   21:     0x5e5b09c202a1 - <tokio[66c453fa34673d4a]::runtime::scheduler::multi_thread::MultiThread>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>::{closure#0}
[INFO] [stdout]   22:     0x5e5b09c1a918 - tokio[66c453fa34673d4a]::runtime::context::runtime::enter_runtime::<<tokio[66c453fa34673d4a]::runtime::scheduler::multi_thread::MultiThread>::block_on<rust_out[31cf89adcf23a82a]::main::{closure#0}>::{closure#0}, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>>>
[INFO] [stdout]   23:     0x5e5b09bf6e6c - <tokio[66c453fa34673d4a]::runtime::scheduler::multi_thread::MultiThread>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>
[INFO] [stdout]   24:     0x5e5b09bf6249 - <tokio[66c453fa34673d4a]::runtime::runtime::Runtime>::block_on_inner::<rust_out[31cf89adcf23a82a]::main::{closure#0}>
[INFO] [stdout]   25:     0x5e5b09bf64fe - <tokio[66c453fa34673d4a]::runtime::runtime::Runtime>::block_on::<rust_out[31cf89adcf23a82a]::main::{closure#0}>
[INFO] [stdout]   26:     0x5e5b09c4aa9f - rust_out[31cf89adcf23a82a]::main
[INFO] [stdout]   27:     0x5e5b09c7e343 - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   28:     0x5e5b09c18186 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>>>
[INFO] [stdout]   29:     0x5e5b09c35649 - std[716c9a7a72e5c14e]::rt::lang_start::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>>>::{closure#0}
[INFO] [stdout]   30:     0x5e5b0a298756 - <&dyn core[c5ed12ab89cc536a]::ops::function::Fn<(), Output = i32> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::panic::unwind_safe::RefUnwindSafe as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   31:     0x5e5b0a298756 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<&dyn core[c5ed12ab89cc536a]::ops::function::Fn<(), Output = i32> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   32:     0x5e5b0a298756 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<i32, &dyn core[c5ed12ab89cc536a]::ops::function::Fn<(), Output = i32> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::panic::unwind_safe::RefUnwindSafe>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5e5b0a298756 - std[716c9a7a72e5c14e]::panic::catch_unwind::<&dyn core[c5ed12ab89cc536a]::ops::function::Fn<(), Output = i32> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5e5b0a298756 - std[716c9a7a72e5c14e]::rt::lang_start_internal::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/rt.rs:175:24
[INFO] [stdout]   35:     0x5e5b0a298756 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<std[716c9a7a72e5c14e]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5e5b0a298756 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<isize, std[716c9a7a72e5c14e]::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5e5b0a298756 - std[716c9a7a72e5c14e]::panic::catch_unwind::<std[716c9a7a72e5c14e]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5e5b0a298756 - std[716c9a7a72e5c14e]::rt::lang_start_internal
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/rt.rs:171:5
[INFO] [stdout]   39:     0x5e5b09c0d091 - std[716c9a7a72e5c14e]::rt::lang_start::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::error::Error>>>
[INFO] [stdout]   40:     0x5e5b09c7f615 - main
[INFO] [stdout]   41:     0x77852a2531ca - <unknown>
[INFO] [stdout]   42:     0x77852a25328b - __libc_start_main
[INFO] [stdout]   43:     0x5e5b09bf29a5 - _start
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[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/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_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/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::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/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/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/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/../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/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/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_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_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::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 (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::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::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::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::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::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::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::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::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_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_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::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::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::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/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/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 39.51s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 40.62s; merged doctests compilation took 1.10s
[INFO] running `Command { std: "docker" "inspect" "e67821c861979b17b71c1a015458dadc77b9f8a7db76cd36e75a78c9db21c3ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e67821c861979b17b71c1a015458dadc77b9f8a7db76cd36e75a78c9db21c3ce", kill_on_drop: false }`
[INFO] [stdout] e67821c861979b17b71c1a015458dadc77b9f8a7db76cd36e75a78c9db21c3ce
