[INFO] cloning repository https://github.com/haruki-nikaidou/ln-scrape
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/haruki-nikaidou/ln-scrape" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fharuki-nikaidou%2Fln-scrape", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fharuki-nikaidou%2Fln-scrape'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a3533591fa80c7cf88a16be328a56dc23c5eef4a
[INFO] testing haruki-nikaidou/ln-scrape against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fharuki-nikaidou%2Fln-scrape" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/haruki-nikaidou/ln-scrape
[INFO] finished tweaking git repo https://github.com/haruki-nikaidou/ln-scrape
[INFO] tweaked toml for git repo https://github.com/haruki-nikaidou/ln-scrape written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/haruki-nikaidou/ln-scrape on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/haruki-nikaidou/ln-scrape already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3040d302f90159449dcf276f0ca25bc256b9a8d0a17e18f3a2fbaf518bbfc786
[INFO] running `Command { std: "docker" "start" "-a" "3040d302f90159449dcf276f0ca25bc256b9a8d0a17e18f3a2fbaf518bbfc786", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3040d302f90159449dcf276f0ca25bc256b9a8d0a17e18f3a2fbaf518bbfc786", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3040d302f90159449dcf276f0ca25bc256b9a8d0a17e18f3a2fbaf518bbfc786", kill_on_drop: false }`
[INFO] [stdout] 3040d302f90159449dcf276f0ca25bc256b9a8d0a17e18f3a2fbaf518bbfc786
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c6da9fa9f7d78e6ecbed48bbc2777008d7b4eda4122790dc335d4210bd90a5bc
[INFO] running `Command { std: "docker" "start" "-a" "c6da9fa9f7d78e6ecbed48bbc2777008d7b4eda4122790dc335d4210bd90a5bc", kill_on_drop: false }`
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]    Compiling serde v1.0.204
[INFO] [stderr]    Compiling jobserver v0.1.32
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]    Compiling openssl v0.10.64
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling syn v2.0.71
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling zstd-safe v7.2.1
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling rustls-pki-types v1.7.0
[INFO] [stderr]    Compiling regex-syntax v0.8.4
[INFO] [stderr]    Compiling serde_json v1.0.120
[INFO] [stderr]    Compiling cc v1.1.1
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling anyhow v1.0.89
[INFO] [stderr]    Compiling brotli-decompressor v4.0.1
[INFO] [stderr]    Compiling sync_wrapper v1.0.1
[INFO] [stderr]    Compiling rustls-pemfile v2.1.2
[INFO] [stderr]    Compiling ego-tree v0.6.2
[INFO] [stderr]    Compiling fake_user_agent v0.2.1
[INFO] [stderr]    Compiling retry v2.0.0
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling http v1.1.0
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling string_cache_codegen v0.5.2
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]    Compiling openssl-sys v0.9.102
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]    Compiling markup5ever v0.11.0
[INFO] [stderr]    Compiling brotli v6.0.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling http-body-util v0.1.2
[INFO] [stderr]    Compiling regex-automata v0.4.7
[INFO] [stderr]    Compiling string_cache v0.8.7
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tokio-macros v2.3.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling phf_macros v0.11.2
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]    Compiling async-trait v0.1.81
[INFO] [stderr]    Compiling html5ever v0.26.0
[INFO] [stderr]    Compiling regex v1.10.5
[INFO] [stderr]    Compiling phf v0.11.2
[INFO] [stderr]    Compiling tokio v1.38.0
[INFO] [stderr]    Compiling cssparser v0.31.2
[INFO] [stderr]    Compiling zstd v0.13.2
[INFO] [stderr]    Compiling pin-project v1.1.5
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling scraper v0.19.0
[INFO] [stderr]    Compiling tokio-util v0.7.11
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling async-compression v0.4.12
[INFO] [stderr]    Compiling h2 v0.4.5
[INFO] [stderr]    Compiling hyper v1.4.1
[INFO] [stderr]    Compiling hyper-util v0.1.6
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.5
[INFO] [stderr]    Compiling fuckbilinovel-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Catalog` and `Volume`
[INFO] [stdout]  --> src/ln_source/bili/parser.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::scrape::{Catalog, NovelInfo, Volume};
[INFO] [stdout]   |                     ^^^^^^^             ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `novel`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:34:39
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_novel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_sender`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:34:58
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chapter`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:38:41
[INFO] [stdout]    |
[INFO] [stdout] 38 |     async fn get_chapter_content(&self, chapter: &Chapter, request_sender: impl RequestSenderTrait) -> anyhow::Result<Html> {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_sender`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:38:60
[INFO] [stdout]    |
[INFO] [stdout] 38 |     async fn get_chapter_content(&self, chapter: &Chapter, request_sender: impl RequestSenderTrait) -> anyhow::Result<Html> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |     async fn get_image(&self, src: &str, request_sender: impl RequestSenderTrait) -> anyhow::Result<Vec<u8>> {
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_sender`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:42:42
[INFO] [stdout]    |
[INFO] [stdout] 42 |     async fn get_image(&self, src: &str, request_sender: impl RequestSenderTrait) -> anyhow::Result<Vec<u8>> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BiliNovelSource` is never constructed
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct BiliNovelSource;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOURCE_URL` is never used
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const SOURCE_URL: &str = "https://www.bilinovel.com";
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_novel_id` is never used
[INFO] [stdout]   --> src/ln_source/bili/utils.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(super) fn get_novel_id(url: &Url) -> Option<i32> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_info_url` is never used
[INFO] [stdout]   --> src/ln_source/bili/utils.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(super) fn get_info_url(id: i32) -> Url {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_catalog_url` is never used
[INFO] [stdout]   --> src/ln_source/bili/utils.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(super) fn get_catalog_url(id: i32) -> Url {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_cloudflare_block` is never used
[INFO] [stdout]  --> src/ln_source/bili/parser.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(super) fn detect_cloudflare_block(html: &Html) -> bool {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_info_page` is never used
[INFO] [stdout]   --> src/ln_source/bili/parser.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(super) fn parse_info_page(html: Html, id: i32, url: Url) -> Result<NovelInfo> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FromSingleLiNode` is never used
[INFO] [stdout]   --> src/ln_source/bili/parser.rs:67:6
[INFO] [stdout]    |
[INFO] [stdout] 67 | enum FromSingleLiNode {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_li_element` is never used
[INFO] [stdout]   --> src/ln_source/bili/parser.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn parse_li_element(li: scraper::ElementRef) -> Result<FromSingleLiNode> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_volumes_li_elements` is never used
[INFO] [stdout]    --> src/ln_source/bili/parser.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn parse_volumes_li_elements(doc: Html) -> Vec<FromSingleLiNode> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/scrape/source.rs:12:109
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> Result<Catalog>;
[INFO] [stdout]    |                                - the lifetime is named here                                                 ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> Result<Catalog<'life0>>;
[INFO] [stdout]    |                                                                                                                    ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:34:117
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stdout]    |                                - the lifetime is named here                                                         ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog<'life0>> {
[INFO] [stdout]    |                                                                                                                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.84s
[INFO] running `Command { std: "docker" "inspect" "c6da9fa9f7d78e6ecbed48bbc2777008d7b4eda4122790dc335d4210bd90a5bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6da9fa9f7d78e6ecbed48bbc2777008d7b4eda4122790dc335d4210bd90a5bc", kill_on_drop: false }`
[INFO] [stdout] c6da9fa9f7d78e6ecbed48bbc2777008d7b4eda4122790dc335d4210bd90a5bc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 90fd9ec6e0c6f8becd353206370b9106deae377cd5e107246f7c4d33c23aad9e
[INFO] running `Command { std: "docker" "start" "-a" "90fd9ec6e0c6f8becd353206370b9106deae377cd5e107246f7c4d33c23aad9e", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `Catalog` and `Volume`
[INFO] [stdout]  --> src/ln_source/bili/parser.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::scrape::{Catalog, NovelInfo, Volume};
[INFO] [stdout]   |                     ^^^^^^^             ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `novel`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:34:39
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_novel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_sender`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:34:58
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chapter`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:38:41
[INFO] [stdout]    |
[INFO] [stdout] 38 |     async fn get_chapter_content(&self, chapter: &Chapter, request_sender: impl RequestSenderTrait) -> anyhow::Result<Html> {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling fuckbilinovel-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `request_sender`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:38:60
[INFO] [stdout]    |
[INFO] [stdout] 38 |     async fn get_chapter_content(&self, chapter: &Chapter, request_sender: impl RequestSenderTrait) -> anyhow::Result<Html> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |     async fn get_image(&self, src: &str, request_sender: impl RequestSenderTrait) -> anyhow::Result<Vec<u8>> {
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_sender`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:42:42
[INFO] [stdout]    |
[INFO] [stdout] 42 |     async fn get_image(&self, src: &str, request_sender: impl RequestSenderTrait) -> anyhow::Result<Vec<u8>> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BiliNovelSource` is never constructed
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct BiliNovelSource;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOURCE_URL` is never used
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const SOURCE_URL: &str = "https://www.bilinovel.com";
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_novel_id` is never used
[INFO] [stdout]   --> src/ln_source/bili/utils.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(super) fn get_novel_id(url: &Url) -> Option<i32> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_info_url` is never used
[INFO] [stdout]   --> src/ln_source/bili/utils.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(super) fn get_info_url(id: i32) -> Url {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_catalog_url` is never used
[INFO] [stdout]   --> src/ln_source/bili/utils.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(super) fn get_catalog_url(id: i32) -> Url {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `detect_cloudflare_block` is never used
[INFO] [stdout]  --> src/ln_source/bili/parser.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(super) fn detect_cloudflare_block(html: &Html) -> bool {
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_info_page` is never used
[INFO] [stdout]   --> src/ln_source/bili/parser.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(super) fn parse_info_page(html: Html, id: i32, url: Url) -> Result<NovelInfo> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FromSingleLiNode` is never used
[INFO] [stdout]   --> src/ln_source/bili/parser.rs:67:6
[INFO] [stdout]    |
[INFO] [stdout] 67 | enum FromSingleLiNode {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_li_element` is never used
[INFO] [stdout]   --> src/ln_source/bili/parser.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn parse_li_element(li: scraper::ElementRef) -> Result<FromSingleLiNode> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_volumes_li_elements` is never used
[INFO] [stdout]    --> src/ln_source/bili/parser.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn parse_volumes_li_elements(doc: Html) -> Vec<FromSingleLiNode> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/scrape/source.rs:12:109
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> Result<Catalog>;
[INFO] [stdout]    |                                - the lifetime is named here                                                 ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> Result<Catalog<'life0>>;
[INFO] [stdout]    |                                                                                                                    ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:34:117
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stdout]    |                                - the lifetime is named here                                                         ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog<'life0>> {
[INFO] [stdout]    |                                                                                                                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Catalog` and `Volume`
[INFO] [stdout]  --> src/ln_source/bili/parser.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::scrape::{Catalog, NovelInfo, Volume};
[INFO] [stdout]   |                     ^^^^^^^             ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `novel`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:34:39
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_novel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_sender`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:34:58
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chapter`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:38:41
[INFO] [stdout]    |
[INFO] [stdout] 38 |     async fn get_chapter_content(&self, chapter: &Chapter, request_sender: impl RequestSenderTrait) -> anyhow::Result<Html> {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_sender`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:38:60
[INFO] [stdout]    |
[INFO] [stdout] 38 |     async fn get_chapter_content(&self, chapter: &Chapter, request_sender: impl RequestSenderTrait) -> anyhow::Result<Html> {
[INFO] [stdout]    |                                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:42:31
[INFO] [stdout]    |
[INFO] [stdout] 42 |     async fn get_image(&self, src: &str, request_sender: impl RequestSenderTrait) -> anyhow::Result<Vec<u8>> {
[INFO] [stdout]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request_sender`
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:42:42
[INFO] [stdout]    |
[INFO] [stdout] 42 |     async fn get_image(&self, src: &str, request_sender: impl RequestSenderTrait) -> anyhow::Result<Vec<u8>> {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_novel_id` is never used
[INFO] [stdout]   --> src/ln_source/bili/utils.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(super) fn get_novel_id(url: &Url) -> Option<i32> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_catalog_url` is never used
[INFO] [stdout]   --> src/ln_source/bili/utils.rs:21:15
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub(super) fn get_catalog_url(id: i32) -> Url {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FromSingleLiNode` is never used
[INFO] [stdout]   --> src/ln_source/bili/parser.rs:67:6
[INFO] [stdout]    |
[INFO] [stdout] 67 | enum FromSingleLiNode {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_li_element` is never used
[INFO] [stdout]   --> src/ln_source/bili/parser.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn parse_li_element(li: scraper::ElementRef) -> Result<FromSingleLiNode> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_volumes_li_elements` is never used
[INFO] [stdout]    --> src/ln_source/bili/parser.rs:102:4
[INFO] [stdout]     |
[INFO] [stdout] 102 | fn parse_volumes_li_elements(doc: Html) -> Vec<FromSingleLiNode> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/scrape/source.rs:12:109
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> Result<Catalog>;
[INFO] [stdout]    |                                - the lifetime is named here                                                 ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> Result<Catalog<'life0>>;
[INFO] [stdout]    |                                                                                                                    ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/ln_source/bili/mod.rs:34:117
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stdout]    |                                - the lifetime is named here                                                         ^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'life0`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog<'life0>> {
[INFO] [stdout]    |                                                                                                                            ++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.16s
[INFO] running `Command { std: "docker" "inspect" "90fd9ec6e0c6f8becd353206370b9106deae377cd5e107246f7c4d33c23aad9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90fd9ec6e0c6f8becd353206370b9106deae377cd5e107246f7c4d33c23aad9e", kill_on_drop: false }`
[INFO] [stdout] 90fd9ec6e0c6f8becd353206370b9106deae377cd5e107246f7c4d33c23aad9e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e85ff16ecf0ac3b3484e0e95ae18763b8e72316a2d748d57a39dec988500e27b
[INFO] running `Command { std: "docker" "start" "-a" "e85ff16ecf0ac3b3484e0e95ae18763b8e72316a2d748d57a39dec988500e27b", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Catalog` and `Volume`
[INFO] [stderr]  --> src/ln_source/bili/parser.rs:6:21
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::scrape::{Catalog, NovelInfo, Volume};
[INFO] [stderr]   |                     ^^^^^^^             ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `novel`
[INFO] [stderr]   --> src/ln_source/bili/mod.rs:34:39
[INFO] [stderr]    |
[INFO] [stderr] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stderr]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_novel`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `request_sender`
[INFO] [stderr]   --> src/ln_source/bili/mod.rs:34:58
[INFO] [stderr]    |
[INFO] [stderr] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stderr]    |                                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `chapter`
[INFO] [stderr]   --> src/ln_source/bili/mod.rs:38:41
[INFO] [stderr]    |
[INFO] [stderr] 38 |     async fn get_chapter_content(&self, chapter: &Chapter, request_sender: impl RequestSenderTrait) -> anyhow::Result<Html> {
[INFO] [stderr]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chapter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `request_sender`
[INFO] [stderr]   --> src/ln_source/bili/mod.rs:38:60
[INFO] [stderr]    |
[INFO] [stderr] 38 |     async fn get_chapter_content(&self, chapter: &Chapter, request_sender: impl RequestSenderTrait) -> anyhow::Result<Html> {
[INFO] [stderr]    |                                                            ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]   --> src/ln_source/bili/mod.rs:42:31
[INFO] [stderr]    |
[INFO] [stderr] 42 |     async fn get_image(&self, src: &str, request_sender: impl RequestSenderTrait) -> anyhow::Result<Vec<u8>> {
[INFO] [stderr]    |                               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `request_sender`
[INFO] [stderr]   --> src/ln_source/bili/mod.rs:42:42
[INFO] [stderr]    |
[INFO] [stderr] 42 |     async fn get_image(&self, src: &str, request_sender: impl RequestSenderTrait) -> anyhow::Result<Vec<u8>> {
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request_sender`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BiliNovelSource` is never constructed
[INFO] [stderr]   --> src/ln_source/bili/mod.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct BiliNovelSource;
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SOURCE_URL` is never used
[INFO] [stderr]   --> src/ln_source/bili/mod.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const SOURCE_URL: &str = "https://www.bilinovel.com";
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_novel_id` is never used
[INFO] [stderr]   --> src/ln_source/bili/utils.rs:10:15
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub(super) fn get_novel_id(url: &Url) -> Option<i32> {
[INFO] [stderr]    |               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_info_url` is never used
[INFO] [stderr]   --> src/ln_source/bili/utils.rs:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub(super) fn get_info_url(id: i32) -> Url {
[INFO] [stderr]    |               ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_catalog_url` is never used
[INFO] [stderr]   --> src/ln_source/bili/utils.rs:21:15
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub(super) fn get_catalog_url(id: i32) -> Url {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `detect_cloudflare_block` is never used
[INFO] [stderr]  --> src/ln_source/bili/parser.rs:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub(super) fn detect_cloudflare_block(html: &Html) -> bool {
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_info_page` is never used
[INFO] [stderr]   --> src/ln_source/bili/parser.rs:17:15
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub(super) fn parse_info_page(html: Html, id: i32, url: Url) -> Result<NovelInfo> {
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `FromSingleLiNode` is never used
[INFO] [stderr]   --> src/ln_source/bili/parser.rs:67:6
[INFO] [stderr]    |
[INFO] [stderr] 67 | enum FromSingleLiNode {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_li_element` is never used
[INFO] [stderr]   --> src/ln_source/bili/parser.rs:74:4
[INFO] [stderr]    |
[INFO] [stderr] 74 | fn parse_li_element(li: scraper::ElementRef) -> Result<FromSingleLiNode> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_volumes_li_elements` is never used
[INFO] [stderr]    --> src/ln_source/bili/parser.rs:102:4
[INFO] [stderr]     |
[INFO] [stderr] 102 | fn parse_volumes_li_elements(doc: Html) -> Vec<FromSingleLiNode> {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/scrape/source.rs:12:109
[INFO] [stderr]    |
[INFO] [stderr] 12 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> Result<Catalog>;
[INFO] [stderr]    |                                - the lifetime is named here                                                 ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]    |
[INFO] [stderr] 12 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> Result<Catalog<'life0>>;
[INFO] [stderr]    |                                                                                                                    ++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/ln_source/bili/mod.rs:34:117
[INFO] [stderr]    |
[INFO] [stderr] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog> {
[INFO] [stderr]    |                                - the lifetime is named here                                                         ^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'life0`
[INFO] [stderr]    |
[INFO] [stderr] 34 |     async fn get_novel_catalog(&self, novel: &NovelInfo, request_sender: impl RequestSenderTrait) -> anyhow::Result<Catalog<'life0>> {
[INFO] [stderr]    |                                                                                                                            ++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_novel_id` is never used
[INFO] [stderr]   --> src/ln_source/bili/utils.rs:10:15
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub(super) fn get_novel_id(url: &Url) -> Option<i32> {
[INFO] [stderr]    |               ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `fuckbilinovel-rs` (lib) generated 19 warnings (run `cargo fix --lib -p fuckbilinovel-rs` to apply 3 suggestions)
[INFO] [stderr] warning: `fuckbilinovel-rs` (lib test) generated 14 warnings (13 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fuckbilinovel_rs-b8c7506a97f3b261)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test ln_source::bili::test::test_get_novel_info ... FAILED
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- ln_source::bili::test::test_get_novel_info stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'ln_source::bili::test::test_get_novel_info' (25) panicked at src/ln_source/bili/mod.rs:56:78:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: error sending request for url (https://www.bilinovel.com/novel/2890.html)
[INFO] [stdout] 
[INFO] [stdout] Caused by:
[INFO] [stdout]     0: client error (Connect)
[INFO] [stdout]     1: dns error: failed to lookup address information: Temporary failure in name resolution
[INFO] [stdout]     2: failed to lookup address information: Temporary failure in name resolution
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.89/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/result.rs:2177:27
[INFO] [stdout]    2: <fuckbilinovel_rs::ln_source::bili::BiliNovelSource as fuckbilinovel_rs::scrape::source::LightNovelSource>::get_novel_info::{{closure}}
[INFO] [stdout]              at ./src/ln_source/bili/mod.rs:26:20
[INFO] [stdout]    3: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/future/future.rs:133:9
[INFO] [stdout]    4: fuckbilinovel_rs::ln_source::bili::test::test_get_novel_info::{{closure}}
[INFO] [stdout]              at ./src/ln_source/bili/mod.rs:56:72
[INFO] [stdout]    5: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/future/future.rs:133:9
[INFO] [stdout]    6: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/future/future.rs:133:9
[INFO] [stdout]    7: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:659:73
[INFO] [stdout]    8: tokio::runtime::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/coop.rs:107:5
[INFO] [stdout]    9: tokio::runtime::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/coop.rs:73:5
[INFO] [stdout]   10: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:659:25
[INFO] [stdout]   11: tokio::runtime::scheduler::current_thread::Context::enter
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:404:19
[INFO] [stdout]   12: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:658:44
[INFO] [stdout]   13: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:737:68
[INFO] [stdout]   14: tokio::runtime::context::scoped::Scoped<T>::set
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   15: tokio::runtime::context::set_scheduler::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/context.rs:180:38
[INFO] [stdout]   16: std::thread::local::LocalKey<T>::try_with
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/local.rs:315:12
[INFO] [stdout]   17: std::thread::local::LocalKey<T>::with
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/local.rs:279:20
[INFO] [stdout]   18: tokio::runtime::context::set_scheduler
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/context.rs:180:17
[INFO] [stdout]   19: tokio::runtime::scheduler::current_thread::CoreGuard::enter
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:737:27
[INFO] [stdout]   20: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:646:24
[INFO] [stdout]   21: tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:175:33
[INFO] [stdout]   22: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   23: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:167:9
[INFO] [stdout]   24: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/runtime.rs:347:52
[INFO] [stdout]   25: fuckbilinovel_rs::ln_source::bili::test::test_get_novel_info
[INFO] [stdout]              at ./src/ln_source/bili/mod.rs:57:37
[INFO] [stdout]   26: fuckbilinovel_rs::ln_source::bili::test::test_get_novel_info::{{closure}}
[INFO] [stdout]              at ./src/ln_source/bili/mod.rs:53:35
[INFO] [stdout]   27: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29: test::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:663:18
[INFO] [stdout]   30: test::run_test_in_process::{{closure}}
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:74
[INFO] [stdout]   31: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   32: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   33: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   34: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   35: test::run_test_in_process
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:27
[INFO] [stdout]   36: test::run_test::{{closure}}
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:607:43
[INFO] [stdout]   37: test::run_test::{{closure}}
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:637:41
[INFO] [stdout]   38: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   39: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   40: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   41: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   42: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   43: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   44: std::thread::Builder::spawn_unchecked_::{{closure}}
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   45: core::ops::function::FnOnce::call_once{{vtable.shim}}
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   47: std::sys::thread::unix::Thread::new::thread_start
[INFO] [stdout]              at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stdout]   48: <unknown>
[INFO] [stdout]   49: clone
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5906064e8ec2 - std::backtrace_rs::backtrace::libunwind::trace::hcab59e1e990fdc24
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5906064e8ec2 - std::backtrace_rs::backtrace::trace_unsynchronized::he24cc57f3d2f47b7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5906064e8ec2 - std::sys::backtrace::_print_fmt::hf8d65ede198eeb54
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5906064e8ec2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h67edf0e4d33c343c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5906064fb0af - core::fmt::rt::Argument::fmt::hef94184842aeafdd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5906064fb0af - core::fmt::write::hcf0c66b48a8fa606
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/mod.rs:1468:25
[INFO] [stdout]    6:     0x5906064b3981 - std::io::default_write_fmt::h69967ac0ba93195f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5906064b3981 - std::io::Write::write_fmt::h8db9396209deaa1c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5906064c06c2 - std::sys::backtrace::BacktraceLock::print::h07e5435aa717b414
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5906064c5fff - std::panicking::default_hook::{{closure}}::h91001850288db5f7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5906064c5e91 - std::panicking::default_hook::h2346dbb704ef5512
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x590605f6988e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h18383b2e29377420
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   12:     0x590605f6988e - test::test_main_with_exit_callback::{{closure}}::h272d7ef99aef06dc
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5906064c676f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6dba6e441651a0d1
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   14:     0x5906064c676f - std::panicking::panic_with_hook::hd2b063a6090d23a4
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5906064c651a - std::panicking::panic_handler::{{closure}}::he666d95f139a333e
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x5906064c07f9 - std::sys::backtrace::__rust_end_short_backtrace::h631ad224854ebee5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5906064a7bed - __rustc[1d67440d6e82e4f]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x590606503ef0 - core::panicking::panic_fmt::h420ddb7fd73daf53
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x590606503416 - core::result::unwrap_failed::hdde076be853d034f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/result.rs:1855:5
[INFO] [stdout]   20:     0x590605f38514 - core::result::Result<T,E>::unwrap::he09796f5dcef7f9e
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/result.rs:1226:23
[INFO] [stdout]   21:     0x590605f38514 - fuckbilinovel_rs::ln_source::bili::test::test_get_novel_info::{{closure}}::hbe0a213b3a0a69fa
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ln_source/bili/mod.rs:56:78
[INFO] [stdout]   22:     0x590605f3cff2 - <core::pin::Pin<P> as core::future::future::Future>::poll::h7fac479094579031
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x590605f3cfad - <core::pin::Pin<P> as core::future::future::Future>::poll::h64ad8124aef993dc
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x590605f37a9d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::hc9059d9c61643973
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:659:73
[INFO] [stdout]   25:     0x590605f379eb - tokio::runtime::coop::with_budget::hd544243ffa44812f
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/coop.rs:107:5
[INFO] [stdout]   26:     0x590605f379eb - tokio::runtime::coop::budget::h971f83063adcd1e8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/coop.rs:73:5
[INFO] [stdout]   27:     0x590605f379eb - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hbd42db3339df524c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:659:25
[INFO] [stdout]   28:     0x590605f36230 - tokio::runtime::scheduler::current_thread::Context::enter::h732bb83d2ec1e3ba
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:404:19
[INFO] [stdout]   29:     0x590605f370a0 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::hafbec340fea0ef68
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:658:44
[INFO] [stdout]   30:     0x590605f36dc4 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h411f738cc27fa4ec
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:737:68
[INFO] [stdout]   31:     0x590605f46d6b - tokio::runtime::context::scoped::Scoped<T>::set::he61b8dc30d32dda1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x590605f3be29 - tokio::runtime::context::set_scheduler::{{closure}}::h19553f5f2fd6683d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/context.rs:180:38
[INFO] [stdout]   33:     0x590605f43cb2 - std::thread::local::LocalKey<T>::try_with::h67b16f3acc48036b
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/local.rs:315:12
[INFO] [stdout]   34:     0x590605f4373e - std::thread::local::LocalKey<T>::with::h01bb0a4d66cf43d4
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/local.rs:279:20
[INFO] [stdout]   35:     0x590605f3bddd - tokio::runtime::context::set_scheduler::hbccfeeed4cece790
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/context.rs:180:17
[INFO] [stdout]   36:     0x590605f36b70 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::hae0a0a472928393a
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:737:27
[INFO] [stdout]   37:     0x590605f36de3 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h50af6237e2971be0
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:646:24
[INFO] [stdout]   38:     0x590605f35e95 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::he4565d019cc9d48a
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:175:33
[INFO] [stdout]   39:     0x590605f3c000 - tokio::runtime::context::runtime::enter_runtime::h3a5c9702013fdc20
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x590605f35df1 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::haafe6454d23e010e
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/scheduler/current_thread/mod.rs:167:9
[INFO] [stdout]   41:     0x590605f40f8a - tokio::runtime::runtime::Runtime::block_on::hde30b0ec0421419c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.38.0/src/runtime/runtime.rs:347:52
[INFO] [stdout]   42:     0x590605f38153 - fuckbilinovel_rs::ln_source::bili::test::test_get_novel_info::h6085d2d32b9a820d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ln_source/bili/mod.rs:57:37
[INFO] [stdout]   43:     0x590605f381e7 - fuckbilinovel_rs::ln_source::bili::test::test_get_novel_info::{{closure}}::h964d74104530e7f6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ln_source/bili/mod.rs:53:35
[INFO] [stdout]   44:     0x590605f33a46 - core::ops::function::FnOnce::call_once::h654c5c902f033eb0
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x590605f6964b - core::ops::function::FnOnce::call_once::h70887edf07a630ba
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x590605f6964b - test::__rust_begin_short_backtrace::h27763c4cbbdb8601
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:663:18
[INFO] [stdout]   47:     0x590605f7f2b5 - test::run_test_in_process::{{closure}}::h4dc8bc6d5e3924d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:74
[INFO] [stdout]   48:     0x590605f7f2b5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h75905e8ffe81974f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   49:     0x590605f7f2b5 - std::panicking::catch_unwind::do_call::h0bc60366ba66eba5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   50:     0x590605f7f2b5 - std::panicking::catch_unwind::hae1ec7bf94407afa
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   51:     0x590605f7f2b5 - std::panic::catch_unwind::h0f4ff4773d84d3cd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x590605f7f2b5 - test::run_test_in_process::h03fbc77ae48b3f10
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:27
[INFO] [stdout]   53:     0x590605f7f2b5 - test::run_test::{{closure}}::h83476a9c453dc4d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:607:43
[INFO] [stdout]   54:     0x590605f55aa4 - test::run_test::{{closure}}::h515482ad1e7fe7de
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:637:41
[INFO] [stdout]   55:     0x590605f55aa4 - std::sys::backtrace::__rust_begin_short_backtrace::hed09f6ac5fe9d647
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   56:     0x590605f5936a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h988e2cd969319888
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   57:     0x590605f5936a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd70e28dc46ec20be
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   58:     0x590605f5936a - std::panicking::catch_unwind::do_call::hdc29e11311eb7655
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   59:     0x590605f5936a - std::panicking::catch_unwind::h9e402d6a96fef41c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   60:     0x590605f5936a - std::panic::catch_unwind::h9213c0c54aec70e0
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x590605f5936a - std::thread::Builder::spawn_unchecked_::{{closure}}::h6262965869ed2b87
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   62:     0x590605f5936a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h05c05ed02619e462
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x5906064bb95f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h2044e71c41d3958a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   64:     0x5906064bb95f - std::sys::thread::unix::Thread::new::thread_start::hf277835320aa8e5a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stdout]   65:     0x7f20ebbc7aa4 - <unknown>
[INFO] [stdout]   66:     0x7f20ebc54a34 - clone
[INFO] [stdout]   67:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     ln_source::bili::test::test_get_novel_info
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e85ff16ecf0ac3b3484e0e95ae18763b8e72316a2d748d57a39dec988500e27b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e85ff16ecf0ac3b3484e0e95ae18763b8e72316a2d748d57a39dec988500e27b", kill_on_drop: false }`
[INFO] [stdout] e85ff16ecf0ac3b3484e0e95ae18763b8e72316a2d748d57a39dec988500e27b
