[INFO] fetching crate intellistream-datahub-sdk 1.0.0...
[INFO] checking intellistream-datahub-sdk-1.0.0 against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] extracting crate intellistream-datahub-sdk 1.0.0 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate intellistream-datahub-sdk 1.0.0
[INFO] finished tweaking crates.io crate intellistream-datahub-sdk 1.0.0
[INFO] tweaked toml for crates.io crate intellistream-datahub-sdk 1.0.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate intellistream-datahub-sdk 1.0.0 on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate intellistream-datahub-sdk 1.0.0 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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rstar v0.11.0
[INFO] [stderr]   Downloaded geojson v1.0.0
[INFO] [stderr]   Downloaded rstar v0.9.3
[INFO] [stderr]   Downloaded rstar v0.10.0
[INFO] [stderr]   Downloaded hash32 v0.1.1
[INFO] [stderr]   Downloaded as-slice v0.1.5
[INFO] [stderr]   Downloaded rstar v0.8.4
[INFO] [stderr]   Downloaded pdqselect v0.1.0
[INFO] [stderr]   Downloaded heapless v0.6.1
[INFO] [stderr]   Downloaded generic-array v0.13.3
[INFO] [stderr]   Downloaded arrow-schema v59.3.0
[INFO] [stderr]   Downloaded arrow-buffer v59.3.0
[INFO] [stderr]   Downloaded arrow-ipc v59.3.0
[INFO] [stderr]   Downloaded arrow-select v59.3.0
[INFO] [stderr]   Downloaded arrow-array v59.3.0
[INFO] [stderr]   Downloaded arrow-data v59.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0819bea780203da62a965f5573cd1e2c06a61df8cb86b881e2ee9eb8fbc821b4
[INFO] running `Command { std: "docker" "start" "0819bea780203da62a965f5573cd1e2c06a61df8cb86b881e2ee9eb8fbc821b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0819bea780203da62a965f5573cd1e2c06a61df8cb86b881e2ee9eb8fbc821b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0819bea780203da62a965f5573cd1e2c06a61df8cb86b881e2ee9eb8fbc821b4" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0819bea780203da62a965f5573cd1e2c06a61df8cb86b881e2ee9eb8fbc821b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0819bea780203da62a965f5573cd1e2c06a61df8cb86b881e2ee9eb8fbc821b4" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling zerocopy v0.8.59
[INFO] [stderr]    Compiling yoke-derive v0.8.4
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]     Checking generic-array v0.14.9
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking num-integer v0.1.47
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking bitflags v2.13.2
[INFO] [stderr]     Checking arrow-schema v59.3.0
[INFO] [stderr]    Compiling flatbuffers v25.12.19
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling zstd-safe v7.3.0
[INFO] [stderr]    Compiling cc v1.6.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking uuid v1.27.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking tinyvec v1.13.3
[INFO] [stderr]     Checking num-bigint v0.5.1
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking tokio v1.53.2
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking cfb v0.7.3
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]     Checking sha1 v0.10.7
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]     Checking thiserror v2.0.21
[INFO] [stderr]     Checking infer v0.19.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v2.1.0+zstd.1.5.7
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]    Compiling rustls v0.23.45
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking geo-types v0.7.20
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking geojson v1.0.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.59
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking futures-executor v0.3.34
[INFO] [stderr]     Checking futures v0.3.34
[INFO] [stderr]     Checking rustls-webpki v0.103.15
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking tokio-util v0.7.19
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking h2 v0.4.19
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking tokio-rustls v0.26.6
[INFO] [stderr]     Checking hyper v1.11.1
[INFO] [stderr]     Checking hyper-util v0.1.21
[INFO] [stderr]     Checking hyper-rustls v0.27.10
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking arrow-buffer v59.3.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking rand v0.8.8
[INFO] [stderr]     Checking arrow-data v59.3.0
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking oauth2 v5.0.0
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking arrow-array v59.3.0
[INFO] [stderr]     Checking arrow-select v59.3.0
[INFO] [stderr]     Checking arrow-ipc v59.3.0
[INFO] [stderr]     Checking intellistream-datahub-sdk v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/datahub.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chrono::{DateTime, Duration, Utc};
[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: `maplit::hashmap`
[INFO] [stdout]  --> src/datahub.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use maplit::hashmap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]   --> src/datahub.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::{default, env};
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/datahub.rs:449:9
[INFO] [stdout]     |
[INFO] [stdout] 449 |           /// will use refresh token if  present otherwise it will make a new client credentials request
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 450 | /         let refresh_token = {
[INFO] [stdout] 451 | |             let authstate = self.auth_state.read().await;
[INFO] [stdout] 452 | |             authstate
[INFO] [stdout] 453 | |                 .token
[INFO] [stdout] 454 | |                 .as_ref()
[INFO] [stdout] 455 | |                 .and_then(|t| t.refresh_token().cloned())
[INFO] [stdout] 456 | |         };
[INFO] [stdout]     | |__________- rustdoc does not generate documentation for statements
[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: unused import: `GraphDataWrapper`
[INFO] [stdout]  --> src/datasets/mod.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::graph_data_wrapper::{GraphDataWrapper, GraphNode};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]   --> src/datasets/mod.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::{Arc, Weak};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_snake_lower_cased_allow_start_with_digits`
[INFO] [stdout]  --> src/events/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::datahub::{to_snake_lower_cased_allow_start_with_digits, DataHubConfig};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::serde_helper::is_zero`
[INFO] [stdout]   --> src/timeseries/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::serde_helper::is_zero;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/datahub.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use chrono::{DateTime, Duration, Utc};
[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: `maplit::hashmap`
[INFO] [stdout]  --> src/datahub.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use maplit::hashmap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]   --> src/datahub.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `default`
[INFO] [stdout]   --> src/datahub.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::{default, env};
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/datahub.rs:449:9
[INFO] [stdout]     |
[INFO] [stdout] 449 |           /// will use refresh token if  present otherwise it will make a new client credentials request
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 450 | /         let refresh_token = {
[INFO] [stdout] 451 | |             let authstate = self.auth_state.read().await;
[INFO] [stdout] 452 | |             authstate
[INFO] [stdout] 453 | |                 .token
[INFO] [stdout] 454 | |                 .as_ref()
[INFO] [stdout] 455 | |                 .and_then(|t| t.refresh_token().cloned())
[INFO] [stdout] 456 | |         };
[INFO] [stdout]     | |__________- rustdoc does not generate documentation for statements
[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: unused import: `maplit::hashmap`
[INFO] [stdout]  --> src/datasets/tests.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use maplit::hashmap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GraphDataWrapper`
[INFO] [stdout]  --> src/datasets/mod.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::graph_data_wrapper::{GraphDataWrapper, GraphNode};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arc`
[INFO] [stdout]   --> src/datasets/mod.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::sync::{Arc, Weak};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `to_snake_lower_cased_allow_start_with_digits`
[INFO] [stdout]  --> src/events/mod.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::datahub::{to_snake_lower_cased_allow_start_with_digits, DataHubConfig};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/timeseries/test.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::rc::Rc;
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::serde_helper::is_zero`
[INFO] [stdout]   --> src/timeseries/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::serde_helper::is_zero;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Serialize`
[INFO] [stdout]   --> src/datahub.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use serde::{Deserialize, Serialize};
[INFO] [stdout]    |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AuthState` is more private than the item `DataHubConfig::auth_state`
[INFO] [stdout]    --> src/datahub.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub(crate) auth_state: Arc<RwLock<AuthState>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `DataHubConfig::auth_state` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `AuthState` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/datahub.rs:136:1
[INFO] [stdout]     |
[INFO] [stdout] 136 | struct AuthState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `project_name` is never read
[INFO] [stdout]   --> src/datahub.rs:99:16
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct OAuthConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub(crate) project_name: Option<String>,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OAuthConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]    --> src/generic.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl DatapointEpoch {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 173 |     fn from(timestamp: i64, value: f64) -> Self {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/generic.rs:428:19
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl RetrieveFilter {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 428 |     pub(crate) fn new() -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 441 |     pub(crate) fn set_start(&mut self, start: DateTime<Utc>) -> &mut RetrieveFilter {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 446 |     pub(crate) fn set_end(&mut self, end: DateTime<Utc>) -> &mut RetrieveFilter {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 451 |     pub(crate) fn set_limit(&mut self, limit: u64) -> &mut RetrieveFilter {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub(crate) fn set_aggregates(&mut self, aggregates: Vec<String>) -> &mut RetrieveFilter {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 461 |     pub(crate) fn add_aggregate(&mut self, aggregate: &str) -> &mut RetrieveFilter {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 472 |     pub(crate) fn set_granularity(&mut self, granularity: &str) -> &mut RetrieveFilter {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     pub(crate) fn set_id(&mut self, id: u64) -> &mut RetrieveFilter {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 482 |     pub(crate) fn set_external_id(&mut self, external_id: &str) -> &mut RetrieveFilter {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ext_id` is never used
[INFO] [stdout]    --> src/generic.rs:535:8
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub(crate) trait DataHubEntity: Clone + Serialize {
[INFO] [stdout]     |                  ------------- method in this trait
[INFO] [stdout] 535 |     fn ext_id(&self) -> &String;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:710:5
[INFO] [stdout]     |
[INFO] [stdout] 710 |     async fn on_request_error(&self, error: ResponseError, token: &str) -> ResponseError {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]     = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 710 ~     fn on_request_error(&self, error: ResponseError, token: &str) -> impl std::future::Future<Output = ResponseError> + Send {async {
[INFO] [stdout] 711 |         if error.get_status() == http::StatusCode::UNAUTHORIZED {
[INFO] [stdout] ...
[INFO] [stdout] 714 |         explain_auth_failure(error, token)
[INFO] [stdout] 715 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:717:5
[INFO] [stdout]     |
[INFO] [stdout] 717 |     async fn get_token(&self) -> Result<String, ResponseError> {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 717 ~     fn get_token(&self) -> impl std::future::Future<Output = Result<String, ResponseError>> + Send {async {
[INFO] [stdout] 718 |         self.get_api_service()
[INFO] [stdout] ...
[INFO] [stdout] 726 |             })
[INFO] [stdout] 727 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:729:5
[INFO] [stdout]     |
[INFO] [stdout] 729 |     async fn execute_get_request<
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 729 ~     fn execute_get_request<
[INFO] [stdout] 730 |         T: DeserializeOwned + DataWrapperDeserialization,
[INFO] [stdout] ...
[INFO] [stdout] 735 |         param: Option<&Param>,
[INFO] [stdout] 736 ~     ) -> impl std::future::Future<Output = Result<T, ResponseError>> + Send {async {
[INFO] [stdout] 737 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 759 |         }
[INFO] [stdout] 760 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     async fn execute_post_request<
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 762 ~     fn execute_post_request<
[INFO] [stdout] 763 |         T: DeserializeOwned + DataWrapperDeserialization,
[INFO] [stdout] ...
[INFO] [stdout] 768 |         json: &J,
[INFO] [stdout] 769 ~     ) -> impl std::future::Future<Output = Result<T, ResponseError>> + Send {async {
[INFO] [stdout] 770 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 794 |         }
[INFO] [stdout] 795 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:799:5
[INFO] [stdout]     |
[INFO] [stdout] 799 |     async fn execute_put_request<T: DeserializeOwned + DataWrapperDeserialization, J: Serialize>(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 799 ~     fn execute_put_request<T: DeserializeOwned + DataWrapperDeserialization, J: Serialize>(
[INFO] [stdout] 800 |         &self,
[INFO] [stdout] 801 |         path: &str,
[INFO] [stdout] 802 |         json: &J,
[INFO] [stdout] 803 ~     ) -> impl std::future::Future<Output = Result<T, ResponseError>> + Send {async {
[INFO] [stdout] 804 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 817 |         }
[INFO] [stdout] 818 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:824:5
[INFO] [stdout]     |
[INFO] [stdout] 824 |     async fn execute_file_upload_request<T: DeserializeOwned + DataWrapperDeserialization>(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 824 ~     fn execute_file_upload_request<T: DeserializeOwned + DataWrapperDeserialization>(
[INFO] [stdout] 825 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 828 |         headers: Vec<(&str, String)>,
[INFO] [stdout] 829 ~     ) -> impl std::future::Future<Output = Result<T, ResponseError>> + Send {async {
[INFO] [stdout] 830 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 846 |         }
[INFO] [stdout] 847 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:852:5
[INFO] [stdout]     |
[INFO] [stdout] 852 |     async fn execute_post_bytes_request<T: DeserializeOwned + DataWrapperDeserialization>(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 852 ~     fn execute_post_bytes_request<T: DeserializeOwned + DataWrapperDeserialization>(
[INFO] [stdout] 853 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 856 |         content_type: &str,
[INFO] [stdout] 857 ~     ) -> impl std::future::Future<Output = Result<T, ResponseError>> + Send {async {
[INFO] [stdout] 858 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 882 |         }
[INFO] [stdout] 883 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:891:5
[INFO] [stdout]     |
[INFO] [stdout] 891 |     async fn execute_get_stream_request(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 891 ~     fn execute_get_stream_request(
[INFO] [stdout] 892 |         &self,
[INFO] [stdout] 893 |         path: &str,
[INFO] [stdout] 894 ~     ) -> impl std::future::Future<Output = Result<reqwest::Response, ResponseError>> + Send {async {
[INFO] [stdout] 895 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 933 |         ))
[INFO] [stdout] 934 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `create_res`
[INFO] [stdout]   --> src/datasets/tests.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let create_res = api_service.datasets.create(&test_dataset).await?;
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_create_res`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `edge_id`
[INFO] [stdout]    --> src/relations/tests.rs:626:13
[INFO] [stdout]     |
[INFO] [stdout] 626 |         let edge_id = created.get_items()[0]
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_edge_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ts2`
[INFO] [stdout]    --> src/timeseries/test.rs:467:13
[INFO] [stdout]     |
[INFO] [stdout] 467 |         let ts2 = TimeSeries::builder()
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_ts2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `per_series`
[INFO] [stdout]    --> src/timeseries/test.rs:777:17
[INFO] [stdout]     |
[INFO] [stdout] 777 |             let per_series = chunk / series_count;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_per_series`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AuthState` is more private than the item `datahub::DataHubConfig::auth_state`
[INFO] [stdout]    --> src/datahub.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub(crate) auth_state: Arc<RwLock<AuthState>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `datahub::DataHubConfig::auth_state` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `AuthState` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/datahub.rs:136:1
[INFO] [stdout]     |
[INFO] [stdout] 136 | struct AuthState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `project_name` is never read
[INFO] [stdout]   --> src/datahub.rs:99:16
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct OAuthConfig {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub(crate) project_name: Option<String>,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OAuthConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_events` is never used
[INFO] [stdout]   --> src/events/tests.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | async fn delete_events(
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]    --> src/generic.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl DatapointEpoch {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 173 |     fn from(timestamp: i64, value: f64) -> Self {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_aggregate` and `set_id` are never used
[INFO] [stdout]    --> src/generic.rs:461:19
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl RetrieveFilter {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 461 |     pub(crate) fn add_aggregate(&mut self, aggregate: &str) -> &mut RetrieveFilter {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     pub(crate) fn set_id(&mut self, id: u64) -> &mut RetrieveFilter {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ext_id` is never used
[INFO] [stdout]    --> src/generic.rs:535:8
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub(crate) trait DataHubEntity: Clone + Serialize {
[INFO] [stdout]     |                  ------------- method in this trait
[INFO] [stdout] 535 |     fn ext_id(&self) -> &String;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:710:5
[INFO] [stdout]     |
[INFO] [stdout] 710 |     async fn on_request_error(&self, error: ResponseError, token: &str) -> ResponseError {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]     = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 710 ~     fn on_request_error(&self, error: ResponseError, token: &str) -> impl std::future::Future<Output = ResponseError> + Send {async {
[INFO] [stdout] 711 |         if error.get_status() == http::StatusCode::UNAUTHORIZED {
[INFO] [stdout] ...
[INFO] [stdout] 714 |         explain_auth_failure(error, token)
[INFO] [stdout] 715 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:717:5
[INFO] [stdout]     |
[INFO] [stdout] 717 |     async fn get_token(&self) -> Result<String, ResponseError> {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 717 ~     fn get_token(&self) -> impl std::future::Future<Output = Result<String, ResponseError>> + Send {async {
[INFO] [stdout] 718 |         self.get_api_service()
[INFO] [stdout] ...
[INFO] [stdout] 726 |             })
[INFO] [stdout] 727 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:729:5
[INFO] [stdout]     |
[INFO] [stdout] 729 |     async fn execute_get_request<
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 729 ~     fn execute_get_request<
[INFO] [stdout] 730 |         T: DeserializeOwned + DataWrapperDeserialization,
[INFO] [stdout] ...
[INFO] [stdout] 735 |         param: Option<&Param>,
[INFO] [stdout] 736 ~     ) -> impl std::future::Future<Output = Result<T, ResponseError>> + Send {async {
[INFO] [stdout] 737 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 759 |         }
[INFO] [stdout] 760 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:762:5
[INFO] [stdout]     |
[INFO] [stdout] 762 |     async fn execute_post_request<
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 762 ~     fn execute_post_request<
[INFO] [stdout] 763 |         T: DeserializeOwned + DataWrapperDeserialization,
[INFO] [stdout] ...
[INFO] [stdout] 768 |         json: &J,
[INFO] [stdout] 769 ~     ) -> impl std::future::Future<Output = Result<T, ResponseError>> + Send {async {
[INFO] [stdout] 770 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 794 |         }
[INFO] [stdout] 795 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:799:5
[INFO] [stdout]     |
[INFO] [stdout] 799 |     async fn execute_put_request<T: DeserializeOwned + DataWrapperDeserialization, J: Serialize>(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 799 ~     fn execute_put_request<T: DeserializeOwned + DataWrapperDeserialization, J: Serialize>(
[INFO] [stdout] 800 |         &self,
[INFO] [stdout] 801 |         path: &str,
[INFO] [stdout] 802 |         json: &J,
[INFO] [stdout] 803 ~     ) -> impl std::future::Future<Output = Result<T, ResponseError>> + Send {async {
[INFO] [stdout] 804 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 817 |         }
[INFO] [stdout] 818 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:824:5
[INFO] [stdout]     |
[INFO] [stdout] 824 |     async fn execute_file_upload_request<T: DeserializeOwned + DataWrapperDeserialization>(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 824 ~     fn execute_file_upload_request<T: DeserializeOwned + DataWrapperDeserialization>(
[INFO] [stdout] 825 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 828 |         headers: Vec<(&str, String)>,
[INFO] [stdout] 829 ~     ) -> impl std::future::Future<Output = Result<T, ResponseError>> + Send {async {
[INFO] [stdout] 830 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 846 |         }
[INFO] [stdout] 847 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:852:5
[INFO] [stdout]     |
[INFO] [stdout] 852 |     async fn execute_post_bytes_request<T: DeserializeOwned + DataWrapperDeserialization>(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 852 ~     fn execute_post_bytes_request<T: DeserializeOwned + DataWrapperDeserialization>(
[INFO] [stdout] 853 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 856 |         content_type: &str,
[INFO] [stdout] 857 ~     ) -> impl std::future::Future<Output = Result<T, ResponseError>> + Send {async {
[INFO] [stdout] 858 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 882 |         }
[INFO] [stdout] 883 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/generic.rs:891:5
[INFO] [stdout]     |
[INFO] [stdout] 891 |     async fn execute_get_stream_request(
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 891 ~     fn execute_get_stream_request(
[INFO] [stdout] 892 |         &self,
[INFO] [stdout] 893 |         path: &str,
[INFO] [stdout] 894 ~     ) -> impl std::future::Future<Output = Result<reqwest::Response, ResponseError>> + Send {async {
[INFO] [stdout] 895 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 933 |         ))
[INFO] [stdout] 934 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `rand`
[INFO] [stderr]   --> Cargo.toml:38:15
[INFO] [stderr]    |
[INFO] [stderr] 38 | [dependencies.rand]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `rand`
[INFO] [stderr] warning: `intellistream-datahub-sdk` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.70s
[INFO] running `Command { std: "docker" "inspect" "0819bea780203da62a965f5573cd1e2c06a61df8cb86b881e2ee9eb8fbc821b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0819bea780203da62a965f5573cd1e2c06a61df8cb86b881e2ee9eb8fbc821b4", kill_on_drop: false }`
[INFO] [stdout] 0819bea780203da62a965f5573cd1e2c06a61df8cb86b881e2ee9eb8fbc821b4
