[INFO] cloning repository https://github.com/danielgorgonha/cs2-demo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/danielgorgonha/cs2-demo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanielgorgonha%2Fcs2-demo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanielgorgonha%2Fcs2-demo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2071c50c465786c249fc6e4922e8b122485245c3
[INFO] checking danielgorgonha/cs2-demo against try#78c81ee3917a99dcff6e2e6822800f0492c415c3 for pr-148967
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdanielgorgonha%2Fcs2-demo" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  68% (725/1062)
Updating files:  69% (733/1062)
Updating files:  70% (744/1062)
Updating files:  71% (755/1062)
Updating files:  72% (765/1062)
Updating files:  73% (776/1062)
Updating files:  74% (786/1062)
Updating files:  75% (797/1062)
Updating files:  76% (808/1062)
Updating files:  77% (818/1062)
Updating files:  78% (829/1062)
Updating files:  79% (839/1062)
Updating files:  80% (850/1062)
Updating files:  81% (861/1062)
Updating files:  82% (871/1062)
Updating files:  83% (882/1062)
Updating files:  84% (893/1062)
Updating files:  85% (903/1062)
Updating files:  86% (914/1062)
Updating files:  87% (924/1062)
Updating files:  88% (935/1062)
Updating files:  89% (946/1062)
Updating files:  90% (956/1062)
Updating files:  91% (967/1062)
Updating files:  92% (978/1062)
Updating files:  93% (988/1062)
Updating files:  94% (999/1062)
Updating files:  95% (1009/1062)
Updating files:  96% (1020/1062)
Updating files:  97% (1031/1062)
Updating files:  98% (1041/1062)
Updating files:  99% (1052/1062)
Updating files: 100% (1062/1062)
Updating files: 100% (1062/1062), done.
[INFO] started tweaking git repo https://github.com/danielgorgonha/cs2-demo
[INFO] finished tweaking git repo https://github.com/danielgorgonha/cs2-demo
[INFO] tweaked toml for git repo https://github.com/danielgorgonha/cs2-demo written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/danielgorgonha/cs2-demo on toolchain 78c81ee3917a99dcff6e2e6822800f0492c415c3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/danielgorgonha/cs2-demo 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" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a3a0cc58aed3d06d8208d12118bc25b32103855fc1dd98e44c877330d593e6a0
[INFO] running `Command { std: "docker" "start" "-a" "a3a0cc58aed3d06d8208d12118bc25b32103855fc1dd98e44c877330d593e6a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a3a0cc58aed3d06d8208d12118bc25b32103855fc1dd98e44c877330d593e6a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a3a0cc58aed3d06d8208d12118bc25b32103855fc1dd98e44c877330d593e6a0", kill_on_drop: false }`
[INFO] [stdout] a3a0cc58aed3d06d8208d12118bc25b32103855fc1dd98e44c877330d593e6a0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 627ad745ac367a1997748fb5ccb1ba5dd5a07e38b20fff7ed344bf31abe09f60
[INFO] running `Command { std: "docker" "start" "-a" "627ad745ac367a1997748fb5ccb1ba5dd5a07e38b20fff7ed344bf31abe09f60", kill_on_drop: false }`
[INFO] [stderr]    Compiling protobuf v3.7.2
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]     Checking memchr v2.7.5
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking protobuf-support v3.7.2
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking testdemo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warn`
[INFO] [stdout]  --> src/main.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, warn, error};
[INFO] [stdout]   |               ^^^^  ^^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warn`
[INFO] [stdout]  --> src/main.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, warn, error};
[INFO] [stdout]   |               ^^^^  ^^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:484:14
[INFO] [stdout]     |
[INFO] [stdout] 484 |         for (i, round) in self.real_rounds.iter().take(5).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:509:14
[INFO] [stdout]     |
[INFO] [stdout] 509 |         for (i, &pos) in self.protobuf_positions.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `round_duration`
[INFO] [stdout]    --> src/main.rs:774:17
[INFO] [stdout]     |
[INFO] [stdout] 774 |             let round_duration = (end_pos - start_pos) as f32 / 1000.0; // Estimativa
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_round_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:484:14
[INFO] [stdout]     |
[INFO] [stdout] 484 |         for (i, round) in self.real_rounds.iter().take(5).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:509:14
[INFO] [stdout]     |
[INFO] [stdout] 509 |         for (i, &pos) in self.protobuf_positions.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `filestamp`, `network_protocol`, `client_name`, `game_directory`, and `playback_ticks` are never read
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct DemoHeader {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 17 |     filestamp: String,           // "PBDEMS2" para CS2
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 18 |     network_protocol: u32,       // Versão do protocolo
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     server_name: String,         // Nome do servidor
[INFO] [stdout] 20 |     client_name: String,         // Nome do cliente
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 21 |     map_name: String,            // Nome do mapa
[INFO] [stdout] 22 |     game_directory: String,      // Diretório do jogo
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     playback_time: f32,          // Duração em segundos
[INFO] [stdout] 24 |     playback_ticks: u32,         // Duração em ticks
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DemoHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `players`, `bomb_planted`, and `bomb_site` are never read
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct GameState {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 31 |     players: HashMap<u32, Player>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     bomb_planted: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 36 |     bomb_site: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameState` 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/main.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Player {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 42 |     user_id: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 43 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 44 |     steam_id: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     team: Team,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 46 |     health: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 47 |     armor: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 48 |     position: Option<Vector3>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 49 |     is_alive: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 50 |     score: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 51 |     kills: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 52 |     deaths: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 53 |     assists: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Player` 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: variants `Spectators` and `Unknown` are never constructed
[INFO] [stdout]   --> src/main.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | enum Team {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 61 |     Spectators,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 62 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Team` 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 `x`, `y`, and `z` are never read
[INFO] [stdout]   --> src/main.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct Vector3 {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 68 |     x: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 69 |     y: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 70 |     z: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Vector3` 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 `frag_limit` is never read
[INFO] [stdout]   --> src/main.rs:76:35
[INFO] [stdout]    |
[INFO] [stdout] 76 |     RoundStart { time_limit: u32, frag_limit: u32, objective: String },
[INFO] [stdout]    |     ----------                    ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BombDefused`, `BombExploded`, `PlayerSpawn`, `PlayerDeath`, `WeaponPickup`, and `Generic` are never constructed
[INFO] [stdout]   --> src/main.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | enum GameEvent {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 80 |     BombDefused { defuser: u32 },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 81 |     BombExploded { site: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 82 |     PlayerSpawn { player_id: u32, team: Team },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 83 |     PlayerDeath { player_id: u32, team: Team },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 84 |     WeaponPickup { player_id: u32, weapon: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 85 |     Generic { name: String, data: HashMap<String, String> },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameEvent` 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 variants are never constructed
[INFO] [stdout]    --> src/main.rs:91:5
[INFO] [stdout]     |
[INFO] [stdout]  90 | enum RoundEndReason {
[INFO] [stdout]     |      -------------- variants in this enum
[INFO] [stdout]  91 |     StillInProgress = 0,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  92 |     TargetBombed = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]  93 |     VIPEscaped = 2,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]  94 |     VIPKilled = 3,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  95 |     TerroristsEscaped = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  96 |     CTStoppedEscape = 5,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  97 |     TerroristsStopped = 6,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     BombDefused = 7,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     Draw = 10,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 102 |     HostagesRescued = 11,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     TargetSaved = 12,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 104 |     HostagesNotRescued = 13,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 105 |     TerroristsNotEscaped = 14,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 106 |     VIPNotEscaped = 15,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 107 |     GameStart = 16,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 108 |     TerroristsSurrender = 17,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     CTSurrender = 18,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 110 |     TerroristsPlanted = 19,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 |     CTsReachedHostage = 20,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RoundEndReason` 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 `current_round` and `match_summary` are never read
[INFO] [stdout]    --> src/main.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 200 | struct DemoParser {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 209 |     current_round: Option<RealRound>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 210 |     match_summary: Option<MatchSummary>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `round_duration`
[INFO] [stdout]    --> src/main.rs:774:17
[INFO] [stdout]     |
[INFO] [stdout] 774 |             let round_duration = (end_pos - start_pos) as f32 / 1000.0; // Estimativa
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_round_duration`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `filestamp`, `network_protocol`, `client_name`, `game_directory`, and `playback_ticks` are never read
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct DemoHeader {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 17 |     filestamp: String,           // "PBDEMS2" para CS2
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 18 |     network_protocol: u32,       // Versão do protocolo
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     server_name: String,         // Nome do servidor
[INFO] [stdout] 20 |     client_name: String,         // Nome do cliente
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 21 |     map_name: String,            // Nome do mapa
[INFO] [stdout] 22 |     game_directory: String,      // Diretório do jogo
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     playback_time: f32,          // Duração em segundos
[INFO] [stdout] 24 |     playback_ticks: u32,         // Duração em ticks
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DemoHeader` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `players`, `bomb_planted`, and `bomb_site` are never read
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct GameState {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 31 |     players: HashMap<u32, Player>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     bomb_planted: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 36 |     bomb_site: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameState` 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/main.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct Player {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 42 |     user_id: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 43 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 44 |     steam_id: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     team: Team,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 46 |     health: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 47 |     armor: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 48 |     position: Option<Vector3>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 49 |     is_alive: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 50 |     score: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 51 |     kills: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 52 |     deaths: u32,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 53 |     assists: u32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Player` 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: variants `Spectators` and `Unknown` are never constructed
[INFO] [stdout]   --> src/main.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | enum Team {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 61 |     Spectators,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 62 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Team` 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 `x`, `y`, and `z` are never read
[INFO] [stdout]   --> src/main.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct Vector3 {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 68 |     x: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 69 |     y: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout] 70 |     z: f32,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Vector3` 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 `frag_limit` is never read
[INFO] [stdout]   --> src/main.rs:76:35
[INFO] [stdout]    |
[INFO] [stdout] 76 |     RoundStart { time_limit: u32, frag_limit: u32, objective: String },
[INFO] [stdout]    |     ----------                    ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BombDefused`, `BombExploded`, `PlayerSpawn`, `PlayerDeath`, `WeaponPickup`, and `Generic` are never constructed
[INFO] [stdout]   --> src/main.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | enum GameEvent {
[INFO] [stdout]    |      --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 80 |     BombDefused { defuser: u32 },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 81 |     BombExploded { site: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 82 |     PlayerSpawn { player_id: u32, team: Team },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 83 |     PlayerDeath { player_id: u32, team: Team },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 84 |     WeaponPickup { player_id: u32, weapon: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 85 |     Generic { name: String, data: HashMap<String, String> },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameEvent` 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 variants are never constructed
[INFO] [stdout]    --> src/main.rs:91:5
[INFO] [stdout]     |
[INFO] [stdout]  90 | enum RoundEndReason {
[INFO] [stdout]     |      -------------- variants in this enum
[INFO] [stdout]  91 |     StillInProgress = 0,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  92 |     TargetBombed = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]  93 |     VIPEscaped = 2,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]  94 |     VIPKilled = 3,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]  95 |     TerroristsEscaped = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  96 |     CTStoppedEscape = 5,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  97 |     TerroristsStopped = 6,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  98 |     BombDefused = 7,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     Draw = 10,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 102 |     HostagesRescued = 11,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |     TargetSaved = 12,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 104 |     HostagesNotRescued = 13,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 105 |     TerroristsNotEscaped = 14,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 106 |     VIPNotEscaped = 15,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 107 |     GameStart = 16,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 108 |     TerroristsSurrender = 17,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     CTSurrender = 18,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 110 |     TerroristsPlanted = 19,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 |     CTsReachedHostage = 20,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RoundEndReason` 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 `current_round` and `match_summary` are never read
[INFO] [stdout]    --> src/main.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 200 | struct DemoParser {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 209 |     current_round: Option<RealRound>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 210 |     match_summary: Option<MatchSummary>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.65s
[INFO] running `Command { std: "docker" "inspect" "627ad745ac367a1997748fb5ccb1ba5dd5a07e38b20fff7ed344bf31abe09f60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "627ad745ac367a1997748fb5ccb1ba5dd5a07e38b20fff7ed344bf31abe09f60", kill_on_drop: false }`
[INFO] [stdout] 627ad745ac367a1997748fb5ccb1ba5dd5a07e38b20fff7ed344bf31abe09f60
