[INFO] cloning repository https://github.com/nhingy/f12019_data_logger [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nhingy/f12019_data_logger" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnhingy%2Ff12019_data_logger", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnhingy%2Ff12019_data_logger'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3dd546d3dd6417285c7546b4bd09a39d114ba90f [INFO] testing nhingy/f12019_data_logger against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnhingy%2Ff12019_data_logger" "/workspace/builds/worker-40/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-40/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nhingy/f12019_data_logger on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nhingy/f12019_data_logger [INFO] finished tweaking git repo https://github.com/nhingy/f12019_data_logger [INFO] tweaked toml for git repo https://github.com/nhingy/f12019_data_logger written to /workspace/builds/worker-40/source/Cargo.toml [INFO] crate git repo https://github.com/nhingy/f12019_data_logger already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded byte v0.2.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-40/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-40/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7c28537e0d0870c155db8f987d2212705393a57e5e358122e0dd7ce87b907f63 [INFO] running `Command { std: "docker" "start" "-a" "7c28537e0d0870c155db8f987d2212705393a57e5e358122e0dd7ce87b907f63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7c28537e0d0870c155db8f987d2212705393a57e5e358122e0dd7ce87b907f63", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7c28537e0d0870c155db8f987d2212705393a57e5e358122e0dd7ce87b907f63", kill_on_drop: false }` [INFO] [stdout] 7c28537e0d0870c155db8f987d2212705393a57e5e358122e0dd7ce87b907f63 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-40/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-40/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 00d8a98036fcc38e6d9aca085199d92767fd123711b1a0579651726449c12fcc [INFO] running `Command { std: "docker" "start" "-a" "00d8a98036fcc38e6d9aca085199d92767fd123711b1a0579651726449c12fcc", kill_on_drop: false }` [INFO] [stderr] Compiling byte v0.2.4 [INFO] [stderr] Compiling f12019_data_logger v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/f1_2019_net.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Motion` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ^^^^^^ help: to match on the variant, qualify the path: `PacketType::Motion` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bindings_with_variant_name)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Session` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | Session => return &"session packet", [INFO] [stdout] | ^^^^^^^ help: to match on the variant, qualify the path: `PacketType::Session` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Lap` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | Lap => return &"lap packet", [INFO] [stdout] | ^^^ help: to match on the variant, qualify the path: `PacketType::Lap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Event` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | Event => return &"event packet", [INFO] [stdout] | ^^^^^ help: to match on the variant, qualify the path: `PacketType::Event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Participant` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | Participant => return &"participant packet", [INFO] [stdout] | ^^^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::Participant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Setup` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | Setup => return &"setup packet", [INFO] [stdout] | ^^^^^ help: to match on the variant, qualify the path: `PacketType::Setup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Telemetry` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | Telemetry => return &"telemetry packet", [INFO] [stdout] | ^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::Telemetry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `CarStatus` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | CarStatus => return &"car status packet", [INFO] [stdout] | ^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::CarStatus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `InvalidPacket` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | InvalidPacket => return &"invalid packet", [INFO] [stdout] | ^^^^^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::InvalidPacket` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] 25 | Session => return &"session packet", [INFO] [stdout] | ^^^^^^^ unreachable pattern [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] 25 | Session => return &"session packet", [INFO] [stdout] 26 | Lap => return &"lap packet", [INFO] [stdout] | ^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 27 | Event => return &"event packet", [INFO] [stdout] | ^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 28 | Participant => return &"participant packet", [INFO] [stdout] | ^^^^^^^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 29 | Setup => return &"setup packet", [INFO] [stdout] | ^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 30 | Telemetry => return &"telemetry packet", [INFO] [stdout] | ^^^^^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 31 | CarStatus => return &"car status packet", [INFO] [stdout] | ^^^^^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 32 | InvalidPacket => return &"invalid packet", [INFO] [stdout] | ^^^^^^^^^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:403:3 [INFO] [stdout] | [INFO] [stdout] 403 | _ => return None, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/main.rs:100:10 [INFO] [stdout] | [INFO] [stdout] 100 | let mut header: PacketHeader = Default::default(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `car_data` [INFO] [stdout] --> src/main.rs:225:6 [INFO] [stdout] | [INFO] [stdout] 225 | let car_data = CarMotion { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_car_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `car_data` [INFO] [stdout] --> src/main.rs:222:50 [INFO] [stdout] | [INFO] [stdout] 222 | fn parse_car_motion(buf: &[u8; MAX_PACKET_SIZE], car_data: &mut [CarMotion; 20], count: usize) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_car_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Motion` [INFO] [stdout] --> src/f1_2019_net.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_Motion` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Session` [INFO] [stdout] --> src/f1_2019_net.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | Session => return &"session packet", [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Session` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Lap` [INFO] [stdout] --> src/f1_2019_net.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | Lap => return &"lap packet", [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_Lap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Event` [INFO] [stdout] --> src/f1_2019_net.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | Event => return &"event packet", [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Participant` [INFO] [stdout] --> src/f1_2019_net.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | Participant => return &"participant packet", [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Participant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Setup` [INFO] [stdout] --> src/f1_2019_net.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | Setup => return &"setup packet", [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Setup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Telemetry` [INFO] [stdout] --> src/f1_2019_net.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | Telemetry => return &"telemetry packet", [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Telemetry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CarStatus` [INFO] [stdout] --> src/f1_2019_net.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | CarStatus => return &"car status packet", [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_CarStatus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `InvalidPacket` [INFO] [stdout] --> src/f1_2019_net.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | InvalidPacket => return &"invalid packet", [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_InvalidPacket` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:100:6 [INFO] [stdout] | [INFO] [stdout] 100 | let mut header: PacketHeader = Default::default(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:154:25 [INFO] [stdout] | [INFO] [stdout] 154 | buf.read_with::(&mut PACKET_FORMAT_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(const_item_mutation)]` on by default [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | const PACKET_FORMAT_OFFSET: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:155:27 [INFO] [stdout] | [INFO] [stdout] 155 | buf.read_with::(&mut MAJ_VERSION_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | const MAJ_VERSION_OFFSET: usize = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:156:27 [INFO] [stdout] | [INFO] [stdout] 156 | buf.read_with::(&mut MIN_VERSION_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | const MIN_VERSION_OFFSET: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:157:27 [INFO] [stdout] | [INFO] [stdout] 157 | buf.read_with::(&mut PACKET_VERSION_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | const PACKET_VERSION_OFFSET: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:158:43 [INFO] [stdout] | [INFO] [stdout] 158 | get_packet_type(buf.read_with::(&mut PACKET_TYPE_OFFSET, LE).expect("error reading from buffer!")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | const PACKET_TYPE_OFFSET: usize = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:159:28 [INFO] [stdout] | [INFO] [stdout] 159 | buf.read_with::(&mut SESSION_ID_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | const SESSION_ID_OFFSET: usize = 6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:160:28 [INFO] [stdout] | [INFO] [stdout] 160 | buf.read_with::(&mut SESSION_TIME_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | const SESSION_TIME_OFFSET: usize = 14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:161:28 [INFO] [stdout] | [INFO] [stdout] 161 | buf.read_with::(&mut FRAME_ID_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | const FRAME_ID_OFFSET: usize = 18; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:162:27 [INFO] [stdout] | [INFO] [stdout] 162 | buf.read_with::(&mut PLAYER_CAR_INDEX_OFFESET, LE).expect("error reading from buffer!") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | const PLAYER_CAR_INDEX_OFFESET: usize = 22; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:224:6 [INFO] [stdout] | [INFO] [stdout] 224 | let mut offset = index * CAR_MOTION_SIZE; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:249:6 [INFO] [stdout] | [INFO] [stdout] 249 | let mut index = NUM_WHEELS - count; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:259:6 [INFO] [stdout] | [INFO] [stdout] 259 | let mut index = NUM_WHEELS - count; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | weather: buf.read_with::(&mut HEADER_SIZE, LE).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | const HEADER_SIZE: usize = 23; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:310:6 [INFO] [stdout] | [INFO] [stdout] 310 | let mut index = NUM_MARSHAL_ZONES - count; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:336:6 [INFO] [stdout] | [INFO] [stdout] 336 | let mut index = NUM_CARS - count; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `EVENT_SIZE` [INFO] [stdout] --> src/main.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | const EVENT_SIZE: usize = 43; // Might not be able to use this as event packet changes with event type [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MARSHAL_ZONE_SIZE` [INFO] [stdout] --> src/main.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | const MARSHAL_ZONE_SIZE: usize = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `getName` [INFO] [stdout] --> src/f1_2019_net.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn getName(&self, event_type: PacketType) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `packet_format` [INFO] [stdout] --> src/f1_2019_net.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | packet_format: u16, // 2019 [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `maj_version` [INFO] [stdout] --> src/f1_2019_net.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | maj_version: u8, // Game major version - "X.00" [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `min_version` [INFO] [stdout] --> src/f1_2019_net.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | min_version: u8, // Game minor version - "1.XX" [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `packet_version` [INFO] [stdout] --> src/f1_2019_net.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | packet_version: u8, // Version of this packet type, all start from 1 [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `session_id` [INFO] [stdout] --> src/f1_2019_net.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | session_id: u64, // Unique identifier for the session [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `session_time` [INFO] [stdout] --> src/f1_2019_net.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | session_time: f32, // Session timestamp [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `frame_id` [INFO] [stdout] --> src/f1_2019_net.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | frame_id: u32, // Identifier for the frame the data was retrieved on. JP 2020- working from stated total packet... [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `player_car_index` [INFO] [stdout] --> src/f1_2019_net.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | player_car_index: u8 // Index of player's car in the array [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `init_surfaces` [INFO] [stdout] --> src/f1_2019_net.rs:617:8 [INFO] [stdout] | [INFO] [stdout] 617 | pub fn init_surfaces(map: &mut HashMap) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getName` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn getName(&self, event_type: PacketType) -> &str { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `get_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Motion` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `motion` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Session` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | Session => return &"session packet", [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `session` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Lap` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | Lap => return &"lap packet", [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `lap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Event` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | Event => return &"event packet", [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Participant` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | Participant => return &"participant packet", [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `participant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Setup` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | Setup => return &"setup packet", [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `setup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Telemetry` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | Telemetry => return &"telemetry packet", [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `telemetry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CarStatus` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | CarStatus => return &"car status packet", [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `car_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `InvalidPacket` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | InvalidPacket => return &"invalid packet", [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `invalid_packet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 69 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0170`. [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.85s [INFO] running `Command { std: "docker" "inspect" "00d8a98036fcc38e6d9aca085199d92767fd123711b1a0579651726449c12fcc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "00d8a98036fcc38e6d9aca085199d92767fd123711b1a0579651726449c12fcc", kill_on_drop: false }` [INFO] [stdout] 00d8a98036fcc38e6d9aca085199d92767fd123711b1a0579651726449c12fcc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-40/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-40/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d3b17e6661ac86741a87160471dd24d90b857afd7de9854fdc17524c459fda55 [INFO] running `Command { std: "docker" "start" "-a" "d3b17e6661ac86741a87160471dd24d90b857afd7de9854fdc17524c459fda55", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling f12019_data_logger v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/f1_2019_net.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Motion` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ^^^^^^ help: to match on the variant, qualify the path: `PacketType::Motion` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bindings_with_variant_name)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Session` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | Session => return &"session packet", [INFO] [stdout] | ^^^^^^^ help: to match on the variant, qualify the path: `PacketType::Session` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Lap` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | Lap => return &"lap packet", [INFO] [stdout] | ^^^ help: to match on the variant, qualify the path: `PacketType::Lap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Event` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | Event => return &"event packet", [INFO] [stdout] | ^^^^^ help: to match on the variant, qualify the path: `PacketType::Event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Participant` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | Participant => return &"participant packet", [INFO] [stdout] | ^^^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::Participant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Setup` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | Setup => return &"setup packet", [INFO] [stdout] | ^^^^^ help: to match on the variant, qualify the path: `PacketType::Setup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `Telemetry` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | Telemetry => return &"telemetry packet", [INFO] [stdout] | ^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::Telemetry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `CarStatus` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | CarStatus => return &"car status packet", [INFO] [stdout] | ^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::CarStatus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0170]: pattern binding `InvalidPacket` is named the same as one of the variants of the type `PacketType` [INFO] [stdout] --> src/f1_2019_net.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | InvalidPacket => return &"invalid packet", [INFO] [stdout] | ^^^^^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::InvalidPacket` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] 25 | Session => return &"session packet", [INFO] [stdout] | ^^^^^^^ unreachable pattern [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] 25 | Session => return &"session packet", [INFO] [stdout] 26 | Lap => return &"lap packet", [INFO] [stdout] | ^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 27 | Event => return &"event packet", [INFO] [stdout] | ^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 28 | Participant => return &"participant packet", [INFO] [stdout] | ^^^^^^^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 29 | Setup => return &"setup packet", [INFO] [stdout] | ^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 30 | Telemetry => return &"telemetry packet", [INFO] [stdout] | ^^^^^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 31 | CarStatus => return &"car status packet", [INFO] [stdout] | ^^^^^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/f1_2019_net.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ------ matches any value [INFO] [stdout] ... [INFO] [stdout] 32 | InvalidPacket => return &"invalid packet", [INFO] [stdout] | ^^^^^^^^^^^^^ unreachable pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/main.rs:403:3 [INFO] [stdout] | [INFO] [stdout] 403 | _ => return None, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `header` [INFO] [stdout] --> src/main.rs:100:10 [INFO] [stdout] | [INFO] [stdout] 100 | let mut header: PacketHeader = Default::default(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `car_data` [INFO] [stdout] --> src/main.rs:225:6 [INFO] [stdout] | [INFO] [stdout] 225 | let car_data = CarMotion { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_car_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `car_data` [INFO] [stdout] --> src/main.rs:222:50 [INFO] [stdout] | [INFO] [stdout] 222 | fn parse_car_motion(buf: &[u8; MAX_PACKET_SIZE], car_data: &mut [CarMotion; 20], count: usize) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_car_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Motion` [INFO] [stdout] --> src/f1_2019_net.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_Motion` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Session` [INFO] [stdout] --> src/f1_2019_net.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | Session => return &"session packet", [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Session` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Lap` [INFO] [stdout] --> src/f1_2019_net.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | Lap => return &"lap packet", [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_Lap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Event` [INFO] [stdout] --> src/f1_2019_net.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | Event => return &"event packet", [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Participant` [INFO] [stdout] --> src/f1_2019_net.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | Participant => return &"participant packet", [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Participant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Setup` [INFO] [stdout] --> src/f1_2019_net.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | Setup => return &"setup packet", [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Setup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Telemetry` [INFO] [stdout] --> src/f1_2019_net.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | Telemetry => return &"telemetry packet", [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Telemetry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `CarStatus` [INFO] [stdout] --> src/f1_2019_net.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | CarStatus => return &"car status packet", [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_CarStatus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `InvalidPacket` [INFO] [stdout] --> src/f1_2019_net.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | InvalidPacket => return &"invalid packet", [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_InvalidPacket` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:100:6 [INFO] [stdout] | [INFO] [stdout] 100 | let mut header: PacketHeader = Default::default(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:154:25 [INFO] [stdout] | [INFO] [stdout] 154 | buf.read_with::(&mut PACKET_FORMAT_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(const_item_mutation)]` on by default [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:38:1 [INFO] [stdout] | [INFO] [stdout] 38 | const PACKET_FORMAT_OFFSET: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:155:27 [INFO] [stdout] | [INFO] [stdout] 155 | buf.read_with::(&mut MAJ_VERSION_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | const MAJ_VERSION_OFFSET: usize = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:156:27 [INFO] [stdout] | [INFO] [stdout] 156 | buf.read_with::(&mut MIN_VERSION_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | const MIN_VERSION_OFFSET: usize = 3; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:157:27 [INFO] [stdout] | [INFO] [stdout] 157 | buf.read_with::(&mut PACKET_VERSION_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | const PACKET_VERSION_OFFSET: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:158:43 [INFO] [stdout] | [INFO] [stdout] 158 | get_packet_type(buf.read_with::(&mut PACKET_TYPE_OFFSET, LE).expect("error reading from buffer!")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | const PACKET_TYPE_OFFSET: usize = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:159:28 [INFO] [stdout] | [INFO] [stdout] 159 | buf.read_with::(&mut SESSION_ID_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | const SESSION_ID_OFFSET: usize = 6; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:160:28 [INFO] [stdout] | [INFO] [stdout] 160 | buf.read_with::(&mut SESSION_TIME_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | const SESSION_TIME_OFFSET: usize = 14; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:161:28 [INFO] [stdout] | [INFO] [stdout] 161 | buf.read_with::(&mut FRAME_ID_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | const FRAME_ID_OFFSET: usize = 18; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:162:27 [INFO] [stdout] | [INFO] [stdout] 162 | buf.read_with::(&mut PLAYER_CAR_INDEX_OFFESET, LE).expect("error reading from buffer!") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | const PLAYER_CAR_INDEX_OFFESET: usize = 22; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:224:6 [INFO] [stdout] | [INFO] [stdout] 224 | let mut offset = index * CAR_MOTION_SIZE; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:249:6 [INFO] [stdout] | [INFO] [stdout] 249 | let mut index = NUM_WHEELS - count; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:259:6 [INFO] [stdout] | [INFO] [stdout] 259 | let mut index = NUM_WHEELS - count; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taking a mutable reference to a `const` item [INFO] [stdout] --> src/main.rs:287:33 [INFO] [stdout] | [INFO] [stdout] 287 | weather: buf.read_with::(&mut HEADER_SIZE, LE).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: each usage of a `const` item creates a new temporary [INFO] [stdout] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stdout] note: `const` item defined here [INFO] [stdout] --> src/main.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | const HEADER_SIZE: usize = 23; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:310:6 [INFO] [stdout] | [INFO] [stdout] 310 | let mut index = NUM_MARSHAL_ZONES - count; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:336:6 [INFO] [stdout] | [INFO] [stdout] 336 | let mut index = NUM_CARS - count; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `EVENT_SIZE` [INFO] [stdout] --> src/main.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | const EVENT_SIZE: usize = 43; // Might not be able to use this as event packet changes with event type [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MARSHAL_ZONE_SIZE` [INFO] [stdout] --> src/main.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | const MARSHAL_ZONE_SIZE: usize = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `getName` [INFO] [stdout] --> src/f1_2019_net.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn getName(&self, event_type: PacketType) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `packet_format` [INFO] [stdout] --> src/f1_2019_net.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | packet_format: u16, // 2019 [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `maj_version` [INFO] [stdout] --> src/f1_2019_net.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | maj_version: u8, // Game major version - "X.00" [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `min_version` [INFO] [stdout] --> src/f1_2019_net.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | min_version: u8, // Game minor version - "1.XX" [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `packet_version` [INFO] [stdout] --> src/f1_2019_net.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | packet_version: u8, // Version of this packet type, all start from 1 [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `session_id` [INFO] [stdout] --> src/f1_2019_net.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | session_id: u64, // Unique identifier for the session [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `session_time` [INFO] [stdout] --> src/f1_2019_net.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | session_time: f32, // Session timestamp [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `frame_id` [INFO] [stdout] --> src/f1_2019_net.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | frame_id: u32, // Identifier for the frame the data was retrieved on. JP 2020- working from stated total packet... [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `player_car_index` [INFO] [stdout] --> src/f1_2019_net.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | player_car_index: u8 // Index of player's car in the array [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] --> src/f1_2019_net.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | #[derive(Debug, Default)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `init_surfaces` [INFO] [stdout] --> src/f1_2019_net.rs:617:8 [INFO] [stdout] | [INFO] [stdout] 617 | pub fn init_surfaces(map: &mut HashMap) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `getName` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn getName(&self, event_type: PacketType) -> &str { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `get_name` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Motion` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | Motion => return &"motion packet", [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `motion` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Session` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:25:13 [INFO] [stdout] | [INFO] [stdout] 25 | Session => return &"session packet", [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `session` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Lap` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | Lap => return &"lap packet", [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `lap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Event` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | Event => return &"event packet", [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Participant` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | Participant => return &"participant packet", [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `participant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Setup` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | Setup => return &"setup packet", [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `setup` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `Telemetry` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | Telemetry => return &"telemetry packet", [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `telemetry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `CarStatus` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | CarStatus => return &"car status packet", [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `car_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `InvalidPacket` should have a snake case name [INFO] [stdout] --> src/f1_2019_net.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | InvalidPacket => return &"invalid packet", [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `invalid_packet` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 69 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0170`. [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.86s [INFO] running `Command { std: "docker" "inspect" "d3b17e6661ac86741a87160471dd24d90b857afd7de9854fdc17524c459fda55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3b17e6661ac86741a87160471dd24d90b857afd7de9854fdc17524c459fda55", kill_on_drop: false }` [INFO] [stdout] d3b17e6661ac86741a87160471dd24d90b857afd7de9854fdc17524c459fda55 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-40/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-40/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e0ae6cf9b1a027703714bfbe2e788dea3819e05fce7ce172dbd0e2baf69f7190 [INFO] running `Command { std: "docker" "start" "-a" "e0ae6cf9b1a027703714bfbe2e788dea3819e05fce7ce172dbd0e2baf69f7190", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: unused import: `std::fmt` [INFO] [stderr] --> src/f1_2019_net.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fmt; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Motion` is named the same as one of the variants of the type `PacketType` [INFO] [stderr] --> src/f1_2019_net.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | Motion => return &"motion packet", [INFO] [stderr] | ^^^^^^ help: to match on the variant, qualify the path: `PacketType::Motion` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bindings_with_variant_name)]` on by default [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Session` is named the same as one of the variants of the type `PacketType` [INFO] [stderr] --> src/f1_2019_net.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | Session => return &"session packet", [INFO] [stderr] | ^^^^^^^ help: to match on the variant, qualify the path: `PacketType::Session` [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Lap` is named the same as one of the variants of the type `PacketType` [INFO] [stderr] --> src/f1_2019_net.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | Lap => return &"lap packet", [INFO] [stderr] | ^^^ help: to match on the variant, qualify the path: `PacketType::Lap` [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Event` is named the same as one of the variants of the type `PacketType` [INFO] [stderr] --> src/f1_2019_net.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | Event => return &"event packet", [INFO] [stderr] | ^^^^^ help: to match on the variant, qualify the path: `PacketType::Event` [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Participant` is named the same as one of the variants of the type `PacketType` [INFO] [stderr] --> src/f1_2019_net.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | Participant => return &"participant packet", [INFO] [stderr] | ^^^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::Participant` [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Setup` is named the same as one of the variants of the type `PacketType` [INFO] [stderr] --> src/f1_2019_net.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | Setup => return &"setup packet", [INFO] [stderr] | ^^^^^ help: to match on the variant, qualify the path: `PacketType::Setup` [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `Telemetry` is named the same as one of the variants of the type `PacketType` [INFO] [stderr] --> src/f1_2019_net.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | Telemetry => return &"telemetry packet", [INFO] [stderr] | ^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::Telemetry` [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `CarStatus` is named the same as one of the variants of the type `PacketType` [INFO] [stderr] --> src/f1_2019_net.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | CarStatus => return &"car status packet", [INFO] [stderr] | ^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::CarStatus` [INFO] [stderr] [INFO] [stderr] warning[E0170]: pattern binding `InvalidPacket` is named the same as one of the variants of the type `PacketType` [INFO] [stderr] --> src/f1_2019_net.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | InvalidPacket => return &"invalid packet", [INFO] [stderr] | ^^^^^^^^^^^^^ help: to match on the variant, qualify the path: `PacketType::InvalidPacket` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/f1_2019_net.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 24 | Motion => return &"motion packet", [INFO] [stderr] | ------ matches any value [INFO] [stderr] 25 | Session => return &"session packet", [INFO] [stderr] | ^^^^^^^ unreachable pattern [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/f1_2019_net.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 24 | Motion => return &"motion packet", [INFO] [stderr] | ------ matches any value [INFO] [stderr] 25 | Session => return &"session packet", [INFO] [stderr] 26 | Lap => return &"lap packet", [INFO] [stderr] | ^^^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/f1_2019_net.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 24 | Motion => return &"motion packet", [INFO] [stderr] | ------ matches any value [INFO] [stderr] ... [INFO] [stderr] 27 | Event => return &"event packet", [INFO] [stderr] | ^^^^^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/f1_2019_net.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 24 | Motion => return &"motion packet", [INFO] [stderr] | ------ matches any value [INFO] [stderr] ... [INFO] [stderr] 28 | Participant => return &"participant packet", [INFO] [stderr] | ^^^^^^^^^^^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/f1_2019_net.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 24 | Motion => return &"motion packet", [INFO] [stderr] | ------ matches any value [INFO] [stderr] ... [INFO] [stderr] 29 | Setup => return &"setup packet", [INFO] [stderr] | ^^^^^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/f1_2019_net.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 24 | Motion => return &"motion packet", [INFO] [stderr] | ------ matches any value [INFO] [stderr] ... [INFO] [stderr] 30 | Telemetry => return &"telemetry packet", [INFO] [stderr] | ^^^^^^^^^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/f1_2019_net.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 24 | Motion => return &"motion packet", [INFO] [stderr] | ------ matches any value [INFO] [stderr] ... [INFO] [stderr] 31 | CarStatus => return &"car status packet", [INFO] [stderr] | ^^^^^^^^^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/f1_2019_net.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 24 | Motion => return &"motion packet", [INFO] [stderr] | ------ matches any value [INFO] [stderr] ... [INFO] [stderr] 32 | InvalidPacket => return &"invalid packet", [INFO] [stderr] | ^^^^^^^^^^^^^ unreachable pattern [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/main.rs:403:3 [INFO] [stderr] | [INFO] [stderr] 403 | _ => return None, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `header` [INFO] [stderr] --> src/main.rs:100:10 [INFO] [stderr] | [INFO] [stderr] 100 | let mut header: PacketHeader = Default::default(); [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `car_data` [INFO] [stderr] --> src/main.rs:225:6 [INFO] [stderr] | [INFO] [stderr] 225 | let car_data = CarMotion { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_car_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `car_data` [INFO] [stderr] --> src/main.rs:222:50 [INFO] [stderr] | [INFO] [stderr] 222 | fn parse_car_motion(buf: &[u8; MAX_PACKET_SIZE], car_data: &mut [CarMotion; 20], count: usize) { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_car_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Motion` [INFO] [stderr] --> src/f1_2019_net.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | Motion => return &"motion packet", [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_Motion` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Session` [INFO] [stderr] --> src/f1_2019_net.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | Session => return &"session packet", [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Session` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Lap` [INFO] [stderr] --> src/f1_2019_net.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | Lap => return &"lap packet", [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_Lap` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Event` [INFO] [stderr] --> src/f1_2019_net.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | Event => return &"event packet", [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Event` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Participant` [INFO] [stderr] --> src/f1_2019_net.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | Participant => return &"participant packet", [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Participant` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Setup` [INFO] [stderr] --> src/f1_2019_net.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | Setup => return &"setup packet", [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_Setup` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Telemetry` [INFO] [stderr] --> src/f1_2019_net.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | Telemetry => return &"telemetry packet", [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_Telemetry` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `CarStatus` [INFO] [stderr] --> src/f1_2019_net.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | CarStatus => return &"car status packet", [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_CarStatus` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `InvalidPacket` [INFO] [stderr] --> src/f1_2019_net.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | InvalidPacket => return &"invalid packet", [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_InvalidPacket` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:100:6 [INFO] [stderr] | [INFO] [stderr] 100 | let mut header: PacketHeader = Default::default(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/main.rs:154:25 [INFO] [stderr] | [INFO] [stderr] 154 | buf.read_with::(&mut PACKET_FORMAT_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(const_item_mutation)]` on by default [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/main.rs:38:1 [INFO] [stderr] | [INFO] [stderr] 38 | const PACKET_FORMAT_OFFSET: usize = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/main.rs:155:27 [INFO] [stderr] | [INFO] [stderr] 155 | buf.read_with::(&mut MAJ_VERSION_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/main.rs:39:1 [INFO] [stderr] | [INFO] [stderr] 39 | const MAJ_VERSION_OFFSET: usize = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/main.rs:156:27 [INFO] [stderr] | [INFO] [stderr] 156 | buf.read_with::(&mut MIN_VERSION_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/main.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | const MIN_VERSION_OFFSET: usize = 3; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/main.rs:157:27 [INFO] [stderr] | [INFO] [stderr] 157 | buf.read_with::(&mut PACKET_VERSION_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/main.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | const PACKET_VERSION_OFFSET: usize = 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/main.rs:158:43 [INFO] [stderr] | [INFO] [stderr] 158 | get_packet_type(buf.read_with::(&mut PACKET_TYPE_OFFSET, LE).expect("error reading from buffer!")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/main.rs:42:1 [INFO] [stderr] | [INFO] [stderr] 42 | const PACKET_TYPE_OFFSET: usize = 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/main.rs:159:28 [INFO] [stderr] | [INFO] [stderr] 159 | buf.read_with::(&mut SESSION_ID_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/main.rs:43:1 [INFO] [stderr] | [INFO] [stderr] 43 | const SESSION_ID_OFFSET: usize = 6; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/main.rs:160:28 [INFO] [stderr] | [INFO] [stderr] 160 | buf.read_with::(&mut SESSION_TIME_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/main.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | const SESSION_TIME_OFFSET: usize = 14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/main.rs:161:28 [INFO] [stderr] | [INFO] [stderr] 161 | buf.read_with::(&mut FRAME_ID_OFFSET, LE).expect("error reading from buffer!"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/main.rs:45:1 [INFO] [stderr] | [INFO] [stderr] 45 | const FRAME_ID_OFFSET: usize = 18; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/main.rs:162:27 [INFO] [stderr] | [INFO] [stderr] 162 | buf.read_with::(&mut PLAYER_CAR_INDEX_OFFESET, LE).expect("error reading from buffer!") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/main.rs:46:1 [INFO] [stderr] | [INFO] [stderr] 46 | const PLAYER_CAR_INDEX_OFFESET: usize = 22; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:224:6 [INFO] [stderr] | [INFO] [stderr] 224 | let mut offset = index * CAR_MOTION_SIZE; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:249:6 [INFO] [stderr] | [INFO] [stderr] 249 | let mut index = NUM_WHEELS - count; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:259:6 [INFO] [stderr] | [INFO] [stderr] 259 | let mut index = NUM_WHEELS - count; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: taking a mutable reference to a `const` item [INFO] [stderr] --> src/main.rs:287:33 [INFO] [stderr] | [INFO] [stderr] 287 | weather: buf.read_with::(&mut HEADER_SIZE, LE).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: each usage of a `const` item creates a new temporary [INFO] [stderr] = note: the mutable reference will refer to this temporary, not the original `const` item [INFO] [stderr] note: `const` item defined here [INFO] [stderr] --> src/main.rs:49:1 [INFO] [stderr] | [INFO] [stderr] 49 | const HEADER_SIZE: usize = 23; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:310:6 [INFO] [stderr] | [INFO] [stderr] 310 | let mut index = NUM_MARSHAL_ZONES - count; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:336:6 [INFO] [stderr] | [INFO] [stderr] 336 | let mut index = NUM_CARS - count; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `EVENT_SIZE` [INFO] [stderr] --> src/main.rs:53:1 [INFO] [stderr] | [INFO] [stderr] 53 | const EVENT_SIZE: usize = 43; // Might not be able to use this as event packet changes with event type [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `MARSHAL_ZONE_SIZE` [INFO] [stderr] --> src/main.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | const MARSHAL_ZONE_SIZE: usize = 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `getName` [INFO] [stderr] --> src/f1_2019_net.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn getName(&self, event_type: PacketType) -> &str { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `packet_format` [INFO] [stderr] --> src/f1_2019_net.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | packet_format: u16, // 2019 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PacketHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/f1_2019_net.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `maj_version` [INFO] [stderr] --> src/f1_2019_net.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | maj_version: u8, // Game major version - "X.00" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PacketHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/f1_2019_net.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `min_version` [INFO] [stderr] --> src/f1_2019_net.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | min_version: u8, // Game minor version - "1.XX" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PacketHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/f1_2019_net.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `packet_version` [INFO] [stderr] --> src/f1_2019_net.rs:71:5 [INFO] [stderr] | [INFO] [stderr] 71 | packet_version: u8, // Version of this packet type, all start from 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PacketHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/f1_2019_net.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `session_id` [INFO] [stderr] --> src/f1_2019_net.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | session_id: u64, // Unique identifier for the session [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PacketHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/f1_2019_net.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `session_time` [INFO] [stderr] --> src/f1_2019_net.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 74 | session_time: f32, // Session timestamp [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PacketHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/f1_2019_net.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `frame_id` [INFO] [stderr] --> src/f1_2019_net.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | frame_id: u32, // Identifier for the frame the data was retrieved on. JP 2020- working from stated total packet... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PacketHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/f1_2019_net.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: field is never read: `player_car_index` [INFO] [stderr] --> src/f1_2019_net.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | player_car_index: u8 // Index of player's car in the array [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `PacketHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/f1_2019_net.rs:66:10 [INFO] [stderr] | [INFO] [stderr] 66 | #[derive(Debug, Default)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: function is never used: `init_surfaces` [INFO] [stderr] --> src/f1_2019_net.rs:617:8 [INFO] [stderr] | [INFO] [stderr] 617 | pub fn init_surfaces(map: &mut HashMap) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `getName` should have a snake case name [INFO] [stderr] --> src/f1_2019_net.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn getName(&self, event_type: PacketType) -> &str { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `get_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `Motion` should have a snake case name [INFO] [stderr] --> src/f1_2019_net.rs:24:13 [INFO] [stderr] | [INFO] [stderr] 24 | Motion => return &"motion packet", [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `motion` [INFO] [stderr] [INFO] [stderr] warning: variable `Session` should have a snake case name [INFO] [stderr] --> src/f1_2019_net.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | Session => return &"session packet", [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `session` [INFO] [stderr] [INFO] [stderr] warning: variable `Lap` should have a snake case name [INFO] [stderr] --> src/f1_2019_net.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | Lap => return &"lap packet", [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `lap` [INFO] [stderr] [INFO] [stderr] warning: variable `Event` should have a snake case name [INFO] [stderr] --> src/f1_2019_net.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | Event => return &"event packet", [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `event` [INFO] [stderr] [INFO] [stderr] warning: variable `Participant` should have a snake case name [INFO] [stderr] --> src/f1_2019_net.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | Participant => return &"participant packet", [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `participant` [INFO] [stderr] [INFO] [stderr] warning: variable `Setup` should have a snake case name [INFO] [stderr] --> src/f1_2019_net.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | Setup => return &"setup packet", [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `setup` [INFO] [stderr] [INFO] [stderr] warning: variable `Telemetry` should have a snake case name [INFO] [stderr] --> src/f1_2019_net.rs:30:13 [INFO] [stderr] | [INFO] [stderr] 30 | Telemetry => return &"telemetry packet", [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `telemetry` [INFO] [stderr] [INFO] [stderr] warning: variable `CarStatus` should have a snake case name [INFO] [stderr] --> src/f1_2019_net.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | CarStatus => return &"car status packet", [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to snake case: `car_status` [INFO] [stderr] [INFO] [stderr] warning: variable `InvalidPacket` should have a snake case name [INFO] [stderr] --> src/f1_2019_net.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | InvalidPacket => return &"invalid packet", [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `invalid_packet` [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0170`. [INFO] [stderr] warning: `f12019_data_logger` (bin "f12019_data_logger" test) generated 69 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 59.85s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/f12019_data_logger-67ddfd3f1e3055dd) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "e0ae6cf9b1a027703714bfbe2e788dea3819e05fce7ce172dbd0e2baf69f7190", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e0ae6cf9b1a027703714bfbe2e788dea3819e05fce7ce172dbd0e2baf69f7190", kill_on_drop: false }` [INFO] [stdout] e0ae6cf9b1a027703714bfbe2e788dea3819e05fce7ce172dbd0e2baf69f7190