[INFO] cloning repository https://github.com/Diegui3o/Artheris_UPD_Web
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Diegui3o/Artheris_UPD_Web" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDiegui3o%2FArtheris_UPD_Web", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDiegui3o%2FArtheris_UPD_Web'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9ebd7ae00def0d4bf40d26effafbe024b2cf4887
[INFO] checking Diegui3o/Artheris_UPD_Web against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDiegui3o%2FArtheris_UPD_Web" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Diegui3o/Artheris_UPD_Web
[INFO] finished tweaking git repo https://github.com/Diegui3o/Artheris_UPD_Web
[INFO] tweaked toml for git repo https://github.com/Diegui3o/Artheris_UPD_Web written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Diegui3o/Artheris_UPD_Web on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Diegui3o/Artheris_UPD_Web already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3cc7d3072b34fa8408a83f305db7ac81ce90d2bbc7b7c21a2ef702443c2fd71e
[INFO] running `Command { std: "docker" "start" "-a" "3cc7d3072b34fa8408a83f305db7ac81ce90d2bbc7b7c21a2ef702443c2fd71e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3cc7d3072b34fa8408a83f305db7ac81ce90d2bbc7b7c21a2ef702443c2fd71e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3cc7d3072b34fa8408a83f305db7ac81ce90d2bbc7b7c21a2ef702443c2fd71e", kill_on_drop: false }`
[INFO] [stdout] 3cc7d3072b34fa8408a83f305db7ac81ce90d2bbc7b7c21a2ef702443c2fd71e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 58cbee5d153298571b04fd3ebcd3b0cbcdac4e5810f29ca908df4d77b9cb3fdf
[INFO] running `Command { std: "docker" "start" "-a" "58cbee5d153298571b04fd3ebcd3b0cbcdac4e5810f29ca908df4d77b9cb3fdf", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]     Checking indexmap v2.11.0
[INFO] [stderr]     Checking bitflags v2.9.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking tinyvec v1.10.0
[INFO] [stderr]     Checking unicode-properties v0.1.3
[INFO] [stderr]    Compiling serde_json v1.0.142
[INFO] [stderr]     Checking regex-syntax v0.8.6
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking deranged v0.4.0
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking futures v0.1.31
[INFO] [stderr]     Checking whoami v1.6.1
[INFO] [stderr]     Checking anyhow v1.0.99
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking regex-automata v0.4.10
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking tokio-sync v0.1.8
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking postgres-protocol v0.6.8
[INFO] [stderr]     Checking regex v1.11.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling axum-macros v0.4.2
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking tracing-appender v0.2.3
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_path_to_error v0.1.17
[INFO] [stderr]     Checking uuid v1.18.0
[INFO] [stderr]     Checking postgres-types v0.2.9
[INFO] [stderr]     Checking tokio-postgres v0.7.13
[INFO] [stderr]     Checking hyper v1.7.0
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-util v0.1.16
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking Artheris v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ws_server/questdb.rs:713:23
[INFO] [stdout]     |
[INFO] [stdout] 713 |                     }};
[INFO] [stdout]     |                       ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ws_server/questdb.rs:713:23
[INFO] [stdout]     |
[INFO] [stdout] 713 |                     }};
[INFO] [stdout]     |                       ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metrics`
[INFO] [stdout]    --> src/config/metrics.rs:388:9
[INFO] [stdout]     |
[INFO] [stdout] 388 |     let metrics = metrics_clone;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]    --> src/ws_server/questdb.rs:489:16
[INFO] [stdout]     |
[INFO] [stdout] 489 |             Ok(rows) => {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]    --> src/ws_server/questdb.rs:531:16
[INFO] [stdout]     |
[INFO] [stdout] 531 |             Ok(rows) => {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metrics`
[INFO] [stdout]    --> src/config/metrics.rs:388:9
[INFO] [stdout]     |
[INFO] [stdout] 388 |     let metrics = metrics_clone;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metrics`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tn`
[INFO] [stdout]    --> src/ws_server/questdb.rs:543:13
[INFO] [stdout]     |
[INFO] [stdout] 543 |         let tn = self.table_name.to_string();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_tn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tc`
[INFO] [stdout]    --> src/ws_server/questdb.rs:544:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |         let tc = self.time_col.to_string();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_tc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]   --> src/ws_server/questdb.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let (table, tcol, rows) = {
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tcol`
[INFO] [stdout]   --> src/ws_server/questdb.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let (table, tcol, rows) = {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_tcol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]    --> src/ws_server/questdb.rs:489:16
[INFO] [stdout]     |
[INFO] [stdout] 489 |             Ok(rows) => {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]    --> src/ws_server/questdb.rs:531:16
[INFO] [stdout]     |
[INFO] [stdout] 531 |             Ok(rows) => {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tn`
[INFO] [stdout]    --> src/ws_server/questdb.rs:543:13
[INFO] [stdout]     |
[INFO] [stdout] 543 |         let tn = self.table_name.to_string();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_tn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tc`
[INFO] [stdout]    --> src/ws_server/questdb.rs:544:13
[INFO] [stdout]     |
[INFO] [stdout] 544 |         let tc = self.time_col.to_string();
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_tc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]   --> src/ws_server/questdb.rs:61:10
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let (table, tcol, rows) = {
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tcol`
[INFO] [stdout]   --> src/ws_server/questdb.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let (table, tcol, rows) = {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_tcol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ListFlightsQuery` is more private than the item `http_server::list_flights`
[INFO] [stdout]    --> src/ws_server/http_server.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | / pub async fn list_flights(
[INFO] [stdout] 345 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 346 | |     Query(q): Query<ListFlightsQuery>,
[INFO] [stdout] 347 | | ) -> Result<Json<Vec<FlightItem>>, ApiError> {
[INFO] [stdout]     | |____________________________________________^ function `http_server::list_flights` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ListFlightsQuery` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:338:1
[INFO] [stdout]     |
[INFO] [stdout] 338 | struct ListFlightsQuery { limit: Option<i64> }
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FlightItem` is more private than the item `http_server::list_flights`
[INFO] [stdout]    --> src/ws_server/http_server.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | / pub async fn list_flights(
[INFO] [stdout] 345 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 346 | |     Query(q): Query<ListFlightsQuery>,
[INFO] [stdout] 347 | | ) -> Result<Json<Vec<FlightItem>>, ApiError> {
[INFO] [stdout]     | |____________________________________________^ function `http_server::list_flights` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FlightItem` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:341:1
[INFO] [stdout]     |
[INFO] [stdout] 341 | struct FlightItem { flight_id: String, last_ts: String }
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SeriesQuery` is more private than the item `http_server::get_flight_series`
[INFO] [stdout]    --> src/ws_server/http_server.rs:399:1
[INFO] [stdout]     |
[INFO] [stdout] 399 | / pub async fn get_flight_series(
[INFO] [stdout] 400 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 401 | |     Path(fid): Path<String>,
[INFO] [stdout] 402 | |     Query(q): Query<SeriesQuery>,
[INFO] [stdout] 403 | | ) -> Result<Json<Vec<SeriesPoint>>, ApiError> {
[INFO] [stdout]     | |_____________________________________________^ function `http_server::get_flight_series` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SeriesQuery` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:385:1
[INFO] [stdout]     |
[INFO] [stdout] 385 | struct SeriesQuery {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SeriesPoint` is more private than the item `http_server::get_flight_series`
[INFO] [stdout]    --> src/ws_server/http_server.rs:399:1
[INFO] [stdout]     |
[INFO] [stdout] 399 | / pub async fn get_flight_series(
[INFO] [stdout] 400 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 401 | |     Path(fid): Path<String>,
[INFO] [stdout] 402 | |     Query(q): Query<SeriesQuery>,
[INFO] [stdout] 403 | | ) -> Result<Json<Vec<SeriesPoint>>, ApiError> {
[INFO] [stdout]     | |_____________________________________________^ function `http_server::get_flight_series` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SeriesPoint` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:393:1
[INFO] [stdout]     |
[INFO] [stdout] 393 | struct SeriesPoint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SummaryQuery` is more private than the item `http_server::get_flight_summary`
[INFO] [stdout]    --> src/ws_server/http_server.rs:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | / pub async fn get_flight_summary(
[INFO] [stdout] 511 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 512 | |     Path(fid): Path<String>,
[INFO] [stdout] 513 | |     Query(q): Query<SummaryQuery>,
[INFO] [stdout] 514 | | ) -> Result<Json<FlightSummary>, ApiError> {
[INFO] [stdout]     | |__________________________________________^ function `http_server::get_flight_summary` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SummaryQuery` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:504:1
[INFO] [stdout]     |
[INFO] [stdout] 504 | struct SummaryQuery {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FlightSummary` is more private than the item `http_server::get_flight_summary`
[INFO] [stdout]    --> src/ws_server/http_server.rs:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | / pub async fn get_flight_summary(
[INFO] [stdout] 511 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 512 | |     Path(fid): Path<String>,
[INFO] [stdout] 513 | |     Query(q): Query<SummaryQuery>,
[INFO] [stdout] 514 | | ) -> Result<Json<FlightSummary>, ApiError> {
[INFO] [stdout]     | |__________________________________________^ function `http_server::get_flight_summary` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FlightSummary` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | struct FlightSummary {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `IngestReq` is more private than the item `http_server::ingest_points`
[INFO] [stdout]    --> src/ws_server/http_server.rs:584:1
[INFO] [stdout]     |
[INFO] [stdout] 584 | / pub async fn ingest_points(
[INFO] [stdout] 585 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 586 | |     Json(req): Json<IngestReq>,
[INFO] [stdout] 587 | | ) -> Result<Json<IngestResp>, ApiError> {
[INFO] [stdout]     | |_______________________________________^ function `http_server::ingest_points` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `IngestReq` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:569:1
[INFO] [stdout]     |
[INFO] [stdout] 569 | struct IngestReq {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `http_server::IngestResp` is more private than the item `http_server::ingest_points`
[INFO] [stdout]    --> src/ws_server/http_server.rs:584:1
[INFO] [stdout]     |
[INFO] [stdout] 584 | / pub async fn ingest_points(
[INFO] [stdout] 585 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 586 | |     Json(req): Json<IngestReq>,
[INFO] [stdout] 587 | | ) -> Result<Json<IngestResp>, ApiError> {
[INFO] [stdout]     | |_______________________________________^ function `http_server::ingest_points` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `http_server::IngestResp` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:577:1
[INFO] [stdout]     |
[INFO] [stdout] 577 | struct IngestResp {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WORKER_DROPS` is never used
[INFO] [stdout]   --> src/main.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | static WORKER_DROPS:   AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_motor_one_speed` is never used
[INFO] [stdout]    --> src/config/function.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub async fn set_motor_one_speed(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_led_many` is never used
[INFO] [stdout]    --> src/config/function.rs:272:14
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub async fn set_led_many(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_f64_from` is never used
[INFO] [stdout]   --> src/config/metrics.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn get_f64_from(obj: &Value, k: &str) -> Option<f64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_flight_metrics` is never used
[INFO] [stdout]    --> src/config/metrics.rs:248:14
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub async fn get_flight_metrics(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ApiError` is never used
[INFO] [stdout]   --> src/ws_server/mod.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum ApiError {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stats` is never read
[INFO] [stdout]   --> src/ws_server/http_server.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct AppState {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub stats: IngestStats,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ApiResult` is never used
[INFO] [stdout]    --> src/ws_server/http_server.rs:335:6
[INFO] [stdout]     |
[INFO] [stdout] 335 | type ApiResult<T> = Result<T, ApiError>;
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IngestResp` is never constructed
[INFO] [stdout]   --> src/ws_server/questdb.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct IngestResp {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProbeResp` is never constructed
[INFO] [stdout]   --> src/ws_server/questdb.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct ProbeResp { 
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_sql_insert` is never used
[INFO] [stdout]   --> src/ws_server/questdb.rs:56:14
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub async fn probe_sql_insert(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert_flight_log`, `existing_columns`, and `detect_logger_configs_col` are never used
[INFO] [stdout]    --> src/ws_server/questdb.rs:409:18
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl QuestDb {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub async fn insert_flight_log(&self, flight_id: &str, payload_json: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 428 |     async fn existing_columns(&self, client: &tokio_postgres::Client) -> anyhow::Result<HashSet<String>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 441 |     async fn detect_logger_configs_col(&self) -> Result<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert_flight_log`, and `list_available_fields` are never used
[INFO] [stdout]    --> src/ws_server/questdb.rs:744:12
[INFO] [stdout]     |
[INFO] [stdout] 743 | impl OptionalDb {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 744 |     pub fn new(config: QuestDbConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 780 |     pub async fn insert_flight_log(&self, flight_id: &str, payload: &str) -> Result<(), String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 824 |     pub async fn list_available_fields(&self) -> Result<Vec<String>, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/ws_server/stats.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct IngestStats {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 14 |     pub udp_received: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub selected_kept: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub ilp_enqueued: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub ilp_flushed: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |     pub ilp_failed: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 19 |     pub last_flush_instant_ns: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub channel_depth: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IngestStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mark_flush_now` is never used
[INFO] [stdout]   --> src/ws_server/stats.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl IngestStats {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 24 |     fn mark_flush_now(&self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatsSnapshot` is never constructed
[INFO] [stdout]   --> src/ws_server/stats.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct StatsSnapshot {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_stats` is never used
[INFO] [stdout]   --> src/ws_server/stats.rs:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub async fn get_stats(State(state): State<Arc<AppState>>) -> impl IntoResponse {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_system_snapshot` is never used
[INFO] [stdout]   --> src/ws_server/server.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | async fn get_system_snapshot() -> Result<Value> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LedOne` is never constructed
[INFO] [stdout]   --> src/ws_server/server.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct LedOne {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LedMany` is never constructed
[INFO] [stdout]   --> src/ws_server/server.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct LedMany {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Payload` is never constructed
[INFO] [stdout]   --> src/ws_server/server.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct Payload {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Envelope` is never constructed
[INFO] [stdout]   --> src/ws_server/server.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct Envelope {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Command` is never used
[INFO] [stdout]    --> src/ws_server/server.rs:133:6
[INFO] [stdout]     |
[INFO] [stdout] 133 | enum Command {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_incoming` is never used
[INFO] [stdout]    --> src/ws_server/server.rs:384:10
[INFO] [stdout]     |
[INFO] [stdout] 384 | async fn handle_incoming(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `flightId` should have a snake case name
[INFO] [stdout]    --> src/ws_server/http_server.rs:580:5
[INFO] [stdout]     |
[INFO] [stdout] 580 |     flightId: String,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `flight_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ListFlightsQuery` is more private than the item `http_server::list_flights`
[INFO] [stdout]    --> src/ws_server/http_server.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | / pub async fn list_flights(
[INFO] [stdout] 345 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 346 | |     Query(q): Query<ListFlightsQuery>,
[INFO] [stdout] 347 | | ) -> Result<Json<Vec<FlightItem>>, ApiError> {
[INFO] [stdout]     | |____________________________________________^ function `http_server::list_flights` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ListFlightsQuery` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:338:1
[INFO] [stdout]     |
[INFO] [stdout] 338 | struct ListFlightsQuery { limit: Option<i64> }
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FlightItem` is more private than the item `http_server::list_flights`
[INFO] [stdout]    --> src/ws_server/http_server.rs:344:1
[INFO] [stdout]     |
[INFO] [stdout] 344 | / pub async fn list_flights(
[INFO] [stdout] 345 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 346 | |     Query(q): Query<ListFlightsQuery>,
[INFO] [stdout] 347 | | ) -> Result<Json<Vec<FlightItem>>, ApiError> {
[INFO] [stdout]     | |____________________________________________^ function `http_server::list_flights` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FlightItem` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:341:1
[INFO] [stdout]     |
[INFO] [stdout] 341 | struct FlightItem { flight_id: String, last_ts: String }
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SeriesQuery` is more private than the item `http_server::get_flight_series`
[INFO] [stdout]    --> src/ws_server/http_server.rs:399:1
[INFO] [stdout]     |
[INFO] [stdout] 399 | / pub async fn get_flight_series(
[INFO] [stdout] 400 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 401 | |     Path(fid): Path<String>,
[INFO] [stdout] 402 | |     Query(q): Query<SeriesQuery>,
[INFO] [stdout] 403 | | ) -> Result<Json<Vec<SeriesPoint>>, ApiError> {
[INFO] [stdout]     | |_____________________________________________^ function `http_server::get_flight_series` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SeriesQuery` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:385:1
[INFO] [stdout]     |
[INFO] [stdout] 385 | struct SeriesQuery {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SeriesPoint` is more private than the item `http_server::get_flight_series`
[INFO] [stdout]    --> src/ws_server/http_server.rs:399:1
[INFO] [stdout]     |
[INFO] [stdout] 399 | / pub async fn get_flight_series(
[INFO] [stdout] 400 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 401 | |     Path(fid): Path<String>,
[INFO] [stdout] 402 | |     Query(q): Query<SeriesQuery>,
[INFO] [stdout] 403 | | ) -> Result<Json<Vec<SeriesPoint>>, ApiError> {
[INFO] [stdout]     | |_____________________________________________^ function `http_server::get_flight_series` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SeriesPoint` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:393:1
[INFO] [stdout]     |
[INFO] [stdout] 393 | struct SeriesPoint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `SummaryQuery` is more private than the item `http_server::get_flight_summary`
[INFO] [stdout]    --> src/ws_server/http_server.rs:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | / pub async fn get_flight_summary(
[INFO] [stdout] 511 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 512 | |     Path(fid): Path<String>,
[INFO] [stdout] 513 | |     Query(q): Query<SummaryQuery>,
[INFO] [stdout] 514 | | ) -> Result<Json<FlightSummary>, ApiError> {
[INFO] [stdout]     | |__________________________________________^ function `http_server::get_flight_summary` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `SummaryQuery` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:504:1
[INFO] [stdout]     |
[INFO] [stdout] 504 | struct SummaryQuery {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `FlightSummary` is more private than the item `http_server::get_flight_summary`
[INFO] [stdout]    --> src/ws_server/http_server.rs:510:1
[INFO] [stdout]     |
[INFO] [stdout] 510 | / pub async fn get_flight_summary(
[INFO] [stdout] 511 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 512 | |     Path(fid): Path<String>,
[INFO] [stdout] 513 | |     Query(q): Query<SummaryQuery>,
[INFO] [stdout] 514 | | ) -> Result<Json<FlightSummary>, ApiError> {
[INFO] [stdout]     | |__________________________________________^ function `http_server::get_flight_summary` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `FlightSummary` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:492:1
[INFO] [stdout]     |
[INFO] [stdout] 492 | struct FlightSummary {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `IngestReq` is more private than the item `http_server::ingest_points`
[INFO] [stdout]    --> src/ws_server/http_server.rs:584:1
[INFO] [stdout]     |
[INFO] [stdout] 584 | / pub async fn ingest_points(
[INFO] [stdout] 585 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 586 | |     Json(req): Json<IngestReq>,
[INFO] [stdout] 587 | | ) -> Result<Json<IngestResp>, ApiError> {
[INFO] [stdout]     | |_______________________________________^ function `http_server::ingest_points` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `IngestReq` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:569:1
[INFO] [stdout]     |
[INFO] [stdout] 569 | struct IngestReq {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `http_server::IngestResp` is more private than the item `http_server::ingest_points`
[INFO] [stdout]    --> src/ws_server/http_server.rs:584:1
[INFO] [stdout]     |
[INFO] [stdout] 584 | / pub async fn ingest_points(
[INFO] [stdout] 585 | |     State(state): State<Arc<AppState>>,
[INFO] [stdout] 586 | |     Json(req): Json<IngestReq>,
[INFO] [stdout] 587 | | ) -> Result<Json<IngestResp>, ApiError> {
[INFO] [stdout]     | |_______________________________________^ function `http_server::ingest_points` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `http_server::IngestResp` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ws_server/http_server.rs:577:1
[INFO] [stdout]     |
[INFO] [stdout] 577 | struct IngestResp {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WORKER_DROPS` is never used
[INFO] [stdout]   --> src/main.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | static WORKER_DROPS:   AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_motor_one_speed` is never used
[INFO] [stdout]    --> src/config/function.rs:103:14
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub async fn set_motor_one_speed(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_led_many` is never used
[INFO] [stdout]    --> src/config/function.rs:272:14
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub async fn set_led_many(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_f64_from` is never used
[INFO] [stdout]   --> src/config/metrics.rs:48:4
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn get_f64_from(obj: &Value, k: &str) -> Option<f64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_flight_metrics` is never used
[INFO] [stdout]    --> src/config/metrics.rs:248:14
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub async fn get_flight_metrics(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ApiError` is never used
[INFO] [stdout]   --> src/ws_server/mod.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum ApiError {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stats` is never read
[INFO] [stdout]   --> src/ws_server/http_server.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct AppState {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub stats: IngestStats,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ApiResult` is never used
[INFO] [stdout]    --> src/ws_server/http_server.rs:335:6
[INFO] [stdout]     |
[INFO] [stdout] 335 | type ApiResult<T> = Result<T, ApiError>;
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IngestResp` is never constructed
[INFO] [stdout]   --> src/ws_server/questdb.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct IngestResp {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProbeResp` is never constructed
[INFO] [stdout]   --> src/ws_server/questdb.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct ProbeResp { 
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_sql_insert` is never used
[INFO] [stdout]   --> src/ws_server/questdb.rs:56:14
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub async fn probe_sql_insert(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert_flight_log`, `existing_columns`, and `detect_logger_configs_col` are never used
[INFO] [stdout]    --> src/ws_server/questdb.rs:409:18
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl QuestDb {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub async fn insert_flight_log(&self, flight_id: &str, payload_json: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 428 |     async fn existing_columns(&self, client: &tokio_postgres::Client) -> anyhow::Result<HashSet<String>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 441 |     async fn detect_logger_configs_col(&self) -> Result<String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert_flight_log`, and `list_available_fields` are never used
[INFO] [stdout]    --> src/ws_server/questdb.rs:744:12
[INFO] [stdout]     |
[INFO] [stdout] 743 | impl OptionalDb {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 744 |     pub fn new(config: QuestDbConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 780 |     pub async fn insert_flight_log(&self, flight_id: &str, payload: &str) -> Result<(), String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 824 |     pub async fn list_available_fields(&self) -> Result<Vec<String>, String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/ws_server/stats.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct IngestStats {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 14 |     pub udp_received: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub selected_kept: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub ilp_enqueued: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub ilp_flushed: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |     pub ilp_failed: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 19 |     pub last_flush_instant_ns: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub channel_depth: AtomicU64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IngestStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mark_flush_now` is never used
[INFO] [stdout]   --> src/ws_server/stats.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl IngestStats {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 24 |     fn mark_flush_now(&self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatsSnapshot` is never constructed
[INFO] [stdout]   --> src/ws_server/stats.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct StatsSnapshot {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_stats` is never used
[INFO] [stdout]   --> src/ws_server/stats.rs:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub async fn get_stats(State(state): State<Arc<AppState>>) -> impl IntoResponse {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_system_snapshot` is never used
[INFO] [stdout]   --> src/ws_server/server.rs:27:10
[INFO] [stdout]    |
[INFO] [stdout] 27 | async fn get_system_snapshot() -> Result<Value> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LedOne` is never constructed
[INFO] [stdout]   --> src/ws_server/server.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct LedOne {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LedMany` is never constructed
[INFO] [stdout]   --> src/ws_server/server.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct LedMany {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Payload` is never constructed
[INFO] [stdout]   --> src/ws_server/server.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct Payload {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Envelope` is never constructed
[INFO] [stdout]   --> src/ws_server/server.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | struct Envelope {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Command` is never used
[INFO] [stdout]    --> src/ws_server/server.rs:133:6
[INFO] [stdout]     |
[INFO] [stdout] 133 | enum Command {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_incoming` is never used
[INFO] [stdout]    --> src/ws_server/server.rs:384:10
[INFO] [stdout]     |
[INFO] [stdout] 384 | async fn handle_incoming(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `flightId` should have a snake case name
[INFO] [stdout]    --> src/ws_server/http_server.rs:580:5
[INFO] [stdout]     |
[INFO] [stdout] 580 |     flightId: String,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to snake case: `flight_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.03s
[INFO] running `Command { std: "docker" "inspect" "58cbee5d153298571b04fd3ebcd3b0cbcdac4e5810f29ca908df4d77b9cb3fdf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "58cbee5d153298571b04fd3ebcd3b0cbcdac4e5810f29ca908df4d77b9cb3fdf", kill_on_drop: false }`
[INFO] [stdout] 58cbee5d153298571b04fd3ebcd3b0cbcdac4e5810f29ca908df4d77b9cb3fdf
