[INFO] cloning repository https://github.com/vlbezak/crpt-portfolio
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vlbezak/crpt-portfolio" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvlbezak%2Fcrpt-portfolio", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvlbezak%2Fcrpt-portfolio'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6f21d19113586d23ec3cb32594a88dccef900e51
[INFO] checking vlbezak/crpt-portfolio against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvlbezak%2Fcrpt-portfolio" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/vlbezak/crpt-portfolio
[INFO] finished tweaking git repo https://github.com/vlbezak/crpt-portfolio
[INFO] tweaked toml for git repo https://github.com/vlbezak/crpt-portfolio written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/vlbezak/crpt-portfolio on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/vlbezak/crpt-portfolio 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a5dc4e3926c8ff936a5f6e8220923e56719f94c0ebbab98ddcf3a9a1701ec51f
[INFO] running `Command { std: "docker" "start" "-a" "a5dc4e3926c8ff936a5f6e8220923e56719f94c0ebbab98ddcf3a9a1701ec51f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a5dc4e3926c8ff936a5f6e8220923e56719f94c0ebbab98ddcf3a9a1701ec51f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5dc4e3926c8ff936a5f6e8220923e56719f94c0ebbab98ddcf3a9a1701ec51f", kill_on_drop: false }`
[INFO] [stdout] a5dc4e3926c8ff936a5f6e8220923e56719f94c0ebbab98ddcf3a9a1701ec51f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 23fa5530d17129a704178e27b1635b105e373917fb55629783ee7af29e04fa04
[INFO] running `Command { std: "docker" "start" "-a" "23fa5530d17129a704178e27b1635b105e373917fb55629783ee7af29e04fa04", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]    Compiling cc v1.2.3
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking indexmap v2.7.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling serde v1.0.215
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_json v1.0.133
[INFO] [stderr]     Checking rustls-pki-types v1.10.0
[INFO] [stderr]    Compiling rustix v0.38.41
[INFO] [stderr]     Checking clap_builder v4.5.23
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking ipnet v2.10.1
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]     Checking colored v2.1.0
[INFO] [stderr]     Checking ordered-float v4.5.0
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]     Checking tempfile v3.14.0
[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 icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.215
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]     Checking tokio v1.42.0
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking clap v4.5.23
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking h2 v0.4.7
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking hyper v1.5.1
[INFO] [stderr]     Checking hyper-util v0.1.10
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.9
[INFO] [stderr]     Checking crpt-portfolio v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `CoinGeckoClient` and `Coin`
[INFO] [stdout]  --> src/main.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use client::coingecko::{Coin, CoinGeckoClient};
[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: `serde_json::to_writer_pretty`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::to_writer_pretty;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]  --> src/coins/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::Local;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AthInfo`
[INFO] [stdout]  --> src/coins/mod.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::model::{AthInfo, PriceInfo};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::header::Entry`
[INFO] [stdout]  --> src/coins/filestore.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use reqwest::header::Entry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AthInfo`
[INFO] [stdout]  --> src/coins/update_ath.rs:5:128
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{coins::{filestore::AdditionalDataStore, DataStore}, config::coins::{read_default_coins_config, CoinsData}, model::{AthInfo, C...
[INFO] [stdout]   |                                                                                                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]   --> src/coins/mod.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fs::{ File };
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::coingecko::Coin`
[INFO] [stdout]  --> src/config/coins.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{client::coingecko::Coin, Result};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/config/wallets.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PriceInfo`
[INFO] [stdout]  --> src/provider/coingecko.rs:3:77
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{ client::coingecko::CoinGeckoClient, model::{AthInfo, Currency, PriceInfo} };
[INFO] [stdout]   |                                                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::coin_list`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use utils::coin_list;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CoinGeckoClient` and `Coin`
[INFO] [stdout]  --> src/main.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use client::coingecko::{Coin, CoinGeckoClient};
[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: `serde_json::to_writer_pretty`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::to_writer_pretty;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]  --> src/coins/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::Local;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AthInfo`
[INFO] [stdout]  --> src/coins/mod.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::model::{AthInfo, PriceInfo};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reqwest::header::Entry`
[INFO] [stdout]  --> src/coins/filestore.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use reqwest::header::Entry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AthInfo`
[INFO] [stdout]  --> src/coins/update_ath.rs:5:128
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{coins::{filestore::AdditionalDataStore, DataStore}, config::coins::{read_default_coins_config, CoinsData}, model::{AthInfo, C...
[INFO] [stdout]   |                                                                                                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `File`
[INFO] [stdout]   --> src/coins/mod.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fs::{ File };
[INFO] [stdout]    |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::coingecko::Coin`
[INFO] [stdout]  --> src/config/coins.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{client::coingecko::Coin, Result};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/config/wallets.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PriceInfo`
[INFO] [stdout]  --> src/provider/coingecko.rs:3:77
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{ client::coingecko::CoinGeckoClient, model::{AthInfo, Currency, PriceInfo} };
[INFO] [stdout]   |                                                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `utils::coin_list`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use utils::coin_list;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored`
[INFO] [stdout]  --> src/service/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use colored::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `colored`
[INFO] [stdout]  --> src/service/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use colored::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/provider/coingecko.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut token_ids = vec![token_id];
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `currencies`
[INFO] [stdout]   --> src/provider/coingecko.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         currencies: &Vec<Currency>
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_currencies`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoinsMarketResponse` is never constructed
[INFO] [stdout]  --> src/client/coingecko.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct CoinsMarketResponse {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `symbol`, `name`, `current_price`, `market_cap`, and `price_change_percentage_24h` are never read
[INFO] [stdout]   --> src/client/coingecko.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct CoinMarket {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 21 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 22 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 23 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 24 |     pub current_price: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub market_cap: f64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 32 |     pub price_change_percentage_24h: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CoinMarket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `asset_id_base` is never read
[INFO] [stdout]   --> src/client/coinapi.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ExchangeRateResponse {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] 15 |     pub asset_id_base: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExchangeRateResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `time` is never read
[INFO] [stdout]   --> src/client/coinapi.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Rate {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 21 |     pub time: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Rate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from_symbol` and `mktcap` are never read
[INFO] [stdout]   --> src/client/cryptocompare.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Level2 {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 18 |     #[serde(rename = "FROMSYMBOL")]
[INFO] [stdout] 19 |     pub from_symbol: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub mktcap: f64,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Level2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_last_data_for_coin` and `read_last_data_all` are never used
[INFO] [stdout]   --> src/coins/mod.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | trait DataStore<T> {
[INFO] [stdout]    |       --------- methods in this trait
[INFO] [stdout] 76 |     fn write_data(&self, data: &T ) -> Result<Vec<String>>;
[INFO] [stdout] 77 |     fn read_last_data_for_coin(&self, coin: &str) -> Result<Option<T>>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     fn read_last_data_all(&self) -> Result<Option<T>>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_coins_with_list_file` is never used
[INFO] [stdout]  --> src/utils/coin_list.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn update_coins_with_list_file() -> Result<()> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/provider/coingecko.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut token_ids = vec![token_id];
[INFO] [stdout]    |             ----^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `currencies`
[INFO] [stdout]   --> src/provider/coingecko.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         currencies: &Vec<Currency>
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_currencies`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoinsMarketResponse` is never constructed
[INFO] [stdout]  --> src/client/coingecko.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct CoinsMarketResponse {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `symbol`, `name`, `current_price`, `market_cap`, and `price_change_percentage_24h` are never read
[INFO] [stdout]   --> src/client/coingecko.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct CoinMarket {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 21 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 22 |     pub symbol: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 23 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 24 |     pub current_price: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub market_cap: f64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 32 |     pub price_change_percentage_24h: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CoinMarket` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `asset_id_base` is never read
[INFO] [stdout]   --> src/client/coinapi.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ExchangeRateResponse {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] 15 |     pub asset_id_base: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExchangeRateResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `time` is never read
[INFO] [stdout]   --> src/client/coinapi.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Rate {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 21 |     pub time: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Rate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `from_symbol` and `mktcap` are never read
[INFO] [stdout]   --> src/client/cryptocompare.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Level2 {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 18 |     #[serde(rename = "FROMSYMBOL")]
[INFO] [stdout] 19 |     pub from_symbol: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub mktcap: f64,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Level2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read_last_data_for_coin` and `read_last_data_all` are never used
[INFO] [stdout]   --> src/coins/mod.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | trait DataStore<T> {
[INFO] [stdout]    |       --------- methods in this trait
[INFO] [stdout] 76 |     fn write_data(&self, data: &T ) -> Result<Vec<String>>;
[INFO] [stdout] 77 |     fn read_last_data_for_coin(&self, coin: &str) -> Result<Option<T>>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     fn read_last_data_all(&self) -> Result<Option<T>>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_subdir_with_name` is never used
[INFO] [stdout]  --> src/utils/file_utils.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn find_subdir_with_name(dir: &path::Path, name: &str) -> Result<Option<String>> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_latest_filename` is never used
[INFO] [stdout]   --> src/utils/file_utils.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn get_latest_filename(dir_name: &str) -> Result<Option<PathBuf>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_coins_with_list_file` is never used
[INFO] [stdout]  --> src/utils/coin_list.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn update_coins_with_list_file() -> Result<()> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "23fa5530d17129a704178e27b1635b105e373917fb55629783ee7af29e04fa04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23fa5530d17129a704178e27b1635b105e373917fb55629783ee7af29e04fa04", kill_on_drop: false }`
[INFO] [stdout] 23fa5530d17129a704178e27b1635b105e373917fb55629783ee7af29e04fa04
