[INFO] fetching crate runcli 0.0.1...
[INFO] testing runcli-0.0.1 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate runcli 0.0.1 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate runcli 0.0.1
[INFO] finished tweaking crates.io crate runcli 0.0.1
[INFO] tweaked toml for crates.io crate runcli 0.0.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate runcli 0.0.1 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate runcli 0.0.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f1cbecb42133d9feaffda5d942b00aafaf62958008989d4d06e58cd1c5084f3a
[INFO] running `Command { std: "docker" "start" "-a" "f1cbecb42133d9feaffda5d942b00aafaf62958008989d4d06e58cd1c5084f3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1cbecb42133d9feaffda5d942b00aafaf62958008989d4d06e58cd1c5084f3a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1cbecb42133d9feaffda5d942b00aafaf62958008989d4d06e58cd1c5084f3a", kill_on_drop: false }`
[INFO] [stdout] f1cbecb42133d9feaffda5d942b00aafaf62958008989d4d06e58cd1c5084f3a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1d8da240565f9eba92e560c2729d3f6377ed76bcba1b3f291fcdc03903049987
[INFO] running `Command { std: "docker" "start" "-a" "1d8da240565f9eba92e560c2729d3f6377ed76bcba1b3f291fcdc03903049987", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling kasuari v0.4.11
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tracing-error v0.2.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling indenter v0.3.4
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling chunked_transfer v1.5.0
[INFO] [stderr]    Compiling open v5.3.3
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling tiny_http v0.12.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling color-eyre v0.6.5
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling runcli v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/clients/strava/utils.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |       /// Return the final summary struct 
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 | /     StravaActivitiesYearSummary {
[INFO] [stdout] 33 | |         start_date,
[INFO] [stdout] 34 | |         end_date,
[INFO] [stdout] 35 | |         total_activities: activities.len() as u32,
[INFO] [stdout] ...  |
[INFO] [stdout] 41 | |         activity_count_by_month: activity_count_by_month.iter().enumerate().map(|(i, &c)| (i as u32 + 1, c)).collect(),
[INFO] [stdout] 42 | |     }
[INFO] [stdout]    | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `StravaAuthResponse` is more private than the item `save_auth_response_to_file`
[INFO] [stdout]   --> src/auth/strava_auth.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn save_auth_response_to_file(auth_response: &StravaAuthResponse) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `save_auth_response_to_file` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `StravaAuthResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/auth/strava_auth.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct StravaAuthResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `StravaAuthResponse` is more private than the item `refresh_strava_token`
[INFO] [stdout]    --> src/auth/strava_auth.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub async fn refresh_strava_token(refresh_token: &str) -> Result<StravaAuthResponse, Box<dyn std::error::Error>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `refresh_strava_token` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `StravaAuthResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/auth/strava_auth.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | struct StravaAuthResponse {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_env_var` is never used
[INFO] [stdout]  --> src/common.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn get_env_var(key: &str) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_strava_activities` is never used
[INFO] [stdout]   --> src/clients/strava/tools.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub async fn get_strava_activities(token: &str, before: Option<u32>, after: Option<u32>, athlete_id: u32, _cacher: &mut QueryCacher)...
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `load_item_from_disk`, `is_cache_valid`, and `save_item_to_disk` are never used
[INFO] [stdout]    --> src/utils/query_cacher.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl QueryCacher {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn load_item_from_disk(&mut self, _key: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn is_cache_valid(&self, _key: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn save_item_to_disk(&self, _key: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_strava_auth_valid` is never used
[INFO] [stdout]    --> src/auth/strava_auth.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn is_strava_auth_valid() -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_strava_token_expired` is never used
[INFO] [stdout]    --> src/auth/strava_auth.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn is_strava_token_expired() -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_strava_access_token_from_file` is never used
[INFO] [stdout]    --> src/auth/strava_auth.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn get_strava_access_token_from_file() -> Result<String, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STRAVA_AUTH_URL` is never used
[INFO] [stdout]  --> src/auth/constants.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const STRAVA_AUTH_URL: &str = "https://www.strava.com/oauth/token";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s
[INFO] running `Command { std: "docker" "inspect" "1d8da240565f9eba92e560c2729d3f6377ed76bcba1b3f291fcdc03903049987", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d8da240565f9eba92e560c2729d3f6377ed76bcba1b3f291fcdc03903049987", kill_on_drop: false }`
[INFO] [stdout] 1d8da240565f9eba92e560c2729d3f6377ed76bcba1b3f291fcdc03903049987
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 76639fdcdf64a2fdd86da90fa8e4bd29cda71ce1232831e7e6c6b52ade4d680f
[INFO] running `Command { std: "docker" "start" "-a" "76639fdcdf64a2fdd86da90fa8e4bd29cda71ce1232831e7e6c6b52ade4d680f", kill_on_drop: false }`
[INFO] [stderr]    Compiling runcli v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/clients/strava/utils.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |       /// Return the final summary struct 
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 | /     StravaActivitiesYearSummary {
[INFO] [stdout] 33 | |         start_date,
[INFO] [stdout] 34 | |         end_date,
[INFO] [stdout] 35 | |         total_activities: activities.len() as u32,
[INFO] [stdout] ...  |
[INFO] [stdout] 41 | |         activity_count_by_month: activity_count_by_month.iter().enumerate().map(|(i, &c)| (i as u32 + 1, c)).collect(),
[INFO] [stdout] 42 | |     }
[INFO] [stdout]    | |_____- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `StravaAuthResponse` is more private than the item `save_auth_response_to_file`
[INFO] [stdout]   --> src/auth/strava_auth.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn save_auth_response_to_file(auth_response: &StravaAuthResponse) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `save_auth_response_to_file` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `StravaAuthResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/auth/strava_auth.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct StravaAuthResponse {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `StravaAuthResponse` is more private than the item `refresh_strava_token`
[INFO] [stdout]    --> src/auth/strava_auth.rs:145:1
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub async fn refresh_strava_token(refresh_token: &str) -> Result<StravaAuthResponse, Box<dyn std::error::Error>> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `refresh_strava_token` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `StravaAuthResponse` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/auth/strava_auth.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | struct StravaAuthResponse {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_env_var` is never used
[INFO] [stdout]  --> src/common.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn get_env_var(key: &str) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_strava_activities` is never used
[INFO] [stdout]   --> src/clients/strava/tools.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub async fn get_strava_activities(token: &str, before: Option<u32>, after: Option<u32>, athlete_id: u32, _cacher: &mut QueryCacher)...
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `load_item_from_disk`, `is_cache_valid`, and `save_item_to_disk` are never used
[INFO] [stdout]    --> src/utils/query_cacher.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl QueryCacher {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn load_item_from_disk(&mut self, _key: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn is_cache_valid(&self, _key: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn save_item_to_disk(&self, _key: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_strava_auth_valid` is never used
[INFO] [stdout]    --> src/auth/strava_auth.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn is_strava_auth_valid() -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_strava_token_expired` is never used
[INFO] [stdout]    --> src/auth/strava_auth.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub fn is_strava_token_expired() -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_strava_access_token_from_file` is never used
[INFO] [stdout]    --> src/auth/strava_auth.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn get_strava_access_token_from_file() -> Result<String, Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STRAVA_AUTH_URL` is never used
[INFO] [stdout]  --> src/auth/constants.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub const STRAVA_AUTH_URL: &str = "https://www.strava.com/oauth/token";
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.72s
[INFO] running `Command { std: "docker" "inspect" "76639fdcdf64a2fdd86da90fa8e4bd29cda71ce1232831e7e6c6b52ade4d680f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76639fdcdf64a2fdd86da90fa8e4bd29cda71ce1232831e7e6c6b52ade4d680f", kill_on_drop: false }`
[INFO] [stdout] 76639fdcdf64a2fdd86da90fa8e4bd29cda71ce1232831e7e6c6b52ade4d680f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 07e6851faf3f6d0c8a6093e07d07dc11522cfd2603e651f40ed7d7b25ce7ac78
[INFO] running `Command { std: "docker" "start" "-a" "07e6851faf3f6d0c8a6093e07d07dc11522cfd2603e651f40ed7d7b25ce7ac78", kill_on_drop: false }`
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/clients/strava/utils.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 |       /// Return the final summary struct 
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 32 | /     StravaActivitiesYearSummary {
[INFO] [stderr] 33 | |         start_date,
[INFO] [stderr] 34 | |         end_date,
[INFO] [stderr] 35 | |         total_activities: activities.len() as u32,
[INFO] [stderr] ...  |
[INFO] [stderr] 41 | |         activity_count_by_month: activity_count_by_month.iter().enumerate().map(|(i, &c)| (i as u32 + 1, c)).collect(),
[INFO] [stderr] 42 | |     }
[INFO] [stderr]    | |_____- rustdoc does not generate documentation for expressions
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `StravaAuthResponse` is more private than the item `save_auth_response_to_file`
[INFO] [stderr]   --> src/auth/strava_auth.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub fn save_auth_response_to_file(auth_response: &StravaAuthResponse) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `save_auth_response_to_file` is reachable at visibility `pub(crate)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `StravaAuthResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/auth/strava_auth.rs:30:1
[INFO] [stderr]    |
[INFO] [stderr] 30 | struct StravaAuthResponse {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `StravaAuthResponse` is more private than the item `refresh_strava_token`
[INFO] [stderr]    --> src/auth/strava_auth.rs:145:1
[INFO] [stderr]     |
[INFO] [stderr] 145 | pub async fn refresh_strava_token(refresh_token: &str) -> Result<StravaAuthResponse, Box<dyn std::error::Error>> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `refresh_strava_token` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `StravaAuthResponse` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/auth/strava_auth.rs:30:1
[INFO] [stderr]     |
[INFO] [stderr]  30 | struct StravaAuthResponse {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_env_var` is never used
[INFO] [stderr]  --> src/common.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn get_env_var(key: &str) -> String {
[INFO] [stderr]   |        ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_strava_activities` is never used
[INFO] [stderr]   --> src/clients/strava/tools.rs:75:14
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub async fn get_strava_activities(token: &str, before: Option<u32>, after: Option<u32>, athlete_id: u32, _cacher: &mut QueryCacher)...
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `load_item_from_disk`, `is_cache_valid`, and `save_item_to_disk` are never used
[INFO] [stderr]    --> src/utils/query_cacher.rs:65:12
[INFO] [stderr]     |
[INFO] [stderr]  31 | impl QueryCacher {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  65 |     pub fn load_item_from_disk(&mut self, _key: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  69 |     pub fn is_cache_valid(&self, _key: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     pub fn save_item_to_disk(&self, _key: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_strava_auth_valid` is never used
[INFO] [stderr]    --> src/auth/strava_auth.rs:113:8
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub fn is_strava_auth_valid() -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_strava_token_expired` is never used
[INFO] [stderr]    --> src/auth/strava_auth.rs:129:8
[INFO] [stderr]     |
[INFO] [stderr] 129 | pub fn is_strava_token_expired() -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_strava_access_token_from_file` is never used
[INFO] [stderr]    --> src/auth/strava_auth.rs:170:8
[INFO] [stderr]     |
[INFO] [stderr] 170 | pub fn get_strava_access_token_from_file() -> Result<String, Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `STRAVA_AUTH_URL` is never used
[INFO] [stderr]  --> src/auth/constants.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub const STRAVA_AUTH_URL: &str = "https://www.strava.com/oauth/token";
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `runcli` (bin "runcli" test) generated 10 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/runcli-395327c71e94c69e)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "07e6851faf3f6d0c8a6093e07d07dc11522cfd2603e651f40ed7d7b25ce7ac78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07e6851faf3f6d0c8a6093e07d07dc11522cfd2603e651f40ed7d7b25ce7ac78", kill_on_drop: false }`
[INFO] [stdout] 07e6851faf3f6d0c8a6093e07d07dc11522cfd2603e651f40ed7d7b25ce7ac78
