[INFO] cloning repository https://github.com/Staninbui/stars_fetcher
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Staninbui/stars_fetcher" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStaninbui%2Fstars_fetcher", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStaninbui%2Fstars_fetcher'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1b298a1a176d13f41217d300054e24706cdcdba1
[INFO] testing Staninbui/stars_fetcher against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStaninbui%2Fstars_fetcher" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Staninbui/stars_fetcher
[INFO] finished tweaking git repo https://github.com/Staninbui/stars_fetcher
[INFO] tweaked toml for git repo https://github.com/Staninbui/stars_fetcher written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Staninbui/stars_fetcher on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Staninbui/stars_fetcher already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a05fc4b05a671104240342d756a454d2609243fc0e91e10ec48b65afc1aa1754
[INFO] running `Command { std: "docker" "start" "-a" "a05fc4b05a671104240342d756a454d2609243fc0e91e10ec48b65afc1aa1754", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a05fc4b05a671104240342d756a454d2609243fc0e91e10ec48b65afc1aa1754", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a05fc4b05a671104240342d756a454d2609243fc0e91e10ec48b65afc1aa1754", kill_on_drop: false }`
[INFO] [stdout] a05fc4b05a671104240342d756a454d2609243fc0e91e10ec48b65afc1aa1754
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1a7bd0f87090c132002d05f411ec2145a73a095c9aee037d41b6121adfc5ab79
[INFO] running `Command { std: "docker" "start" "-a" "1a7bd0f87090c132002d05f411ec2145a73a095c9aee037d41b6121adfc5ab79", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.16
[INFO] [stderr]    Compiling once_cell v1.20.3
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]    Compiling cc v1.2.14
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling litemap v0.7.4
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling bytes v1.10.0
[INFO] [stderr]    Compiling bitflags v2.8.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling socket2 v0.5.8
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling openssl v0.10.71
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling icu_properties_data v1.5.0
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling ryu v1.0.19
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling httparse v1.10.0
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling indexmap v2.7.1
[INFO] [stderr]    Compiling native-tls v0.2.13
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling log v0.4.25
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling openssl-sys v0.9.106
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling serde_json v1.0.138
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling portable-atomic v1.11.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling csv-core v0.1.12
[INFO] [stderr]    Compiling os_str_bytes v6.6.1
[INFO] [stderr]    Compiling winnow v0.7.6
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling is-terminal v0.4.15
[INFO] [stderr]    Compiling encode_unicode v1.0.0
[INFO] [stderr]    Compiling textwrap v0.16.1
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling shell-words v1.1.0
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling tempfile v3.17.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling clap_derive v3.2.25
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling clap v3.2.25
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling tokio-util v0.7.13
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling prettytable-rs v0.10.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling toml v0.8.20
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling starts_fetcher v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `io::Write`
[INFO] [stdout]  --> src/api/repos.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{error::Error, path::Path, fs, io::Write, process::Command};
[INFO] [stdout]   |                                         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `Repo::get_repo::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:12:58
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `Repo::get_repo::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:12:58
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `Repo::list_repos::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `Repo::list_repos::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `Repo::get_repo_details::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:14:66
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `Repo::get_repo_details::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:14:66
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::get_repo`
[INFO] [stdout]   --> src/api/repos.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<GitHubClient as Repo>::get_repo` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::get_repo::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:44:58
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>> {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<GitHubClient as Repo>::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::list_repos`
[INFO] [stdout]   --> src/api/repos.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<GitHubClient as Repo>::list_repos` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::list_repos::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:60:35
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<GitHubClient as Repo>::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `<GitHubClient as Repo>::get_repo_details`
[INFO] [stdout]   --> src/api/repos.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<GitHubClient as Repo>::get_repo_details` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `<GitHubClient as Repo>::get_repo_details::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:76:66
[INFO] [stdout]    |
[INFO] [stdout] 76 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>> {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<GitHubClient as Repo>::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Repo` is never used
[INFO] [stdout]   --> src/api/repos.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait Repo {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepoResponse` is never constructed
[INFO] [stdout]   --> src/api/repos.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OwnerResponse` is never constructed
[INFO] [stdout]   --> src/api/repos.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct OwnerResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepoDetailsResponse` is never constructed
[INFO] [stdout]   --> src/api/repos.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Star` is never used
[INFO] [stdout]   --> src/api/stars.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Star {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitHubClient` is never constructed
[INFO] [stdout]   --> src/api/client.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct GitHubClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `create_http_client`, `new`, `validate_auth`, `from_config`, and `new_validated` are never used
[INFO] [stdout]   --> src/api/client.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl GitHubClient {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 17 |     fn create_http_client() -> Client {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub async fn new(api_url: String, token: String) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     async fn validate_auth(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn from_config(config: &Config) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub async fn new_validated(config: &Config) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_github_config` is never used
[INFO] [stdout]   --> src/api/client.rs:70:14
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub async fn validate_github_config() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cell`
[INFO] [stdout]  --> src/main.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use prettytable::{Table, row, cell};
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 58s
[INFO] running `Command { std: "docker" "inspect" "1a7bd0f87090c132002d05f411ec2145a73a095c9aee037d41b6121adfc5ab79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1a7bd0f87090c132002d05f411ec2145a73a095c9aee037d41b6121adfc5ab79", kill_on_drop: false }`
[INFO] [stdout] 1a7bd0f87090c132002d05f411ec2145a73a095c9aee037d41b6121adfc5ab79
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3dfc8493ef1a6ab6bfeb018dbd4a3bcec205347f9b4ef9433d661bd212c40484
[INFO] running `Command { std: "docker" "start" "-a" "3dfc8493ef1a6ab6bfeb018dbd4a3bcec205347f9b4ef9433d661bd212c40484", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling tempfile v3.17.1
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling tokio v1.43.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling tokio-util v0.7.13
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling h2 v0.4.9
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.11
[INFO] [stderr]    Compiling mockito v1.7.0
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling starts_fetcher v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `io::Write`
[INFO] [stdout]  --> src/api/repos.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{error::Error, path::Path, fs, io::Write, process::Command};
[INFO] [stdout]   |                                         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `Repo::get_repo::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:12:58
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `Repo::get_repo::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:12:58
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `Repo::list_repos::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `Repo::list_repos::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `Repo::get_repo_details::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:14:66
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `Repo::get_repo_details::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:14:66
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::get_repo`
[INFO] [stdout]   --> src/api/repos.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<GitHubClient as Repo>::get_repo` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::get_repo::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:44:58
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>> {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<GitHubClient as Repo>::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::list_repos`
[INFO] [stdout]   --> src/api/repos.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<GitHubClient as Repo>::list_repos` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::list_repos::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:60:35
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<GitHubClient as Repo>::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `<GitHubClient as Repo>::get_repo_details`
[INFO] [stdout]   --> src/api/repos.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<GitHubClient as Repo>::get_repo_details` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `<GitHubClient as Repo>::get_repo_details::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:76:66
[INFO] [stdout]    |
[INFO] [stdout] 76 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>> {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<GitHubClient as Repo>::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Repo` is never used
[INFO] [stdout]   --> src/api/repos.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait Repo {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepoResponse` is never constructed
[INFO] [stdout]   --> src/api/repos.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OwnerResponse` is never constructed
[INFO] [stdout]   --> src/api/repos.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct OwnerResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepoDetailsResponse` is never constructed
[INFO] [stdout]   --> src/api/repos.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Star` is never used
[INFO] [stdout]   --> src/api/stars.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Star {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitHubClient` is never constructed
[INFO] [stdout]   --> src/api/client.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct GitHubClient {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `create_http_client`, `new`, `validate_auth`, `from_config`, and `new_validated` are never used
[INFO] [stdout]   --> src/api/client.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl GitHubClient {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 17 |     fn create_http_client() -> Client {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub async fn new(api_url: String, token: String) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     async fn validate_auth(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn from_config(config: &Config) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub async fn new_validated(config: &Config) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_github_config` is never used
[INFO] [stdout]   --> src/api/client.rs:70:14
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub async fn validate_github_config() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cell`
[INFO] [stdout]  --> src/main.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use prettytable::{Table, row, cell};
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io::Write`
[INFO] [stdout]  --> src/api/repos.rs:6:41
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::{error::Error, path::Path, fs, io::Write, process::Command};
[INFO] [stdout]   |                                         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `repos::Repo::get_repo::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:12:58
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `repos::Repo::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `repos::Repo::get_repo::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:12:58
[INFO] [stdout]    |
[INFO] [stdout] 12 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `repos::Repo::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `repos::Repo::list_repos::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `repos::Repo::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `repos::Repo::list_repos::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>>;
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `repos::Repo::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `repos::Repo::get_repo_details::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:14:66
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `repos::Repo::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `repos::Repo::get_repo_details::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:14:66
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>>;
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `repos::Repo::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<client::GitHubClient as repos::Repo>::get_repo`
[INFO] [stdout]   --> src/api/repos.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<client::GitHubClient as repos::Repo>::get_repo` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<client::GitHubClient as repos::Repo>::get_repo::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:44:58
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>> {
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<client::GitHubClient as repos::Repo>::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<client::GitHubClient as repos::Repo>::list_repos`
[INFO] [stdout]   --> src/api/repos.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<client::GitHubClient as repos::Repo>::list_repos` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoResponse` is more private than the item `<client::GitHubClient as repos::Repo>::list_repos::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:60:35
[INFO] [stdout]    |
[INFO] [stdout] 60 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>> {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<client::GitHubClient as repos::Repo>::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RepoResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `<client::GitHubClient as repos::Repo>::get_repo_details`
[INFO] [stdout]   --> src/api/repos.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<client::GitHubClient as repos::Repo>::get_repo_details` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `RepoDetailsResponse` is more private than the item `<client::GitHubClient as repos::Repo>::get_repo_details::{anon_assoc#0}`
[INFO] [stdout]   --> src/api/repos.rs:76:66
[INFO] [stdout]    |
[INFO] [stdout] 76 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>> {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<client::GitHubClient as repos::Repo>::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/api/repos.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct RepoDetailsResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `validate_auth`, `from_config`, and `new_validated` are never used
[INFO] [stdout]   --> src/api/client.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl GitHubClient {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     async fn validate_auth(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn from_config(config: &Config) -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub async fn new_validated(config: &Config) -> Result<Self, Box<dyn Error>> {
[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 `validate_github_config` is never used
[INFO] [stdout]   --> src/api/client.rs:70:14
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub async fn validate_github_config() -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 47.85s
[INFO] running `Command { std: "docker" "inspect" "3dfc8493ef1a6ab6bfeb018dbd4a3bcec205347f9b4ef9433d661bd212c40484", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3dfc8493ef1a6ab6bfeb018dbd4a3bcec205347f9b4ef9433d661bd212c40484", kill_on_drop: false }`
[INFO] [stdout] 3dfc8493ef1a6ab6bfeb018dbd4a3bcec205347f9b4ef9433d661bd212c40484
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 890cfb9e054c7c8de487eb3cd06f7243531bafe3e58687c4ccae07c3ea85e267
[INFO] running `Command { std: "docker" "start" "-a" "890cfb9e054c7c8de487eb3cd06f7243531bafe3e58687c4ccae07c3ea85e267", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `io::Write`
[INFO] [stderr]  --> src/api/repos.rs:6:41
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::{error::Error, path::Path, fs, io::Write, process::Command};
[INFO] [stderr]   |                                         ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `Repo::get_repo::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:12:58
[INFO] [stderr]    |
[INFO] [stderr] 12 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>>;
[INFO] [stderr]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `Repo::get_repo::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:12:58
[INFO] [stderr]    |
[INFO] [stderr] 12 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>>;
[INFO] [stderr]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `Repo::list_repos::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:13:35
[INFO] [stderr]    |
[INFO] [stderr] 13 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>>;
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoDetailsResponse` is more private than the item `Repo::get_repo_details::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:14:66
[INFO] [stderr]    |
[INFO] [stderr] 14 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>>;
[INFO] [stderr]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `Repo::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:33:1
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct RepoDetailsResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::get_repo`
[INFO] [stderr]   --> src/api/repos.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 44 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<GitHubClient as Repo>::get_repo` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::get_repo::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:44:58
[INFO] [stderr]    |
[INFO] [stderr] 44 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>> {
[INFO] [stderr]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<GitHubClient as Repo>::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::list_repos`
[INFO] [stderr]   --> src/api/repos.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 60 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<GitHubClient as Repo>::list_repos` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `<GitHubClient as Repo>::list_repos::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:60:35
[INFO] [stderr]    |
[INFO] [stderr] 60 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<GitHubClient as Repo>::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoDetailsResponse` is more private than the item `<GitHubClient as Repo>::get_repo_details`
[INFO] [stderr]   --> src/api/repos.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<GitHubClient as Repo>::get_repo_details` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:33:1
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct RepoDetailsResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoDetailsResponse` is more private than the item `<GitHubClient as Repo>::get_repo_details::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:76:66
[INFO] [stderr]    |
[INFO] [stderr] 76 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>> {
[INFO] [stderr]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<GitHubClient as Repo>::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:33:1
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct RepoDetailsResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Repo` is never used
[INFO] [stderr]   --> src/api/repos.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub trait Repo {
[INFO] [stderr]    |           ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RepoResponse` is never constructed
[INFO] [stderr]   --> src/api/repos.rs:19:8
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `OwnerResponse` is never constructed
[INFO] [stderr]   --> src/api/repos.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | struct OwnerResponse {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RepoDetailsResponse` is never constructed
[INFO] [stderr]   --> src/api/repos.rs:33:8
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct RepoDetailsResponse {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Star` is never used
[INFO] [stderr]   --> src/api/stars.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub trait Star {
[INFO] [stderr]    |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GitHubClient` is never constructed
[INFO] [stderr]   --> src/api/client.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct GitHubClient {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `create_http_client`, `new`, `validate_auth`, `from_config`, and `new_validated` are never used
[INFO] [stderr]   --> src/api/client.rs:17:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl GitHubClient {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] 17 |     fn create_http_client() -> Client {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub async fn new(api_url: String, token: String) -> Self {
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     async fn validate_auth(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stderr]    |              ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub async fn from_config(config: &Config) -> Result<Self, Box<dyn Error>> {
[INFO] [stderr]    |                  ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     pub async fn new_validated(config: &Config) -> Result<Self, Box<dyn Error>> {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `validate_github_config` is never used
[INFO] [stderr]   --> src/api/client.rs:70:14
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub async fn validate_github_config() -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `starts_fetcher` (lib) generated 21 warnings (2 duplicates) (run `cargo fix --lib -p starts_fetcher` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `cell`
[INFO] [stderr]  --> src/main.rs:3:31
[INFO] [stderr]   |
[INFO] [stderr] 3 | use prettytable::{Table, row, cell};
[INFO] [stderr]   |                               ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `repos::Repo::get_repo::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:12:58
[INFO] [stderr]    |
[INFO] [stderr] 12 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>>;
[INFO] [stderr]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `repos::Repo::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `repos::Repo::get_repo::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:12:58
[INFO] [stderr]    |
[INFO] [stderr] 12 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>>;
[INFO] [stderr]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `repos::Repo::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_bounds)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `repos::Repo::list_repos::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:13:35
[INFO] [stderr]    |
[INFO] [stderr] 13 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>>;
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `repos::Repo::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoDetailsResponse` is more private than the item `repos::Repo::get_repo_details::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:14:66
[INFO] [stderr]    |
[INFO] [stderr] 14 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>>;
[INFO] [stderr]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `repos::Repo::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:33:1
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct RepoDetailsResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `<client::GitHubClient as repos::Repo>::get_repo`
[INFO] [stderr]   --> src/api/repos.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 44 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<client::GitHubClient as repos::Repo>::get_repo` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `<client::GitHubClient as repos::Repo>::get_repo::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:44:58
[INFO] [stderr]    |
[INFO] [stderr] 44 |     async fn get_repo(&self, owner: &str, repo: &str) -> Result<RepoResponse, Box<dyn Error>> {
[INFO] [stderr]    |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<client::GitHubClient as repos::Repo>::get_repo::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `<client::GitHubClient as repos::Repo>::list_repos`
[INFO] [stderr]   --> src/api/repos.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 60 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<client::GitHubClient as repos::Repo>::list_repos` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoResponse` is more private than the item `<client::GitHubClient as repos::Repo>::list_repos::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:60:35
[INFO] [stderr]    |
[INFO] [stderr] 60 |     async fn list_repos(&self) -> Result<Vec<RepoResponse>, Box<dyn Error>> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<client::GitHubClient as repos::Repo>::list_repos::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct RepoResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoDetailsResponse` is more private than the item `<client::GitHubClient as repos::Repo>::get_repo_details`
[INFO] [stderr]   --> src/api/repos.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<client::GitHubClient as repos::Repo>::get_repo_details` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:33:1
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct RepoDetailsResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `RepoDetailsResponse` is more private than the item `<client::GitHubClient as repos::Repo>::get_repo_details::{anon_assoc#0}`
[INFO] [stderr]   --> src/api/repos.rs:76:66
[INFO] [stderr]    |
[INFO] [stderr] 76 |     async fn get_repo_details(&self, owner: &str, repo: &str) -> Result<RepoDetailsResponse, Box<dyn Error>> {
[INFO] [stderr]    |                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ opaque type `<client::GitHubClient as repos::Repo>::get_repo_details::{anon_assoc#0}` is reachable at visibility `pub(in crate::api)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `RepoDetailsResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/api/repos.rs:33:1
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct RepoDetailsResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `validate_auth`, `from_config`, and `new_validated` are never used
[INFO] [stderr]   --> src/api/client.rs:34:14
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl GitHubClient {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 34 |     async fn validate_auth(&self) -> Result<bool, Box<dyn Error>> {
[INFO] [stderr]    |              ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub async fn from_config(config: &Config) -> Result<Self, Box<dyn Error>> {
[INFO] [stderr]    |                  ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     pub async fn new_validated(config: &Config) -> Result<Self, Box<dyn Error>> {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `starts_fetcher` (bin "starts_fetcher" test) generated 1 warning (run `cargo fix --bin "starts_fetcher" -p starts_fetcher --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `starts_fetcher` (lib test) generated 15 warnings (4 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/starts_fetcher-41665eca84895f31)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test api::stars::tests::test_is_starred_false ... ok
[INFO] [stdout] test api::repos::tests::test_get_repo_details ... ok
[INFO] [stdout] test api::repos::tests::test_get_repo ... ok
[INFO] [stdout] test api::repos::tests::test_list_repos ... ok
[INFO] [stdout] test config::config::tests::test_env_var_overrides_empty_token ... ok
[INFO] [stdout] test api::repos::tests::test_get_repo_details_not_found ... ok
[INFO] [stdout] test config::config::tests::test_new_loads_existing_config ... ok
[INFO] [stdout] test config::config::tests::test_new_uses_environment_variable ... ok
[INFO] [stdout] test ui::selector::tests::test_empty_repos ... ok
[INFO] [stdout] test ui::selector::tests::test_repo_display_item ... ok
[INFO] [stdout] test ui::selector::tests::test_select_multiple_repos ... ignored, requires user interaction
[INFO] [stdout] test ui::selector::tests::test_select_repo ... ignored, requires user interaction
[INFO] [stdout] test config::config::tests::test_new_creates_default_config ... ok
[INFO] [stdout] test api::repos::tests::test_get_repo_not_found ... ok
[INFO] [stdout] test api::repos::tests::test_list_repos_error ... ok
[INFO] [stdout] test api::stars::tests::test_is_starred_true ... ok
[INFO] [stdout] test api::stars::tests::test_star_repo ... ok
[INFO] [stdout] test api::stars::tests::test_unstar_repo ... ok
[INFO] [stdout] test api::repos::tests::test_download_repo ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- api::repos::tests::test_download_repo stdout ----
[INFO] [stdout] Download error: Err("Failed to clone repository: Cloning into '/tmp/.tmpZprsjt'...\nfatal: unable to access 'https://github.com/octocat/Hello-World.git/': Could not resolve host: github.com\n")
[INFO] [stdout] 
[INFO] [stdout] thread 'api::repos::tests::test_download_repo' (16) panicked at src/api/repos.rs:371:9:
[INFO] [stdout] assertion failed: result.is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a1527040c0a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a1527040c0a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a1527040c0a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a1527040c0a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a15270588aa - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a15270588aa - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x5a1527046022 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5a1527046022 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5a152701cf3f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a152701cf3f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a1527037d09 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a15265729bc - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5a15265729bc - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5a1527037f82 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5a1527037f82 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a152701d02a - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5a1527014449 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a152701e10d - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a152705920c - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a15270591d2 - core[10b6fa85044e1869]::panicking::panic
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5a15265133d2 - starts_fetcher::api::repos::tests::test_download_repo::{{closure}}::h481f67a90b26eba2
[INFO] [stdout]                                at /opt/rustwide/workdir/src/api/repos.rs:371:9
[INFO] [stdout]   21:     0x5a152652f3f2 - <core::pin::Pin<P> as core::future::future::Future>::poll::he8a8d4a9a861f8d3
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x5a152652f36d - <core::pin::Pin<P> as core::future::future::Future>::poll::h7566d735bfc26daa
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5a152654140d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::hd2d41b9bd0ee4606
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:729:73
[INFO] [stdout]   24:     0x5a152654116b - tokio::runtime::coop::with_budget::h7985381d1727f6ad
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:107:5
[INFO] [stdout]   25:     0x5a152654116b - tokio::runtime::coop::budget::h0c4db087df757bd0
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/coop.rs:73:5
[INFO] [stdout]   26:     0x5a152654116b - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::h27782c6ed965425d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:729:25
[INFO] [stdout]   27:     0x5a152653ea20 - tokio::runtime::scheduler::current_thread::Context::enter::hfca042583e99cab1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:428:19
[INFO] [stdout]   28:     0x5a1526540830 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::hbc2fb1b0b5bc2e98
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:728:44
[INFO] [stdout]   29:     0x5a152653f9f4 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h6bf06b6bd312dd12
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:807:68
[INFO] [stdout]   30:     0x5a152653c7cb - tokio::runtime::context::scoped::Scoped<T>::set::he31a12d007ed33c6
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x5a1526537429 - tokio::runtime::context::set_scheduler::{{closure}}::h3493f95e62d4b5ad
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:38
[INFO] [stdout]   32:     0x5a1526536aa2 - std::thread::local::LocalKey<T>::try_with::hc4cb2e3a1560e1b4
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   33:     0x5a1526535c6e - std::thread::local::LocalKey<T>::with::h9a15e5b34404ab9b
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   34:     0x5a152653739d - tokio::runtime::context::set_scheduler::h292c42d42036fefa
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context.rs:180:17
[INFO] [stdout]   35:     0x5a152653f380 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h8524ee517ce1d1a1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:807:27
[INFO] [stdout]   36:     0x5a152653fad6 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h78658e987885104f
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:716:24
[INFO] [stdout]   37:     0x5a152653dd03 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hb6e4b7f0121b15b8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:196:33
[INFO] [stdout]   38:     0x5a152653cd53 - tokio::runtime::context::runtime::enter_runtime::hdccbf2e387674fb2
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x5a152653d6a1 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h92c3b52962dd6cdc
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/scheduler/current_thread/mod.rs:184:9
[INFO] [stdout]   40:     0x5a15265489b4 - tokio::runtime::runtime::Runtime::block_on_inner::hf420e3688cb640ff
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   41:     0x5a1526548b7a - tokio::runtime::runtime::Runtime::block_on::h263fcb29ada2def3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.43.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   42:     0x5a1526512a52 - starts_fetcher::api::repos::tests::test_download_repo::hf78e7e4c07658956
[INFO] [stdout]                                at /opt/rustwide/workdir/src/api/repos.rs:377:88
[INFO] [stdout]   43:     0x5a15265135a7 - starts_fetcher::api::repos::tests::test_download_repo::{{closure}}::heda98be2070629bc
[INFO] [stdout]                                at /opt/rustwide/workdir/src/api/repos.rs:343:34
[INFO] [stdout]   44:     0x5a1526559f26 - core::ops::function::FnOnce::call_once::h021cd910954a2b5a
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5a1526566a9b - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5a1526566a9b - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   47:     0x5a152657348b - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   48:     0x5a152657348b - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   49:     0x5a152657348b - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   50:     0x5a152657348b - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   51:     0x5a152657348b - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x5a152657348b - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   53:     0x5a152657348b - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   54:     0x5a152656eba4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   55:     0x5a152656eba4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   56:     0x5a1526576092 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   57:     0x5a1526576092 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   58:     0x5a1526576092 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   59:     0x5a1526576092 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   60:     0x5a1526576092 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x5a1526576092 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   62:     0x5a1526576092 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x5a152703ffbf - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   64:     0x5a152703ffbf - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   65:     0x7d19e4ae4aa4 - <unknown>
[INFO] [stdout]   66:     0x7d19e4b71a64 - clone
[INFO] [stdout]   67:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     api::repos::tests::test_download_repo
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 16 passed; 1 failed; 2 ignored; 0 measured; 0 filtered out; finished in 1.58s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "890cfb9e054c7c8de487eb3cd06f7243531bafe3e58687c4ccae07c3ea85e267", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "890cfb9e054c7c8de487eb3cd06f7243531bafe3e58687c4ccae07c3ea85e267", kill_on_drop: false }`
[INFO] [stdout] 890cfb9e054c7c8de487eb3cd06f7243531bafe3e58687c4ccae07c3ea85e267
