[INFO] cloning repository https://github.com/ConorRoberts/f1-24-telemetry
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ConorRoberts/f1-24-telemetry" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FConorRoberts%2Ff1-24-telemetry", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FConorRoberts%2Ff1-24-telemetry'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1f403f39f176a13131a59f4245ea2a537d28aace
[INFO] checking ConorRoberts/f1-24-telemetry/1f403f39f176a13131a59f4245ea2a537d28aace against master#cb06d12710575a0d7ff71d6fe108f3bcff4f9195 for pr-128425-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FConorRoberts%2Ff1-24-telemetry" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ConorRoberts/f1-24-telemetry on toolchain cb06d12710575a0d7ff71d6fe108f3bcff4f9195
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ConorRoberts/f1-24-telemetry
[INFO] finished tweaking git repo https://github.com/ConorRoberts/f1-24-telemetry
[INFO] tweaked toml for git repo https://github.com/ConorRoberts/f1-24-telemetry written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/ConorRoberts/f1-24-telemetry 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" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded poem-openapi-derive v5.1.4
[INFO] [stderr]   Downloaded wildmatch v2.4.0
[INFO] [stderr]   Downloaded rfc7239 v0.1.3
[INFO] [stderr]   Downloaded libsql-hrana v0.2.0
[INFO] [stderr]   Downloaded poem-derive v3.1.4
[INFO] [stderr]   Downloaded hyper-rustls v0.25.0
[INFO] [stderr]   Downloaded libsql-sys v0.8.0
[INFO] [stderr]   Downloaded libsql_replication v0.6.0
[INFO] [stderr]   Downloaded libsql-sqlite3-parser v0.13.0
[INFO] [stderr]   Downloaded libsql v0.6.0
[INFO] [stderr]   Downloaded libsql-rusqlite v0.33.0
[INFO] [stderr]   Downloaded poem v3.1.5
[INFO] [stderr]   Downloaded tonic-web v0.11.0
[INFO] [stderr]   Downloaded poem-openapi v5.1.4
[INFO] [stderr]   Downloaded libsql-ffi v0.5.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c7f54af124af7ac90f7268d725b3802836e37a4f8eb64377c57d9df71dfa9122
[INFO] running `Command { std: "docker" "start" "-a" "c7f54af124af7ac90f7268d725b3802836e37a4f8eb64377c57d9df71dfa9122", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c7f54af124af7ac90f7268d725b3802836e37a4f8eb64377c57d9df71dfa9122", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7f54af124af7ac90f7268d725b3802836e37a4f8eb64377c57d9df71dfa9122", kill_on_drop: false }`
[INFO] [stdout] c7f54af124af7ac90f7268d725b3802836e37a4f8eb64377c57d9df71dfa9122
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8298b2f0546e8b5aaa121abadd8e9db2e99a74e5e3530041d3dd31df82f7de10
[INFO] running `Command { std: "docker" "start" "-a" "8298b2f0546e8b5aaa121abadd8e9db2e99a74e5e3530041d3dd31df82f7de10", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling syn v2.0.92
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling cc v1.2.6
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling httparse v1.9.5
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]     Checking cpufeatures v0.2.16
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling prettyplease v0.2.25
[INFO] [stderr]    Compiling rustix v0.38.42
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling bindgen v0.66.1
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]     Checking rustls-pki-types v1.10.1
[INFO] [stderr]     Checking indexmap v2.7.0
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling winnow v0.6.20
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking block-padding v0.3.3
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]     Checking inout v0.1.3
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling serde_json v1.0.134
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]    Compiling time-macros v0.2.19
[INFO] [stderr]    Compiling phf_codegen v0.11.2
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]    Compiling libsql-sqlite3-parser v0.13.0
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling bytes v1.9.0
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]     Checking time v0.3.37
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking http-range-header v0.3.1
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking rustls-native-certs v0.7.3
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]     Checking cbc v0.1.2
[INFO] [stderr]    Compiling http v1.2.0
[INFO] [stderr]     Checking webpki-roots v0.26.7
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking rfc7239 v0.1.3
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]    Compiling toml_edit v0.22.22
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]     Checking wildmatch v2.4.0
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking clap_builder v4.5.23
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]     Checking tempfile v3.14.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling pin-project-internal v1.1.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling prost-derive v0.12.6
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling proc-macro-crate v3.2.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]     Checking pin-project v1.1.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling poem-derive v3.1.4
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling poem-openapi-derive v5.1.4
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking clap v4.5.23
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking quick-xml v0.36.2
[INFO] [stderr]     Checking uuid v1.11.0
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling libsql-ffi v0.5.0
[INFO] [stderr]     Checking tokio v1.42.0
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking prost v0.12.6
[INFO] [stderr]     Checking libsql-hrana v0.2.0
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking headers v0.4.0
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking tokio-io-timeout v1.2.0
[INFO] [stderr]     Checking tokio-rustls v0.25.0
[INFO] [stderr]     Checking h2 v0.3.26
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking h2 v0.4.7
[INFO] [stderr]     Checking tower-http v0.4.4
[INFO] [stderr]     Checking hyper v1.5.2
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-util v0.1.10
[INFO] [stderr]     Checking poem v3.1.5
[INFO] [stderr]     Checking libsql-rusqlite v0.33.0
[INFO] [stderr]     Checking libsql-sys v0.8.0
[INFO] [stderr]     Checking poem-openapi v5.1.4
[INFO] [stderr]     Checking hyper-timeout v0.4.1
[INFO] [stderr]     Checking hyper-rustls v0.25.0
[INFO] [stderr]     Checking tonic v0.11.0
[INFO] [stderr]     Checking libsql_replication v0.6.0
[INFO] [stderr]     Checking tonic-web v0.11.0
[INFO] [stderr]     Checking libsql v0.6.0
[INFO] [stderr]     Checking f1-24-telemetry v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]  --> src/f1_telemetry_client/packets/car_telemetry.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tracing::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]  --> src/f1_telemetry_client/packets/car_telemetry.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tracing::info;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ZoneFlag` is more private than the item `MarshalZone::zone_flag`
[INFO] [stdout]   --> src/f1_telemetry_client/packets/session_data.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub zone_flag: ZoneFlag,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ field `MarshalZone::zone_flag` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ZoneFlag` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/f1_telemetry_client/packets/session_data.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout] 4  | enum ZoneFlag {
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/mod.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Session((PacketHeader, PacketSessionData)),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 21 -     Session((PacketHeader, PacketSessionData)),
[INFO] [stdout] 21 +     Session(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_damage.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct CarDamageData {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 5  |     pub tyres_wear: [f32; 4],        // Tyre wear (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 6  |     pub tyres_damage: [u8; 4],       // Tyre damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 7  |     pub brakes_damage: [u8; 4],      // Brakes damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub front_left_wing_damage: u8,  // Front left wing damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub front_right_wing_damage: u8, // Front right wing damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub rear_wing_damage: u8,        // Rear wing damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub floor_damage: u8,            // Floor damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub diffuser_damage: u8,         // Diffuser damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub sidepod_damage: u8,          // Sidepod damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub drs_fault: u8,               // Indicator for DRS fault, 0 = OK, 1 = fault
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 15 |     pub ers_fault: u8,               // Indicator for ERS fault, 0 = OK, 1 = fault
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 16 |     pub gear_box_damage: u8,         // Gear box damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub engine_damage: u8,           // Engine damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub engine_mguh_wear: u8,        // Engine wear MGU-H (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub engine_es_wear: u8,          // Engine wear ES (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub engine_ce_wear: u8,          // Engine wear CE (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub engine_ice_wear: u8,         // Engine wear ICE (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub engine_mguk_wear: u8,        // Engine wear MGU-K (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub engine_tc_wear: u8,          // Engine wear TC (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub engine_blown: u8,            // Engine blown, 0 = OK, 1 = fault
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub engine_seized: u8,           // Engine seized, 0 = OK, 1 = fault
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CarDamageData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `car_damage_data` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_damage.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct PacketCarDamageData {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 30 |     pub car_damage_data: Vec<CarDamageData>, // Car damage data for all cars
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketCarDamageData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_motion_data.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct CarMotionData {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub world_velocity_x: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     // Velocity in world space Y
[INFO] [stdout] 14 |     pub world_velocity_y: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     // Velocity in world space Z
[INFO] [stdout] 16 |     pub world_velocity_z: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     // World space forward X direction (normalised)
[INFO] [stdout] 18 |     pub world_forward_dir_x: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     // World space forward Y direction (normalised)
[INFO] [stdout] 20 |     pub world_forward_dir_y: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     // World space forward Z direction (normalised)
[INFO] [stdout] 22 |     pub world_forward_dir_z: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     // World space right X direction (normalised)
[INFO] [stdout] 24 |     pub world_right_dir_x: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     // World space right Y direction (normalised)
[INFO] [stdout] 26 |     pub world_right_dir_y: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     // World space right Z direction (normalised)
[INFO] [stdout] 28 |     pub world_right_dir_z: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub yaw: f32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 37 |     // Pitch angle in radians
[INFO] [stdout] 38 |     pub pitch: f32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 39 |     // Roll angle in radians
[INFO] [stdout] 40 |     pub roll: f32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CarMotionData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_setups.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct CarSetupData {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 5  |     pub front_wing: u8,                 // Front wing aero
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 6  |     pub rear_wing: u8,                  // Rear wing aero
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 7  |     pub on_throttle: u8,                // Differential adjustment on throttle (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 8  |     pub off_throttle: u8,               // Differential adjustment off throttle (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub front_camber: f32,              // Front camber angle (suspension geometry)
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub rear_camber: f32,               // Rear camber angle (suspension geometry)
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub front_toe: f32,                 // Front toe angle (suspension geometry)
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 12 |     pub rear_toe: f32,                  // Rear toe angle (suspension geometry)
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 13 |     pub front_suspension: u8,           // Front suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub rear_suspension: u8,            // Rear suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub front_anti_roll_bar: u8,        // Front anti-roll bar
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub rear_anti_roll_bar: u8,         // Front anti-roll bar
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub front_suspension_height: u8,    // Front ride height
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub rear_suspension_height: u8,     // Rear ride height
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub brake_pressure: u8,             // Brake pressure (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub brake_bias: u8,                 // Brake bias (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 21 |     pub engine_braking: u8,             // Engine braking (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub rear_left_tyre_pressure: f32,   // Rear left tyre pressure (PSI)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub rear_right_tyre_pressure: f32,  // Rear right tyre pressure (PSI)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub front_left_tyre_pressure: f32,  // Front left tyre pressure (PSI)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub front_right_tyre_pressure: f32, // Front right tyre pressure (PSI)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub ballast: u8,                    // Ballast
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 27 |     pub fuel_load: f32,                 // Fuel load
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CarSetupData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `car_setups` and `next_front_wing_value` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_setups.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct PacketCarSetupData {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 32 |     pub car_setups: Vec<CarSetupData>, // Car setups for all cars
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 33 |     pub next_front_wing_value: f32,    // Value of front wing after next pit stop - player only
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketCarSetupData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_status.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct CarStatusData {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 5  |     pub traction_control: u8,         // 0 = off, 1 = medium, 2 = full
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     pub anti_lock_brakes: u8,         // 0 (off) - 1 (on)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 7  |     pub fuel_mix: u8,                 // Fuel mix - 0 = lean, 1 = standard, 2 = rich, 3 = max
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 8  |     pub front_brake_bias: u8,         // Front brake bias (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub pit_limiter_status: u8,       // Pit limiter status - 0 = off, 1 = on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub fuel_in_tank: f32,            // Current fuel mass
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub fuel_capacity: f32,           // Fuel capacity
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub fuel_remaining_laps: f32,     // Fuel remaining in terms of laps (value on MFD)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub max_rpm: u16,                 // Cars max RPM, point of rev limiter
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 14 |     pub idle_rpm: u16,                // Cars idle RPM
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 15 |     pub max_gears: u8,                // Maximum number of gears
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 16 |     pub drs_allowed: u8,              // 0 = not allowed, 1 = allowed
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 17 |     pub drs_activation_distance: u16, // 0 = DRS not available, non-zero - DRS will be available in [X] metres
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub actual_tyre_compound: u8,     // F1 Modern - 16 = C5, 17 = C4, 18 = C3, 19 = C2, 20 = C1
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub visual_tyre_compound: u8, // F1 visual (can be different from actual compound)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub tyres_age_laps: u8,    // Age in laps of the current set of tyres
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub vehicle_fia_flags: i8, // -1 = invalid/unknown, 0 = none, 1 = green
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     // 2 = blue, 3 = yellow
[INFO] [stdout] 31 |     pub engine_power_ice: f32,  // Engine power output of ICE (W)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     pub engine_power_mguk: f32, // Engine power output of MGU-K (W)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub ers_store_energy: f32,  // ERS energy store in Joules
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     pub ers_deploy_mode: u8,    // ERS deployment mode, 0 = none, 1 = medium
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     // 2 = hotlap, 3 = overtake
[INFO] [stdout] 36 |     pub ers_harvested_this_lap_mguk: f32, // ERS energy harvested this lap by MGU-K
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub ers_harvested_this_lap_mguh: f32, // ERS energy harvested this lap by MGU-H
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub ers_deployed_this_lap: f32,       // ERS energy deployed this lap
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     pub network_paused: bool,             // Whether the car is paused in a network game
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CarStatusData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `car_status_data` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_status.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct PacketCarStatusData {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 44 |     pub car_status_data: Vec<CarStatusData>, // Car status for all 22 cars
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketCarStatusData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_telemetry.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub struct PacketCarTelemetry {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9  |     pub steer: f32,                 // Steering (-1.0 for full left to 1.0 for full right)
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 10 |     pub brake: f32,                 // Amount of brake applied (0.0 to 1.0)
[INFO] [stdout] 11 |     pub clutch: u8,                 // Amount of clutch applied (0 to 100)
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 12 |     pub gear: i8,                   // Gear selected (1-8, 0 = neutral, -1 = reverse)
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 13 |     pub engine_rpm: u16,            // Engine RPM
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 14 |     pub drs: u8,                    // 0 = off, 1 = on
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 15 |     pub rev_lights_percent: u8,     // Rev lights indicator (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub rev_lights_bit_value: u16,  // Rev lights indicator (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub surface_type: [u8; 4],
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketCarTelemetry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vehicle_idx` and `lap_time` are never read
[INFO] [stdout]  --> src/f1_telemetry_client/packets/event.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct FastestLap {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 5 |     pub vehicle_idx: u8,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 6 |     pub lap_time: f32,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `FastestLap` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vehicle_idx` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Retirement {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 11 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Retirement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vehicle_idx` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct TeamMateInPits {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 16 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TeamMateInPits` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vehicle_idx` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct RaceWinner {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 21 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RaceWinner` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Penalty {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 26 |     pub penalty_type: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub infringement_type: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 29 |     pub other_vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub time: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 31 |     pub lap_num: u8,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 32 |     pub places_gained: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Penalty` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vehicle_idx`, `speed`, `is_overall_fastest_in_session`, `is_driver_fastest_in_session`, `fastest_vehicle_idx_in_session`, and `fastest_speed_in_session` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct SpeedTrap {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 37 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 38 |     pub speed: f32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 39 |     pub is_overall_fastest_in_session: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     pub is_driver_fastest_in_session: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     pub fastest_vehicle_idx_in_session: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     pub fastest_speed_in_session: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpeedTrap` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_lights` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct StartLights {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 47 |     pub num_lights: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StartLights` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vehicle_idx` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct DriveThroughPenaltyServed {
[INFO] [stdout]    |            ------------------------- field in this struct
[INFO] [stdout] 52 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DriveThroughPenaltyServed` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vehicle_idx` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct StopGoPenaltyServed {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 57 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StopGoPenaltyServed` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `flashback_frame_identifier` and `flashback_session_time` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct Flashback {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 62 |     pub flashback_frame_identifier: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 63 |     pub flashback_session_time: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Flashback` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `button_status` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Buttons {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 68 |     pub button_status: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Buttons` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `overtaking_vehicle_idx` and `being_overtaken_vehicle_idx` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Overtake {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 73 |     pub overtaking_vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 74 |     pub being_overtaken_vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Overtake` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `safety_car_type` and `event_type` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct SafetyCar {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 79 |     pub safety_car_type: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub event_type: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SafetyCar` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vehicle1_idx` and `vehicle2_idx` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Collision {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 85 |     pub vehicle1_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 86 |     pub vehicle2_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Collision` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:91:16
[INFO] [stdout]    |
[INFO] [stdout] 91 |     FastestLap(FastestLap),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 91 -     FastestLap(FastestLap),
[INFO] [stdout] 91 +     FastestLap(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:92:16
[INFO] [stdout]    |
[INFO] [stdout] 92 |     Retirement(Retirement),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 92 -     Retirement(Retirement),
[INFO] [stdout] 92 +     Retirement(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |     TeamMateInPits(TeamMateInPits),
[INFO] [stdout]    |     -------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 93 -     TeamMateInPits(TeamMateInPits),
[INFO] [stdout] 93 +     TeamMateInPits(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:94:16
[INFO] [stdout]    |
[INFO] [stdout] 94 |     RaceWinner(RaceWinner),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 94 -     RaceWinner(RaceWinner),
[INFO] [stdout] 94 +     RaceWinner(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Penalty(Penalty),
[INFO] [stdout]    |     ------- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 95 -     Penalty(Penalty),
[INFO] [stdout] 95 +     Penalty(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 |     SpeedTrap(SpeedTrap),
[INFO] [stdout]    |     --------- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 96 -     SpeedTrap(SpeedTrap),
[INFO] [stdout] 96 +     SpeedTrap(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |     StartLights(StartLights),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 97 -     StartLights(StartLights),
[INFO] [stdout] 97 +     StartLights(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:98:31
[INFO] [stdout]    |
[INFO] [stdout] 98 |     DriveThroughPenaltyServed(DriveThroughPenaltyServed),
[INFO] [stdout]    |     ------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 98 -     DriveThroughPenaltyServed(DriveThroughPenaltyServed),
[INFO] [stdout] 98 +     DriveThroughPenaltyServed(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |     StopGoPenaltyServed(StopGoPenaltyServed),
[INFO] [stdout]    |     ------------------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 99 -     StopGoPenaltyServed(StopGoPenaltyServed),
[INFO] [stdout] 99 +     StopGoPenaltyServed(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Flashback(Flashback),
[INFO] [stdout]     |     --------- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 100 -     Flashback(Flashback),
[INFO] [stdout] 100 +     Flashback(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |     Buttons(Buttons),
[INFO] [stdout]     |     ------- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 101 -     Buttons(Buttons),
[INFO] [stdout] 101 +     Buttons(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Overtake(Overtake),
[INFO] [stdout]     |     -------- ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 102 -     Overtake(Overtake),
[INFO] [stdout] 102 +     Overtake(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     SafetyCar(SafetyCar),
[INFO] [stdout]     |     --------- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 103 -     SafetyCar(SafetyCar),
[INFO] [stdout] 103 +     SafetyCar(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |     Collision(Collision),
[INFO] [stdout]     |     --------- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 104 -     Collision(Collision),
[INFO] [stdout] 104 +     Collision(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `event_string_code` and `event_details` are never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct PacketEventData {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 109 |     pub event_string_code: [u8; 4],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 |     pub event_details: EventDataDetails,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PacketEventData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/final_classification.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct FinalClassificationData {
[INFO] [stdout]    |            ----------------------- fields in this struct
[INFO] [stdout] 42 |     pub position: u8,                  // Finishing position
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 43 |     pub num_laps: u8,                  // Number of laps completed
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 44 |     pub grid_position: u8,             // Grid position of the car
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 45 |     pub points: u8,                    // Number of points scored
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 46 |     pub num_pit_stops: u8,             // Number of pit stops made
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 47 |     pub result_status: ResultStatus,   // Result status
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub best_lap_time_in_ms: u32,      // Best lap time of the session in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     pub total_race_time: f64,          // Total race time in seconds without penalties
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub penalties_time: u8,            // Total penalties accumulated in seconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     pub num_penalties: u8,             // Number of penalties applied to this driver
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub num_tyre_stints: u8,           // Number of tyres stints up to maximum
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     pub tyre_stints_actual: [u8; 8],   // Actual tyres used by this driver
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     pub tyre_stints_visual: [u8; 8],   // Visual tyres used by this driver
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 55 |     pub tyre_stints_end_laps: [u8; 8], // The lap number stints end on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FinalClassificationData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_cars` and `classification_data` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/final_classification.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct PacketFinalClassificationData {
[INFO] [stdout]    |            ----------------------------- fields in this struct
[INFO] [stdout] 66 |     pub num_cars: u8, // Number of cars in the final classification
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 67 |     pub classification_data: Vec<FinalClassificationData>, // Final classification data for all cars
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketFinalClassificationData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/header.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct PacketHeader {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 49 |     pub packet_format: u16,             // 2024
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub game_year: u8,                  // Game year - last two digits e.g. 24
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 51 |     pub game_major_version: u8,         // Game major version - "X.00"
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub game_minor_version: u8,         // Game minor version - "1.XX"
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     pub packet_version: u8,             // Version of this packet type
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     pub packet_id: PacketType,          // Identifier for the packet type
[INFO] [stdout] 55 |     pub session_uid: u64,               // Unique identifier for the session
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 56 |     pub session_time: f32,              // Session timestamp
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 57 |     pub frame_identifier: u32,          // Frame identifier
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 58 |     pub overall_frame_identifier: u32,  // Overall frame identifier
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |     pub player_car_index: u8,           // Index of player's car
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     pub secondary_player_car_index: u8, // Index of secondary player's car (255 if none)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/lap_data.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct LapData {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub safety_car_delta: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub pit_status: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 37 |     // Number of pit stops taken in this race
[INFO] [stdout] 38 |     pub num_pit_stops: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub penalties: u8,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 45 |     // Accumulated number of warnings issued
[INFO] [stdout] 46 |     pub total_warnings: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     // Accumulated number of corner cutting warnings issued
[INFO] [stdout] 48 |     pub corner_cutting_warnings: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     // Num drive through pens left to serve
[INFO] [stdout] 50 |     pub num_unserved_drive_through_pens: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     // Num stop go pens left to serve
[INFO] [stdout] 52 |     pub num_unserved_stop_go_pens: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub pit_lane_timer_active: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     // If active, the current time spent in the pit lane in ms
[INFO] [stdout] 62 |     pub pit_lane_time_in_lane_in_ms: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 63 |     // Time of the actual pit stop in ms
[INFO] [stdout] 64 |     pub pit_stop_timer_in_ms: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     // Whether the car should serve a penalty at this stop
[INFO] [stdout] 66 |     pub pit_stop_should_serve_pen: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 67 |     // Fastest speed through speed trap for this car in kmph
[INFO] [stdout] 68 |     pub speed_trap_fastest_speed: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 69 |     // Lap no the fastest speed was achieved, 255 = not set
[INFO] [stdout] 70 |     pub speed_trap_fastest_lap: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LapData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `time_trial_pb_car_idx` and `time_trial_rival_car_idx` are never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/lap_data.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct PacketLapData {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub time_trial_pb_car_idx: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 |     // Index of Rival car in time trial (255 if invalid)
[INFO] [stdout] 134 |     pub time_trial_rival_car_idx: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PacketLapData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/lobby_info.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct LobbyInfoData {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 5  |     pub ai_controlled: u8, // Whether the vehicle is AI (1) or Human (0) controlled
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 6  |     pub team_id: u8,       // Team id - see appendix (255 if no team currently selected)
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 7  |     pub nationality: u8,   // Nationality of the driver
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 8  |     pub platform: u8,      // 1 = Steam, 3 = PlayStation, 4 = Xbox, 6 = Origin, 255 = unknown
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 9  |     pub name: String,      // Name of participant in UTF-8 format -- null terminated
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 10 |     // Will be truncated with ... (U+2026) if too long
[INFO] [stdout] 11 |     pub car_number: u8,        // Car number of the player
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 12 |     pub your_telemetry: u8,    // The player's UDP setting, 0 = restricted, 1 = public
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub show_online_names: u8, // The player's show online names setting, 0 = off, 1 = on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub tech_level: u16,       // F1 World tech level
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub ready_status: u8,      // 0 = not ready, 1 = ready, 2 = spectating
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LobbyInfoData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_players` and `lobby_players` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/lobby_info.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct PacketLobbyInfoData {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 20 |     pub num_players: u8,                   // Number of players in the lobby data
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 21 |     pub lobby_players: Vec<LobbyInfoData>, // Data for all players in the lobby
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketLobbyInfoData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/motion_ex.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct PacketMotionExData {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 5  |     // Note: All wheel arrays have the following order: RL, RR, FL, FR
[INFO] [stdout] 6  |     pub suspension_position: [f32; 4],     // Position of suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7  |     pub suspension_velocity: [f32; 4],     // Velocity of suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub suspension_acceleration: [f32; 4], // Acceleration of suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub wheel_speed: [f32; 4],             // Speed of each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 10 |     pub wheel_slip_ratio: [f32; 4],        // Slip ratio for each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub wheel_slip_angle: [f32; 4],        // Slip angles for each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub wheel_lat_force: [f32; 4],         // Lateral forces for each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub wheel_long_force: [f32; 4],        // Longitudinal forces for each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub height_of_cog_above_ground: f32,   // Height of centre of gravity above ground
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub local_velocity_x: f32,             // Velocity in local space -- metres/s
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub local_velocity_y: f32,             // Velocity in local space
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub local_velocity_z: f32,             // Velocity in local space
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub angular_velocity_x: f32,           // Angular velocity x-component -- radians/s
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub angular_velocity_y: f32,           // Angular velocity y-component
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub angular_velocity_z: f32,           // Angular velocity z-component
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub angular_acceleration_x: f32,       // Angular acceleration x-component -- radians/s/s
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub angular_acceleration_y: f32,       // Angular acceleration y-component
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub angular_acceleration_z: f32,       // Angular acceleration z-component
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub front_wheels_angle: f32,           // Current front wheels angle in radians
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub wheel_vert_force: [f32; 4],        // Vertical forces for each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub front_aero_height: f32,            // Front plank edge height above road surface
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub rear_aero_height: f32,             // Rear plank edge height above road surface
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub front_roll_angle: f32,             // Roll angle of the front suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub rear_roll_angle: f32,              // Roll angle of the rear suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub chassis_yaw: f32, // Yaw angle of the chassis relative to the direction of motion - radians
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketMotionExData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/participants.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct ParticipantData {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 5  |     pub ai_controlled: u8,  // Whether the vehicle is AI (1) or Human (0) controlled
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 6  |     pub driver_id: u8,      // Driver id - see appendix, 255 if network human
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 7  |     pub network_id: u8,     // Network id - unique identifier for network players
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 8  |     pub team_id: u8,        // Team id - see appendix
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 9  |     pub my_team: u8,        // My team flag - 1 = My Team, 0 = otherwise
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 10 |     pub race_number: u8,    // Race number of the car
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub nationality: u8,    // Nationality of the driver
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 12 |     pub name: String,       // Name of participant in UTF-8 format
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 13 |     pub your_telemetry: u8, // The player's UDP setting, 0 = restricted, 1 = public
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub show_online_names: u8, // The player's show online names setting, 0 = off, 1 = on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub tech_level: u16,    // F1 World tech level
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 16 |     pub platform: u8,       // 1 = Steam, 3 = PlayStation, 4 = Xbox, 6 = Origin, 255 = unknown
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParticipantData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_active_cars` and `participants` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/participants.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PacketParticipantsData {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] 21 |     pub num_active_cars: u8,                // Number of active cars in the data
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub participants: Vec<ParticipantData>, // List of participants
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketParticipantsData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `zone_start` and `zone_flag` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/session_data.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct MarshalZone {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 43 |     pub zone_start: f32, // 0..1 fraction through lap
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 44 |     pub zone_flag: ZoneFlag,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarshalZone` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/session_data.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct WeatherForecastSample {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 70 |     pub session_type: u8,             // 0 = unknown, see appendix
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 71 |     pub time_offset: u8,              // Time in minutes the forecast is for
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 72 |     pub weather: u8, // 0 = clear, 1 = light cloud, 2 = overcast, 3 = light rain, 4 = heavy rain, 5 = storm
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 73 |     pub track_temperature: i8, // Track temp in Celsius
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 74 |     pub track_temperature_change: i8, // 0 = up, 1 = down, 2 = no change
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 75 |     pub air_temperature: i8, // Air temp in Celsius
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 76 |     pub air_temperature_change: i8, // 0 = up, 1 = down, 2 = no change
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     pub rain_percentage: u8, // Rain percentage (0-100)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WeatherForecastSample` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/session_data.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct PacketSessionData {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 109 |     pub weather: u8, // 0 = clear, 1 = light cloud, 2 = overcast, 3 = light rain, 4 = heavy rain, 5 = storm
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 110 |     pub track_temperature: i8, // Track temp in Celsius
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 |     pub air_temperature: i8, // Air temp in Celsius
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |     pub total_laps: u8, // Total number of laps in race
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 113 |     pub track_length: u16, // Track length in metres
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 114 |     pub session_type: u8, // 0 = unknown, see appendix
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 115 |     pub track_id: i8, // -1 for unknown, see appendix
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 116 |     pub formula: u8, // 0 = F1 Modern, 1 = F1 Classic, 2 = F2, 3 = F1 Generic, 4 = Beta, 6 = Esports
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 117 |     pub session_time_left: u16, // Time left in session in seconds
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 118 |     pub session_duration: u16, // Session duration in seconds
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 119 |     pub pit_speed_limit: u8, // Pit speed limit in km/h
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     pub game_paused: u8, // 0 = not paused, 1 = paused
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 121 |     pub is_spectating: u8, // 0 = not spectating, 1 = spectating
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 122 |     pub spectator_car_index: u8, // Index of car being spectated
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 123 |     pub sli_pro_native_support: u8, // 0 = inactive, 1 = active
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 124 |     pub num_marshal_zones: u8, // Number of marshal zones
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 125 |     pub marshal_zones: [MarshalZone; 21], // List of marshal zones
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 126 |     pub safety_car_status: u8, // 0 = no safety car, 1 = full, 2 = virtual, 3 = formation lap
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 127 |     pub network_game: u8, // 0 = offline, 1 = online
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 128 |     pub num_weather_forecast_samples: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     pub weather_forecast_samples: [WeatherForecastSample; 64],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 130 |     pub forecast_accuracy: u8,             // 0 = Perfect, 1 = Approximate
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     pub ai_difficulty: u8,                 // AI Difficulty (0-110)
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 132 |     pub season_link_identifier: u32,       // Season identifier
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 |     pub weekend_link_identifier: u32,      // Weekend identifier
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 134 |     pub session_link_identifier: u32,      // Session identifier
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 |     pub pit_stop_window_ideal_lap: u8,     // Ideal pit stop lap
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 136 |     pub pit_stop_window_latest_lap: u8,    // Latest pit stop lap
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |     pub pit_stop_rejoin_position: u8,      // Predicted rejoin position
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 138 |     pub steering_assist: bool,             // 0 = off, 1 = on
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 139 |     pub braking_assist: u8,                // 0 = off, 1 = low, 2 = medium, 3 = high
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 140 |     pub gearbox_assist: u8,                // 1 = manual, 2 = manual & suggested gear, 3 = auto
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 141 |     pub pit_assist: u8,                    // 0 = off, 1 = on
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 142 |     pub pit_release_assist: u8,            // 0 = off, 1 = on
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 143 |     pub ers_assist: u8,                    // 0 = off, 1 = on
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 144 |     pub drs_assist: u8,                    // 0 = off, 1 = on
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 145 |     pub dynamic_racing_line: u8,           // 0 = off, 1 = corners only, 2 = full
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     pub dynamic_racing_line_type: u8,      // 0 = 2D, 1 = 3D
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |     pub game_mode: u8,                     // Game mode id
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 148 |     pub ruleset: u8,                       // Ruleset
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 149 |     pub time_of_day: u32,                  // Minutes since midnight
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 150 |     pub session_length: u8, // 0 = None, 2 = Very Short, 3 = Short, 4 = Medium, 5 = Medium Long, 6 = Long, 7 = Full
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 151 |     pub speed_units_lead_player: u8, // 0 = MPH, 1 = KPH
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 152 |     pub temperature_units_lead_player: u8, // 0 = Celsius, 1 = Fahrenheit
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 153 |     pub speed_units_secondary_player: u8, // 0 = MPH, 1 = KPH
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 154 |     pub temperature_units_secondary_player: u8, // 0 = Celsius, 1 = Fahrenheit
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 155 |     pub num_safety_car_periods: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 156 |     pub num_virtual_safety_car_periods: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 157 |     pub num_red_flag_periods: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 158 |     pub equal_car_performance: u8,             // 0 = Off, 1 = On
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 159 |     pub recovery_mode: u8,                     // 0 = None, 1 = Flashbacks, 2 = Auto-recovery
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 160 |     pub flashback_limit: u8,                   // 0 = Low, 1 = Medium, 2 = High, 3 = Unlimited
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 161 |     pub surface_type: u8,                      // 0 = Simplified, 1 = Realistic
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 162 |     pub low_fuel_mode: u8,                     // 0 = Easy, 1 = Hard
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 163 |     pub race_starts: u8,                       // 0 = Manual, 1 = Assisted
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 164 |     pub tyre_temperature: u8,                  // 0 = Surface only, 1 = Surface & Carcass
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 165 |     pub pit_lane_tyre_sim: u8,                 // 0 = On, 1 = Off
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 166 |     pub car_damage: u8,                        // 0 = Off, 1 = Reduced, 2 = Standard, 3 = Simulation
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 167 |     pub car_damage_rate: u8,                   // 0 = Reduced, 1 = Standard, 2 = Simulation
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 168 |     pub collisions: u8,                        // 0 = Off, 1 = Player-to-Player Off, 2 = On
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 169 |     pub collisions_off_for_first_lap_only: u8, // 0 = Disabled, 1 = Enabled
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 170 |     pub mp_unsafe_pit_release: u8,             // 0 = On, 1 = Off (Multiplayer)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 171 |     pub mp_off_for_griefing: u8,               // 0 = Disabled, 1 = Enabled (Multiplayer)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 172 |     pub corner_cutting_stringency: u8,         // 0 = Regular, 1 = Strict
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 173 |     pub parc_ferme_rules: u8,                  // 0 = Off, 1 = On
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 174 |     pub pit_stop_experience: u8,               // 0 = Automatic, 1 = Broadcast, 2 = Immersive
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 175 |     pub safety_car: u8,                        // 0 = Off, 1 = Reduced, 2 = Standard, 3 = Increased
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 176 |     pub safety_car_experience: u8,             // 0 = Broadcast, 1 = Immersive
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 |     pub formation_lap: u8,                     // 0 = Off, 1 = On
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 178 |     pub formation_lap_experience: u8,          // 0 = Broadcast, 1 = Immersive
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 179 |     pub red_flags: u8,                         // 0 = Off, 1 = Reduced, 2 = Standard, 3 = Increased
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 180 |     pub affects_licence_level_solo: u8,        // 0 = Off, 1 = On
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 181 |     pub affects_licence_level_mp: u8,          // 0 = Off, 1 = On
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 |     pub num_sessions_in_weekend: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     pub weekend_structure: [u8; 12],     // List of session types
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 |     pub sector2_lap_distance_start: f32, // Distance in m for sector 2 start
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 185 |     pub sector3_lap_distance_start: f32, // Distance in m for sector 3 start
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PacketSessionData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/time_trial.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct TimeTrialDataSet {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 5  |     pub car_idx: u8,               // Index of the car this data relates to
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 6  |     pub team_id: u8,               // Team id - see appendix
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 7  |     pub lap_time_in_ms: u32,       // Lap time in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub sector1_time_in_ms: u32,   // Sector 1 time in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub sector2_time_in_ms: u32,   // Sector 2 time in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub sector3_time_in_ms: u32,   // Sector 3 time in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub traction_control: u8,      // 0 = off, 1 = medium, 2 = full
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub gearbox_assist: u8,        // 1 = manual, 2 = manual & suggested gear, 3 = auto
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub anti_lock_brakes: u8,      // 0 (off) - 1 (on)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub equal_car_performance: u8, // 0 = Realistic, 1 = Equal
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub custom_setup: u8,          // 0 = No, 1 = Yes
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub valid: u8,                 // 0 = invalid, 1 = valid
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimeTrialDataSet` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_session_best_data_set`, `personal_best_data_set`, and `rival_data_set` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/time_trial.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PacketTimeTrialData {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 21 |     pub player_session_best_data_set: TimeTrialDataSet, // Player session best data set
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub personal_best_data_set: TimeTrialDataSet,       // Personal best data set
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub rival_data_set: TimeTrialDataSet,               // Rival data set
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketTimeTrialData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/tyre_sets.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct LapHistoryData {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 5  |     pub lap_time_in_ms: u32,           // Lap time in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     pub sector1_time_ms_part: u16,     // Sector 1 milliseconds part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7  |     pub sector1_time_minutes_part: u8, // Sector 1 whole minute part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub sector2_time_ms_part: u16,     // Sector 2 time milliseconds part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub sector2_time_minutes_part: u8, // Sector 2 whole minute part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub sector3_time_ms_part: u16,     // Sector 3 time milliseconds part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub sector3_time_minutes_part: u8, // Sector 3 whole minute part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub lap_valid_bit_flags: u8,       // 0x01 bit set-lap valid, 0x02 bit set-sector 1 valid
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LapHistoryData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `end_lap`, `tyre_actual_compound`, and `tyre_visual_compound` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/tyre_sets.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TyreStintHistoryData {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 18 |     pub end_lap: u8,              // Lap the tyre usage ends on (255 of current tyre)
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 19 |     pub tyre_actual_compound: u8, // Actual tyres used by this driver
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub tyre_visual_compound: u8, // Visual tyres used by this driver
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TyreStintHistoryData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/tyre_sets.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct PacketSessionHistoryData {
[INFO] [stdout]    |            ------------------------ fields in this struct
[INFO] [stdout] 25 |     pub car_idx: u8,               // Index of the car this lap data relates to
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 26 |     pub num_laps: u8,              // Num laps in the data (including current partial lap)
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 27 |     pub num_tyre_stints: u8,       // Number of tyre stints in the data
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub best_lap_time_lap_num: u8, // Lap the best lap time was achieved on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub best_sector1_lap_num: u8,  // Lap the best Sector 1 time was achieved on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub best_sector2_lap_num: u8,  // Lap the best Sector 2 time was achieved on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     pub best_sector3_lap_num: u8,  // Lap the best Sector 3 time was achieved on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     pub lap_history_data: Vec<LapHistoryData>, // 100 laps of data max
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub tyre_stints_history_data: Vec<TyreStintHistoryData>, // 8 tyre stints max
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketSessionHistoryData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ZoneFlag` is more private than the item `MarshalZone::zone_flag`
[INFO] [stdout]   --> src/f1_telemetry_client/packets/session_data.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub zone_flag: ZoneFlag,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ field `MarshalZone::zone_flag` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ZoneFlag` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/f1_telemetry_client/packets/session_data.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout] 4  | enum ZoneFlag {
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/mod.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Session((PacketHeader, PacketSessionData)),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 21 -     Session((PacketHeader, PacketSessionData)),
[INFO] [stdout] 21 +     Session(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_damage.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct CarDamageData {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 5  |     pub tyres_wear: [f32; 4],        // Tyre wear (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 6  |     pub tyres_damage: [u8; 4],       // Tyre damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 7  |     pub brakes_damage: [u8; 4],      // Brakes damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub front_left_wing_damage: u8,  // Front left wing damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub front_right_wing_damage: u8, // Front right wing damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub rear_wing_damage: u8,        // Rear wing damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub floor_damage: u8,            // Floor damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub diffuser_damage: u8,         // Diffuser damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub sidepod_damage: u8,          // Sidepod damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub drs_fault: u8,               // Indicator for DRS fault, 0 = OK, 1 = fault
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 15 |     pub ers_fault: u8,               // Indicator for ERS fault, 0 = OK, 1 = fault
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 16 |     pub gear_box_damage: u8,         // Gear box damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub engine_damage: u8,           // Engine damage (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub engine_mguh_wear: u8,        // Engine wear MGU-H (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub engine_es_wear: u8,          // Engine wear ES (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub engine_ce_wear: u8,          // Engine wear CE (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub engine_ice_wear: u8,         // Engine wear ICE (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub engine_mguk_wear: u8,        // Engine wear MGU-K (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub engine_tc_wear: u8,          // Engine wear TC (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub engine_blown: u8,            // Engine blown, 0 = OK, 1 = fault
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub engine_seized: u8,           // Engine seized, 0 = OK, 1 = fault
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CarDamageData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `car_damage_data` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_damage.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct PacketCarDamageData {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 30 |     pub car_damage_data: Vec<CarDamageData>, // Car damage data for all cars
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketCarDamageData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_motion_data.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct CarMotionData {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub world_velocity_x: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     // Velocity in world space Y
[INFO] [stdout] 14 |     pub world_velocity_y: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     // Velocity in world space Z
[INFO] [stdout] 16 |     pub world_velocity_z: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     // World space forward X direction (normalised)
[INFO] [stdout] 18 |     pub world_forward_dir_x: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     // World space forward Y direction (normalised)
[INFO] [stdout] 20 |     pub world_forward_dir_y: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     // World space forward Z direction (normalised)
[INFO] [stdout] 22 |     pub world_forward_dir_z: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     // World space right X direction (normalised)
[INFO] [stdout] 24 |     pub world_right_dir_x: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     // World space right Y direction (normalised)
[INFO] [stdout] 26 |     pub world_right_dir_y: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     // World space right Z direction (normalised)
[INFO] [stdout] 28 |     pub world_right_dir_z: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub yaw: f32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 37 |     // Pitch angle in radians
[INFO] [stdout] 38 |     pub pitch: f32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 39 |     // Roll angle in radians
[INFO] [stdout] 40 |     pub roll: f32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CarMotionData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_setups.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct CarSetupData {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 5  |     pub front_wing: u8,                 // Front wing aero
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 6  |     pub rear_wing: u8,                  // Rear wing aero
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 7  |     pub on_throttle: u8,                // Differential adjustment on throttle (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 8  |     pub off_throttle: u8,               // Differential adjustment off throttle (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub front_camber: f32,              // Front camber angle (suspension geometry)
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub rear_camber: f32,               // Rear camber angle (suspension geometry)
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub front_toe: f32,                 // Front toe angle (suspension geometry)
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 12 |     pub rear_toe: f32,                  // Rear toe angle (suspension geometry)
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 13 |     pub front_suspension: u8,           // Front suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub rear_suspension: u8,            // Rear suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub front_anti_roll_bar: u8,        // Front anti-roll bar
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub rear_anti_roll_bar: u8,         // Front anti-roll bar
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub front_suspension_height: u8,    // Front ride height
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub rear_suspension_height: u8,     // Rear ride height
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub brake_pressure: u8,             // Brake pressure (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub brake_bias: u8,                 // Brake bias (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 21 |     pub engine_braking: u8,             // Engine braking (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub rear_left_tyre_pressure: f32,   // Rear left tyre pressure (PSI)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub rear_right_tyre_pressure: f32,  // Rear right tyre pressure (PSI)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub front_left_tyre_pressure: f32,  // Front left tyre pressure (PSI)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub front_right_tyre_pressure: f32, // Front right tyre pressure (PSI)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub ballast: u8,                    // Ballast
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 27 |     pub fuel_load: f32,                 // Fuel load
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CarSetupData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `car_setups` and `next_front_wing_value` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_setups.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct PacketCarSetupData {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 32 |     pub car_setups: Vec<CarSetupData>, // Car setups for all cars
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 33 |     pub next_front_wing_value: f32,    // Value of front wing after next pit stop - player only
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketCarSetupData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_status.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct CarStatusData {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 5  |     pub traction_control: u8,         // 0 = off, 1 = medium, 2 = full
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     pub anti_lock_brakes: u8,         // 0 (off) - 1 (on)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 7  |     pub fuel_mix: u8,                 // Fuel mix - 0 = lean, 1 = standard, 2 = rich, 3 = max
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 8  |     pub front_brake_bias: u8,         // Front brake bias (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub pit_limiter_status: u8,       // Pit limiter status - 0 = off, 1 = on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub fuel_in_tank: f32,            // Current fuel mass
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub fuel_capacity: f32,           // Fuel capacity
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub fuel_remaining_laps: f32,     // Fuel remaining in terms of laps (value on MFD)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub max_rpm: u16,                 // Cars max RPM, point of rev limiter
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 14 |     pub idle_rpm: u16,                // Cars idle RPM
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 15 |     pub max_gears: u8,                // Maximum number of gears
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 16 |     pub drs_allowed: u8,              // 0 = not allowed, 1 = allowed
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 17 |     pub drs_activation_distance: u16, // 0 = DRS not available, non-zero - DRS will be available in [X] metres
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub actual_tyre_compound: u8,     // F1 Modern - 16 = C5, 17 = C4, 18 = C3, 19 = C2, 20 = C1
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub visual_tyre_compound: u8, // F1 visual (can be different from actual compound)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub tyres_age_laps: u8,    // Age in laps of the current set of tyres
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub vehicle_fia_flags: i8, // -1 = invalid/unknown, 0 = none, 1 = green
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     // 2 = blue, 3 = yellow
[INFO] [stdout] 31 |     pub engine_power_ice: f32,  // Engine power output of ICE (W)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     pub engine_power_mguk: f32, // Engine power output of MGU-K (W)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub ers_store_energy: f32,  // ERS energy store in Joules
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     pub ers_deploy_mode: u8,    // ERS deployment mode, 0 = none, 1 = medium
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     // 2 = hotlap, 3 = overtake
[INFO] [stdout] 36 |     pub ers_harvested_this_lap_mguk: f32, // ERS energy harvested this lap by MGU-K
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub ers_harvested_this_lap_mguh: f32, // ERS energy harvested this lap by MGU-H
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub ers_deployed_this_lap: f32,       // ERS energy deployed this lap
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 39 |     pub network_paused: bool,             // Whether the car is paused in a network game
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CarStatusData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `car_status_data` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_status.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct PacketCarStatusData {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 44 |     pub car_status_data: Vec<CarStatusData>, // Car status for all 22 cars
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketCarStatusData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/car_telemetry.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub struct PacketCarTelemetry {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 9  |     pub steer: f32,                 // Steering (-1.0 for full left to 1.0 for full right)
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 10 |     pub brake: f32,                 // Amount of brake applied (0.0 to 1.0)
[INFO] [stdout] 11 |     pub clutch: u8,                 // Amount of clutch applied (0 to 100)
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 12 |     pub gear: i8,                   // Gear selected (1-8, 0 = neutral, -1 = reverse)
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 13 |     pub engine_rpm: u16,            // Engine RPM
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 14 |     pub drs: u8,                    // 0 = off, 1 = on
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 15 |     pub rev_lights_percent: u8,     // Rev lights indicator (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub rev_lights_bit_value: u16,  // Rev lights indicator (percentage)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub surface_type: [u8; 4],
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketCarTelemetry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vehicle_idx` and `lap_time` are never read
[INFO] [stdout]  --> src/f1_telemetry_client/packets/event.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct FastestLap {
[INFO] [stdout]   |            ---------- fields in this struct
[INFO] [stdout] 5 |     pub vehicle_idx: u8,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 6 |     pub lap_time: f32,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `FastestLap` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vehicle_idx` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Retirement {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 11 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Retirement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vehicle_idx` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct TeamMateInPits {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 16 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TeamMateInPits` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vehicle_idx` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct RaceWinner {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 21 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RaceWinner` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Penalty {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 26 |     pub penalty_type: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub infringement_type: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 29 |     pub other_vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub time: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 31 |     pub lap_num: u8,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 32 |     pub places_gained: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Penalty` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vehicle_idx`, `speed`, `is_overall_fastest_in_session`, `is_driver_fastest_in_session`, `fastest_vehicle_idx_in_session`, and `fastest_speed_in_session` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct SpeedTrap {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 37 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 38 |     pub speed: f32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 39 |     pub is_overall_fastest_in_session: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     pub is_driver_fastest_in_session: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     pub fastest_vehicle_idx_in_session: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 42 |     pub fastest_speed_in_session: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SpeedTrap` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `num_lights` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct StartLights {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 47 |     pub num_lights: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StartLights` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vehicle_idx` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct DriveThroughPenaltyServed {
[INFO] [stdout]    |            ------------------------- field in this struct
[INFO] [stdout] 52 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DriveThroughPenaltyServed` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vehicle_idx` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct StopGoPenaltyServed {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 57 |     pub vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StopGoPenaltyServed` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `flashback_frame_identifier` and `flashback_session_time` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct Flashback {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 62 |     pub flashback_frame_identifier: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 63 |     pub flashback_session_time: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Flashback` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `button_status` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Buttons {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 68 |     pub button_status: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Buttons` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `overtaking_vehicle_idx` and `being_overtaken_vehicle_idx` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct Overtake {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 73 |     pub overtaking_vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 74 |     pub being_overtaken_vehicle_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Overtake` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `safety_car_type` and `event_type` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct SafetyCar {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 79 |     pub safety_car_type: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub event_type: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SafetyCar` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vehicle1_idx` and `vehicle2_idx` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Collision {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 85 |     pub vehicle1_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 86 |     pub vehicle2_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Collision` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:91:16
[INFO] [stdout]    |
[INFO] [stdout] 91 |     FastestLap(FastestLap),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 91 -     FastestLap(FastestLap),
[INFO] [stdout] 91 +     FastestLap(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:92:16
[INFO] [stdout]    |
[INFO] [stdout] 92 |     Retirement(Retirement),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 92 -     Retirement(Retirement),
[INFO] [stdout] 92 +     Retirement(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |     TeamMateInPits(TeamMateInPits),
[INFO] [stdout]    |     -------------- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 93 -     TeamMateInPits(TeamMateInPits),
[INFO] [stdout] 93 +     TeamMateInPits(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:94:16
[INFO] [stdout]    |
[INFO] [stdout] 94 |     RaceWinner(RaceWinner),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 94 -     RaceWinner(RaceWinner),
[INFO] [stdout] 94 +     RaceWinner(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Penalty(Penalty),
[INFO] [stdout]    |     ------- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 95 -     Penalty(Penalty),
[INFO] [stdout] 95 +     Penalty(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:96:15
[INFO] [stdout]    |
[INFO] [stdout] 96 |     SpeedTrap(SpeedTrap),
[INFO] [stdout]    |     --------- ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 96 -     SpeedTrap(SpeedTrap),
[INFO] [stdout] 96 +     SpeedTrap(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |     StartLights(StartLights),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 97 -     StartLights(StartLights),
[INFO] [stdout] 97 +     StartLights(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:98:31
[INFO] [stdout]    |
[INFO] [stdout] 98 |     DriveThroughPenaltyServed(DriveThroughPenaltyServed),
[INFO] [stdout]    |     ------------------------- ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 98 -     DriveThroughPenaltyServed(DriveThroughPenaltyServed),
[INFO] [stdout] 98 +     DriveThroughPenaltyServed(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/event.rs:99:25
[INFO] [stdout]    |
[INFO] [stdout] 99 |     StopGoPenaltyServed(StopGoPenaltyServed),
[INFO] [stdout]    |     ------------------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 99 -     StopGoPenaltyServed(StopGoPenaltyServed),
[INFO] [stdout] 99 +     StopGoPenaltyServed(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:100:15
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Flashback(Flashback),
[INFO] [stdout]     |     --------- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 100 -     Flashback(Flashback),
[INFO] [stdout] 100 +     Flashback(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |     Buttons(Buttons),
[INFO] [stdout]     |     ------- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 101 -     Buttons(Buttons),
[INFO] [stdout] 101 +     Buttons(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:102:14
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Overtake(Overtake),
[INFO] [stdout]     |     -------- ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 102 -     Overtake(Overtake),
[INFO] [stdout] 102 +     Overtake(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     SafetyCar(SafetyCar),
[INFO] [stdout]     |     --------- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 103 -     SafetyCar(SafetyCar),
[INFO] [stdout] 103 +     SafetyCar(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |     Collision(Collision),
[INFO] [stdout]     |     --------- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EventDataDetails` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 104 -     Collision(Collision),
[INFO] [stdout] 104 +     Collision(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `event_string_code` and `event_details` are never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/event.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct PacketEventData {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 109 |     pub event_string_code: [u8; 4],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 |     pub event_details: EventDataDetails,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PacketEventData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/final_classification.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct FinalClassificationData {
[INFO] [stdout]    |            ----------------------- fields in this struct
[INFO] [stdout] 42 |     pub position: u8,                  // Finishing position
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 43 |     pub num_laps: u8,                  // Number of laps completed
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 44 |     pub grid_position: u8,             // Grid position of the car
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 45 |     pub points: u8,                    // Number of points scored
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 46 |     pub num_pit_stops: u8,             // Number of pit stops made
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 47 |     pub result_status: ResultStatus,   // Result status
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 48 |     pub best_lap_time_in_ms: u32,      // Best lap time of the session in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     pub total_race_time: f64,          // Total race time in seconds without penalties
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub penalties_time: u8,            // Total penalties accumulated in seconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     pub num_penalties: u8,             // Number of penalties applied to this driver
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub num_tyre_stints: u8,           // Number of tyres stints up to maximum
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     pub tyre_stints_actual: [u8; 8],   // Actual tyres used by this driver
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     pub tyre_stints_visual: [u8; 8],   // Visual tyres used by this driver
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 55 |     pub tyre_stints_end_laps: [u8; 8], // The lap number stints end on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FinalClassificationData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_cars` and `classification_data` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/final_classification.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct PacketFinalClassificationData {
[INFO] [stdout]    |            ----------------------------- fields in this struct
[INFO] [stdout] 66 |     pub num_cars: u8, // Number of cars in the final classification
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 67 |     pub classification_data: Vec<FinalClassificationData>, // Final classification data for all cars
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketFinalClassificationData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/header.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct PacketHeader {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 49 |     pub packet_format: u16,             // 2024
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 50 |     pub game_year: u8,                  // Game year - last two digits e.g. 24
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 51 |     pub game_major_version: u8,         // Game major version - "X.00"
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub game_minor_version: u8,         // Game minor version - "1.XX"
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     pub packet_version: u8,             // Version of this packet type
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     pub packet_id: PacketType,          // Identifier for the packet type
[INFO] [stdout] 55 |     pub session_uid: u64,               // Unique identifier for the session
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 56 |     pub session_time: f32,              // Session timestamp
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 57 |     pub frame_identifier: u32,          // Frame identifier
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 58 |     pub overall_frame_identifier: u32,  // Overall frame identifier
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |     pub player_car_index: u8,           // Index of player's car
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     pub secondary_player_car_index: u8, // Index of secondary player's car (255 if none)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/lap_data.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct LapData {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub safety_car_delta: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub pit_status: u8,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 37 |     // Number of pit stops taken in this race
[INFO] [stdout] 38 |     pub num_pit_stops: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub penalties: u8,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 45 |     // Accumulated number of warnings issued
[INFO] [stdout] 46 |     pub total_warnings: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     // Accumulated number of corner cutting warnings issued
[INFO] [stdout] 48 |     pub corner_cutting_warnings: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 49 |     // Num drive through pens left to serve
[INFO] [stdout] 50 |     pub num_unserved_drive_through_pens: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 |     // Num stop go pens left to serve
[INFO] [stdout] 52 |     pub num_unserved_stop_go_pens: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub pit_lane_timer_active: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     // If active, the current time spent in the pit lane in ms
[INFO] [stdout] 62 |     pub pit_lane_time_in_lane_in_ms: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 63 |     // Time of the actual pit stop in ms
[INFO] [stdout] 64 |     pub pit_stop_timer_in_ms: u16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 65 |     // Whether the car should serve a penalty at this stop
[INFO] [stdout] 66 |     pub pit_stop_should_serve_pen: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 67 |     // Fastest speed through speed trap for this car in kmph
[INFO] [stdout] 68 |     pub speed_trap_fastest_speed: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 69 |     // Lap no the fastest speed was achieved, 255 = not set
[INFO] [stdout] 70 |     pub speed_trap_fastest_lap: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LapData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `time_trial_pb_car_idx` and `time_trial_rival_car_idx` are never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/lap_data.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct PacketLapData {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub time_trial_pb_car_idx: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 |     // Index of Rival car in time trial (255 if invalid)
[INFO] [stdout] 134 |     pub time_trial_rival_car_idx: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PacketLapData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/lobby_info.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct LobbyInfoData {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 5  |     pub ai_controlled: u8, // Whether the vehicle is AI (1) or Human (0) controlled
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 6  |     pub team_id: u8,       // Team id - see appendix (255 if no team currently selected)
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 7  |     pub nationality: u8,   // Nationality of the driver
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 8  |     pub platform: u8,      // 1 = Steam, 3 = PlayStation, 4 = Xbox, 6 = Origin, 255 = unknown
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 9  |     pub name: String,      // Name of participant in UTF-8 format -- null terminated
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 10 |     // Will be truncated with ... (U+2026) if too long
[INFO] [stdout] 11 |     pub car_number: u8,        // Car number of the player
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 12 |     pub your_telemetry: u8,    // The player's UDP setting, 0 = restricted, 1 = public
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub show_online_names: u8, // The player's show online names setting, 0 = off, 1 = on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub tech_level: u16,       // F1 World tech level
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub ready_status: u8,      // 0 = not ready, 1 = ready, 2 = spectating
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LobbyInfoData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_players` and `lobby_players` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/lobby_info.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct PacketLobbyInfoData {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 20 |     pub num_players: u8,                   // Number of players in the lobby data
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 21 |     pub lobby_players: Vec<LobbyInfoData>, // Data for all players in the lobby
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketLobbyInfoData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/motion_ex.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct PacketMotionExData {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 5  |     // Note: All wheel arrays have the following order: RL, RR, FL, FR
[INFO] [stdout] 6  |     pub suspension_position: [f32; 4],     // Position of suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7  |     pub suspension_velocity: [f32; 4],     // Velocity of suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub suspension_acceleration: [f32; 4], // Acceleration of suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub wheel_speed: [f32; 4],             // Speed of each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 10 |     pub wheel_slip_ratio: [f32; 4],        // Slip ratio for each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub wheel_slip_angle: [f32; 4],        // Slip angles for each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub wheel_lat_force: [f32; 4],         // Lateral forces for each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub wheel_long_force: [f32; 4],        // Longitudinal forces for each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub height_of_cog_above_ground: f32,   // Height of centre of gravity above ground
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub local_velocity_x: f32,             // Velocity in local space -- metres/s
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub local_velocity_y: f32,             // Velocity in local space
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub local_velocity_z: f32,             // Velocity in local space
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub angular_velocity_x: f32,           // Angular velocity x-component -- radians/s
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub angular_velocity_y: f32,           // Angular velocity y-component
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub angular_velocity_z: f32,           // Angular velocity z-component
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub angular_acceleration_x: f32,       // Angular acceleration x-component -- radians/s/s
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub angular_acceleration_y: f32,       // Angular acceleration y-component
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub angular_acceleration_z: f32,       // Angular acceleration z-component
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub front_wheels_angle: f32,           // Current front wheels angle in radians
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     pub wheel_vert_force: [f32; 4],        // Vertical forces for each wheel
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub front_aero_height: f32,            // Front plank edge height above road surface
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub rear_aero_height: f32,             // Rear plank edge height above road surface
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub front_roll_angle: f32,             // Roll angle of the front suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub rear_roll_angle: f32,              // Roll angle of the rear suspension
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub chassis_yaw: f32, // Yaw angle of the chassis relative to the direction of motion - radians
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketMotionExData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/participants.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct ParticipantData {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 5  |     pub ai_controlled: u8,  // Whether the vehicle is AI (1) or Human (0) controlled
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 6  |     pub driver_id: u8,      // Driver id - see appendix, 255 if network human
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 7  |     pub network_id: u8,     // Network id - unique identifier for network players
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 8  |     pub team_id: u8,        // Team id - see appendix
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 9  |     pub my_team: u8,        // My team flag - 1 = My Team, 0 = otherwise
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 10 |     pub race_number: u8,    // Race number of the car
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub nationality: u8,    // Nationality of the driver
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 12 |     pub name: String,       // Name of participant in UTF-8 format
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 13 |     pub your_telemetry: u8, // The player's UDP setting, 0 = restricted, 1 = public
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub show_online_names: u8, // The player's show online names setting, 0 = off, 1 = on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub tech_level: u16,    // F1 World tech level
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 16 |     pub platform: u8,       // 1 = Steam, 3 = PlayStation, 4 = Xbox, 6 = Origin, 255 = unknown
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParticipantData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `num_active_cars` and `participants` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/participants.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PacketParticipantsData {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] 21 |     pub num_active_cars: u8,                // Number of active cars in the data
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub participants: Vec<ParticipantData>, // List of participants
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketParticipantsData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `zone_start` and `zone_flag` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/session_data.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct MarshalZone {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 43 |     pub zone_start: f32, // 0..1 fraction through lap
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 44 |     pub zone_flag: ZoneFlag,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarshalZone` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/session_data.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct WeatherForecastSample {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 70 |     pub session_type: u8,             // 0 = unknown, see appendix
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 71 |     pub time_offset: u8,              // Time in minutes the forecast is for
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 72 |     pub weather: u8, // 0 = clear, 1 = light cloud, 2 = overcast, 3 = light rain, 4 = heavy rain, 5 = storm
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 73 |     pub track_temperature: i8, // Track temp in Celsius
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 74 |     pub track_temperature_change: i8, // 0 = up, 1 = down, 2 = no change
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 75 |     pub air_temperature: i8, // Air temp in Celsius
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 76 |     pub air_temperature_change: i8, // 0 = up, 1 = down, 2 = no change
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     pub rain_percentage: u8, // Rain percentage (0-100)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WeatherForecastSample` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/f1_telemetry_client/packets/session_data.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct PacketSessionData {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 109 |     pub weather: u8, // 0 = clear, 1 = light cloud, 2 = overcast, 3 = light rain, 4 = heavy rain, 5 = storm
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 110 |     pub track_temperature: i8, // Track temp in Celsius
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 |     pub air_temperature: i8, // Air temp in Celsius
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |     pub total_laps: u8, // Total number of laps in race
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 113 |     pub track_length: u16, // Track length in metres
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 114 |     pub session_type: u8, // 0 = unknown, see appendix
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 115 |     pub track_id: i8, // -1 for unknown, see appendix
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 116 |     pub formula: u8, // 0 = F1 Modern, 1 = F1 Classic, 2 = F2, 3 = F1 Generic, 4 = Beta, 6 = Esports
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 117 |     pub session_time_left: u16, // Time left in session in seconds
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 118 |     pub session_duration: u16, // Session duration in seconds
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 119 |     pub pit_speed_limit: u8, // Pit speed limit in km/h
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     pub game_paused: u8, // 0 = not paused, 1 = paused
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 121 |     pub is_spectating: u8, // 0 = not spectating, 1 = spectating
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 122 |     pub spectator_car_index: u8, // Index of car being spectated
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 123 |     pub sli_pro_native_support: u8, // 0 = inactive, 1 = active
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 124 |     pub num_marshal_zones: u8, // Number of marshal zones
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 125 |     pub marshal_zones: [MarshalZone; 21], // List of marshal zones
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 126 |     pub safety_car_status: u8, // 0 = no safety car, 1 = full, 2 = virtual, 3 = formation lap
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 127 |     pub network_game: u8, // 0 = offline, 1 = online
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 128 |     pub num_weather_forecast_samples: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 129 |     pub weather_forecast_samples: [WeatherForecastSample; 64],
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 130 |     pub forecast_accuracy: u8,             // 0 = Perfect, 1 = Approximate
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     pub ai_difficulty: u8,                 // AI Difficulty (0-110)
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 132 |     pub season_link_identifier: u32,       // Season identifier
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 |     pub weekend_link_identifier: u32,      // Weekend identifier
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 134 |     pub session_link_identifier: u32,      // Session identifier
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 |     pub pit_stop_window_ideal_lap: u8,     // Ideal pit stop lap
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 136 |     pub pit_stop_window_latest_lap: u8,    // Latest pit stop lap
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 |     pub pit_stop_rejoin_position: u8,      // Predicted rejoin position
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 138 |     pub steering_assist: bool,             // 0 = off, 1 = on
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 139 |     pub braking_assist: u8,                // 0 = off, 1 = low, 2 = medium, 3 = high
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 140 |     pub gearbox_assist: u8,                // 1 = manual, 2 = manual & suggested gear, 3 = auto
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 141 |     pub pit_assist: u8,                    // 0 = off, 1 = on
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 142 |     pub pit_release_assist: u8,            // 0 = off, 1 = on
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 143 |     pub ers_assist: u8,                    // 0 = off, 1 = on
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 144 |     pub drs_assist: u8,                    // 0 = off, 1 = on
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 145 |     pub dynamic_racing_line: u8,           // 0 = off, 1 = corners only, 2 = full
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 146 |     pub dynamic_racing_line_type: u8,      // 0 = 2D, 1 = 3D
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 |     pub game_mode: u8,                     // Game mode id
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 148 |     pub ruleset: u8,                       // Ruleset
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 149 |     pub time_of_day: u32,                  // Minutes since midnight
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 150 |     pub session_length: u8, // 0 = None, 2 = Very Short, 3 = Short, 4 = Medium, 5 = Medium Long, 6 = Long, 7 = Full
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 151 |     pub speed_units_lead_player: u8, // 0 = MPH, 1 = KPH
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 152 |     pub temperature_units_lead_player: u8, // 0 = Celsius, 1 = Fahrenheit
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 153 |     pub speed_units_secondary_player: u8, // 0 = MPH, 1 = KPH
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 154 |     pub temperature_units_secondary_player: u8, // 0 = Celsius, 1 = Fahrenheit
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 155 |     pub num_safety_car_periods: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 156 |     pub num_virtual_safety_car_periods: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 157 |     pub num_red_flag_periods: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 158 |     pub equal_car_performance: u8,             // 0 = Off, 1 = On
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 159 |     pub recovery_mode: u8,                     // 0 = None, 1 = Flashbacks, 2 = Auto-recovery
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 160 |     pub flashback_limit: u8,                   // 0 = Low, 1 = Medium, 2 = High, 3 = Unlimited
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 161 |     pub surface_type: u8,                      // 0 = Simplified, 1 = Realistic
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 162 |     pub low_fuel_mode: u8,                     // 0 = Easy, 1 = Hard
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 163 |     pub race_starts: u8,                       // 0 = Manual, 1 = Assisted
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 164 |     pub tyre_temperature: u8,                  // 0 = Surface only, 1 = Surface & Carcass
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 165 |     pub pit_lane_tyre_sim: u8,                 // 0 = On, 1 = Off
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 166 |     pub car_damage: u8,                        // 0 = Off, 1 = Reduced, 2 = Standard, 3 = Simulation
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 167 |     pub car_damage_rate: u8,                   // 0 = Reduced, 1 = Standard, 2 = Simulation
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 168 |     pub collisions: u8,                        // 0 = Off, 1 = Player-to-Player Off, 2 = On
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 169 |     pub collisions_off_for_first_lap_only: u8, // 0 = Disabled, 1 = Enabled
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 170 |     pub mp_unsafe_pit_release: u8,             // 0 = On, 1 = Off (Multiplayer)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 171 |     pub mp_off_for_griefing: u8,               // 0 = Disabled, 1 = Enabled (Multiplayer)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 172 |     pub corner_cutting_stringency: u8,         // 0 = Regular, 1 = Strict
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 173 |     pub parc_ferme_rules: u8,                  // 0 = Off, 1 = On
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 174 |     pub pit_stop_experience: u8,               // 0 = Automatic, 1 = Broadcast, 2 = Immersive
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 175 |     pub safety_car: u8,                        // 0 = Off, 1 = Reduced, 2 = Standard, 3 = Increased
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 176 |     pub safety_car_experience: u8,             // 0 = Broadcast, 1 = Immersive
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 |     pub formation_lap: u8,                     // 0 = Off, 1 = On
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 178 |     pub formation_lap_experience: u8,          // 0 = Broadcast, 1 = Immersive
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 179 |     pub red_flags: u8,                         // 0 = Off, 1 = Reduced, 2 = Standard, 3 = Increased
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 180 |     pub affects_licence_level_solo: u8,        // 0 = Off, 1 = On
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 181 |     pub affects_licence_level_mp: u8,          // 0 = Off, 1 = On
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 |     pub num_sessions_in_weekend: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 |     pub weekend_structure: [u8; 12],     // List of session types
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 |     pub sector2_lap_distance_start: f32, // Distance in m for sector 2 start
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 185 |     pub sector3_lap_distance_start: f32, // Distance in m for sector 3 start
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PacketSessionData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/time_trial.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct TimeTrialDataSet {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 5  |     pub car_idx: u8,               // Index of the car this data relates to
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 6  |     pub team_id: u8,               // Team id - see appendix
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 7  |     pub lap_time_in_ms: u32,       // Lap time in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub sector1_time_in_ms: u32,   // Sector 1 time in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub sector2_time_in_ms: u32,   // Sector 2 time in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub sector3_time_in_ms: u32,   // Sector 3 time in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub traction_control: u8,      // 0 = off, 1 = medium, 2 = full
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub gearbox_assist: u8,        // 1 = manual, 2 = manual & suggested gear, 3 = auto
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub anti_lock_brakes: u8,      // 0 (off) - 1 (on)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub equal_car_performance: u8, // 0 = Realistic, 1 = Equal
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub custom_setup: u8,          // 0 = No, 1 = Yes
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub valid: u8,                 // 0 = invalid, 1 = valid
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimeTrialDataSet` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `player_session_best_data_set`, `personal_best_data_set`, and `rival_data_set` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/time_trial.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PacketTimeTrialData {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 21 |     pub player_session_best_data_set: TimeTrialDataSet, // Player session best data set
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub personal_best_data_set: TimeTrialDataSet,       // Personal best data set
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub rival_data_set: TimeTrialDataSet,               // Rival data set
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketTimeTrialData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/tyre_sets.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub struct LapHistoryData {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 5  |     pub lap_time_in_ms: u32,           // Lap time in milliseconds
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 6  |     pub sector1_time_ms_part: u16,     // Sector 1 milliseconds part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 7  |     pub sector1_time_minutes_part: u8, // Sector 1 whole minute part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 8  |     pub sector2_time_ms_part: u16,     // Sector 2 time milliseconds part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  |     pub sector2_time_minutes_part: u8, // Sector 2 whole minute part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub sector3_time_ms_part: u16,     // Sector 3 time milliseconds part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     pub sector3_time_minutes_part: u8, // Sector 3 whole minute part
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     pub lap_valid_bit_flags: u8,       // 0x01 bit set-lap valid, 0x02 bit set-sector 1 valid
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LapHistoryData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `end_lap`, `tyre_actual_compound`, and `tyre_visual_compound` are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/tyre_sets.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct TyreStintHistoryData {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 18 |     pub end_lap: u8,              // Lap the tyre usage ends on (255 of current tyre)
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 19 |     pub tyre_actual_compound: u8, // Actual tyres used by this driver
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub tyre_visual_compound: u8, // Visual tyres used by this driver
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TyreStintHistoryData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/f1_telemetry_client/packets/tyre_sets.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct PacketSessionHistoryData {
[INFO] [stdout]    |            ------------------------ fields in this struct
[INFO] [stdout] 25 |     pub car_idx: u8,               // Index of the car this lap data relates to
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 26 |     pub num_laps: u8,              // Num laps in the data (including current partial lap)
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 27 |     pub num_tyre_stints: u8,       // Number of tyre stints in the data
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub best_lap_time_lap_num: u8, // Lap the best lap time was achieved on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub best_sector1_lap_num: u8,  // Lap the best Sector 1 time was achieved on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub best_sector2_lap_num: u8,  // Lap the best Sector 2 time was achieved on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     pub best_sector3_lap_num: u8,  // Lap the best Sector 3 time was achieved on
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     pub lap_history_data: Vec<LapHistoryData>, // 100 laps of data max
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub tyre_stints_history_data: Vec<TyreStintHistoryData>, // 8 tyre stints max
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PacketSessionHistoryData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 31s
[INFO] running `Command { std: "docker" "inspect" "8298b2f0546e8b5aaa121abadd8e9db2e99a74e5e3530041d3dd31df82f7de10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8298b2f0546e8b5aaa121abadd8e9db2e99a74e5e3530041d3dd31df82f7de10", kill_on_drop: false }`
[INFO] [stdout] 8298b2f0546e8b5aaa121abadd8e9db2e99a74e5e3530041d3dd31df82f7de10
