[INFO] cloning repository https://github.com/IntelliStream-DataHub/dataplatform-rust-sdk
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/IntelliStream-DataHub/dataplatform-rust-sdk" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIntelliStream-DataHub%2Fdataplatform-rust-sdk", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIntelliStream-DataHub%2Fdataplatform-rust-sdk'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 365c8ba98102214d0ce97335ce863f17d665b5eb
[INFO] checking IntelliStream-DataHub/dataplatform-rust-sdk against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIntelliStream-DataHub%2Fdataplatform-rust-sdk" "/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/IntelliStream-DataHub/dataplatform-rust-sdk
[INFO] finished tweaking git repo https://github.com/IntelliStream-DataHub/dataplatform-rust-sdk
[INFO] tweaked toml for git repo https://github.com/IntelliStream-DataHub/dataplatform-rust-sdk written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/IntelliStream-DataHub/dataplatform-rust-sdk 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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 265 packages to highest compatible versions
[INFO] [stderr]       Adding arrow-array v59.3.1 (available: v60.0.0)
[INFO] [stderr]       Adding arrow-ipc v59.3.1 (available: v60.0.0)
[INFO] [stderr]       Adding arrow-schema v59.3.1 (available: v60.0.0)
[INFO] [stderr]       Adding arrow-select v59.3.1 (available: v60.0.0)
[INFO] [stderr]       Adding base64 v0.22.1 (available: v0.23.1)
[INFO] [stderr]       Adding crypto-common v0.1.6 (available: v0.1.7)
[INFO] [stderr]       Adding infer v0.19.0 (available: v0.22.0)
[INFO] [stderr]       Adding pdqselect v0.1.0 (available: v0.1.1)
[INFO] [stderr]       Adding rand v0.9.5 (available: v0.10.3)
[INFO] [stderr]       Adding reqwest v0.12.28 (available: v0.13.5)
[INFO] [stderr]       Adding tokio-tungstenite v0.24.0 (available: v0.30.0)
[INFO] [stderr]       Adding zstd v0.13.3 (available: v0.14.3)
[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]  Downloading crates ...
[INFO] [stderr]   Downloaded geo-types v0.7.20
[INFO] [stderr]   Downloaded data-encoding v2.11.1
[INFO] [stderr]   Downloaded maplit v1.0.2
[INFO] [stderr]   Downloaded arrow-buffer v59.3.1
[INFO] [stderr]   Downloaded hash32 v0.1.1
[INFO] [stderr]   Downloaded zstd-safe v7.3.0
[INFO] [stderr]   Downloaded rstar v0.11.0
[INFO] [stderr]   Downloaded generic-array v0.12.4
[INFO] [stderr]   Downloaded rstar v0.8.4
[INFO] [stderr]   Downloaded rstar v0.10.0
[INFO] [stderr]   Downloaded rstar v0.9.3
[INFO] [stderr]   Downloaded generic-array v0.13.3
[INFO] [stderr]   Downloaded rstar v0.13.0
[INFO] [stderr]   Downloaded as-slice v0.1.5
[INFO] [stderr]   Downloaded heapless v0.6.1
[INFO] [stderr]   Downloaded arrow-schema v59.3.1
[INFO] [stderr]   Downloaded arrow-data v59.3.1
[INFO] [stderr]   Downloaded num-bigint v0.5.1
[INFO] [stderr]   Downloaded arrow-select v59.3.1
[INFO] [stderr]   Downloaded arrow-ipc v59.3.1
[INFO] [stderr]   Downloaded geojson v1.0.0
[INFO] [stderr]   Downloaded pdqselect v0.1.0
[INFO] [stderr]   Downloaded arrow-array v59.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 44d362a802f6e6c6567ce3f0889a168f2a42551fd32a42ccbb71e61513768535
[INFO] running `Command { std: "docker" "start" "44d362a802f6e6c6567ce3f0889a168f2a42551fd32a42ccbb71e61513768535", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "44d362a802f6e6c6567ce3f0889a168f2a42551fd32a42ccbb71e61513768535", 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" "44d362a802f6e6c6567ce3f0889a168f2a42551fd32a42ccbb71e61513768535" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "44d362a802f6e6c6567ce3f0889a168f2a42551fd32a42ccbb71e61513768535", 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" "44d362a802f6e6c6567ce3f0889a168f2a42551fd32a42ccbb71e61513768535" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling unicode-ident v1.0.27
[INFO] [stderr]    Compiling libc v0.2.191
[INFO] [stderr]     Checking cfg-if v1.0.5
[INFO] [stderr]    Compiling find-msvc-tools v0.1.14
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]     Checking smallvec v1.16.3
[INFO] [stderr]    Compiling zerocopy v0.8.63
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]     Checking futures-channel v0.3.34
[INFO] [stderr]     Checking zeroize v1.9.1
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking futures-io v0.3.34
[INFO] [stderr]     Checking rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling rustls v0.23.46
[INFO] [stderr]     Checking equivalent v1.0.3
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]     Checking indexmap v2.14.2
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling syn v3.0.9
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]     Checking num-integer v0.1.47
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking want v0.3.2
[INFO] [stderr]     Checking num-bigint v0.5.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling cc v1.8.0
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking socket2 v0.6.5
[INFO] [stderr]     Checking mio v1.2.4
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling unicase v2.10.0
[INFO] [stderr]    Compiling serde_json v1.0.154
[INFO] [stderr]     Checking bitflags v2.13.2
[INFO] [stderr]     Checking rustls-native-certs v0.8.5
[INFO] [stderr]    Compiling encoding_rs v0.8.42
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling zstd-safe v7.3.0
[INFO] [stderr]     Checking arrow-schema v59.3.1
[INFO] [stderr]     Checking getrandom v0.4.3
[INFO] [stderr]    Compiling flatbuffers v25.12.19
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking webpki-roots v1.0.9
[INFO] [stderr]    Compiling multiversion_no_op v1.0.0
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]     Checking core_detect v1.0.0
[INFO] [stderr]     Checking uuid v1.28.0
[INFO] [stderr]     Checking sha1 v0.10.7
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking aho-corasick v1.1.5
[INFO] [stderr]     Checking data-encoding v2.11.1
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]     Checking cfb v0.7.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zstd-sys v2.1.2+zstd.1.5.7
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking tinyvec v1.13.3
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking infer v0.19.0
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]    Compiling synstructure v0.14.0
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]    Compiling zerocopy-derive v0.8.63
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.8
[INFO] [stderr]    Compiling yoke-derive v0.8.4
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]     Checking rustls-webpki v0.103.15
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking zerovec v0.11.8
[INFO] [stderr]     Checking zerotrie v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]     Checking tokio v1.53.3
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking futures-util v0.3.34
[INFO] [stderr]     Checking tinystr v0.8.4
[INFO] [stderr]     Checking icu_locale_core v2.3.0
[INFO] [stderr]     Checking potential_utf v0.1.6
[INFO] [stderr]     Checking icu_collections v2.3.0
[INFO] [stderr]     Checking icu_provider v2.3.1
[INFO] [stderr]     Checking icu_normalizer v2.3.0
[INFO] [stderr]     Checking icu_properties v2.3.0
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking geo-types v0.7.20
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking geojson v1.0.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 ppv-lite86 v0.2.21
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking arrow-buffer v59.3.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.8.8
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking arrow-data v59.3.1
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking tokio-util v0.7.20
[INFO] [stderr]     Checking tokio-rustls v0.26.6
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking arrow-array v59.3.1
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking h2 v0.4.20
[INFO] [stderr]     Checking arrow-select v59.3.1
[INFO] [stderr]     Checking hyper v1.12.0
[INFO] [stderr]     Checking arrow-ipc v59.3.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 oauth2 v5.0.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:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | 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:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | 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:893:5
[INFO] [stdout]     |
[INFO] [stdout] 893 |     async fn execute_post_request_for_stream<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] 893 ~     fn execute_post_request_for_stream<J: Serialize>(
[INFO] [stdout] 894 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 897 |         accept: &str,
[INFO] [stdout] 898 ~     ) -> impl std::future::Future<Output = Result<reqwest::Response, ResponseError>> + Send {async {
[INFO] [stdout] 899 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 927 |         Err(self.on_request_error(error, &token).await)
[INFO] [stdout] 928 ~     } }
[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:936:5
[INFO] [stdout]     |
[INFO] [stdout] 936 |     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] 936 ~     fn execute_get_stream_request(
[INFO] [stdout] 937 |         &self,
[INFO] [stdout] 938 |         path: &str,
[INFO] [stdout] 939 ~     ) -> impl std::future::Future<Output = Result<reqwest::Response, ResponseError>> + Send {async {
[INFO] [stdout] 940 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 978 |         ))
[INFO] [stdout] 979 ~     } }
[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:468:13
[INFO] [stdout]     |
[INFO] [stdout] 468 |         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:959:17
[INFO] [stdout]     |
[INFO] [stdout] 959 |             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:893:5
[INFO] [stdout]     |
[INFO] [stdout] 893 |     async fn execute_post_request_for_stream<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] 893 ~     fn execute_post_request_for_stream<J: Serialize>(
[INFO] [stdout] 894 |         &self,
[INFO] [stdout] ...
[INFO] [stdout] 897 |         accept: &str,
[INFO] [stdout] 898 ~     ) -> impl std::future::Future<Output = Result<reqwest::Response, ResponseError>> + Send {async {
[INFO] [stdout] 899 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 927 |         Err(self.on_request_error(error, &token).await)
[INFO] [stdout] 928 ~     } }
[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:936:5
[INFO] [stdout]     |
[INFO] [stdout] 936 |     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] 936 ~     fn execute_get_stream_request(
[INFO] [stdout] 937 |         &self,
[INFO] [stdout] 938 |         path: &str,
[INFO] [stdout] 939 ~     ) -> impl std::future::Future<Output = Result<reqwest::Response, ResponseError>> + Send {async {
[INFO] [stdout] 940 |         let token = self.get_token().await?;
[INFO] [stdout] ...
[INFO] [stdout] 978 |         ))
[INFO] [stdout] 979 ~     } }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/timeseries/test.rs:770:9
[INFO] [stdout]     |
[INFO] [stdout] 770 | /         poll_until_for(
[INFO] [stdout] 771 | |             std::time::Duration::from_secs(60),
[INFO] [stdout] 772 | |             || api_service.time_series.retrieve_datapoints_binary(&text_request),
[INFO] [stdout] 773 | |             |read| matches!(read, Ok(series) if series.first().is_some_and(|s| s.len() == text_count as usize)),
[INFO] [stdout] 774 | |         )
[INFO] [stdout] 775 | |         .await;
[INFO] [stdout]     | |______________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 770 |         let _ = poll_until_for(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `rand`
[INFO] [stderr]   --> Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | rand = "0.9"
[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 2m 18s
[INFO] running `Command { std: "docker" "inspect" "44d362a802f6e6c6567ce3f0889a168f2a42551fd32a42ccbb71e61513768535", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "44d362a802f6e6c6567ce3f0889a168f2a42551fd32a42ccbb71e61513768535", kill_on_drop: false }`
[INFO] [stdout] 44d362a802f6e6c6567ce3f0889a168f2a42551fd32a42ccbb71e61513768535
