[INFO] cloning repository https://github.com/jestarray/handmadehero-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jestarray/handmadehero-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjestarray%2Fhandmadehero-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjestarray%2Fhandmadehero-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 82d62c17859f7c960ca204e2b407980568e8a9d0 [INFO] testing jestarray/handmadehero-rust against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjestarray%2Fhandmadehero-rust" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jestarray/handmadehero-rust [INFO] finished tweaking git repo https://github.com/jestarray/handmadehero-rust [INFO] tweaked toml for git repo https://github.com/jestarray/handmadehero-rust written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jestarray/handmadehero-rust on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jestarray/handmadehero-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: lib.src [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d94fc0b830952c8e8c688477b6e45f340a1fdbd81611ad60d1b5bcfa40c5f33b [INFO] running `Command { std: "docker" "start" "-a" "d94fc0b830952c8e8c688477b6e45f340a1fdbd81611ad60d1b5bcfa40c5f33b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d94fc0b830952c8e8c688477b6e45f340a1fdbd81611ad60d1b5bcfa40c5f33b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d94fc0b830952c8e8c688477b6e45f340a1fdbd81611ad60d1b5bcfa40c5f33b", kill_on_drop: false }` [INFO] [stdout] d94fc0b830952c8e8c688477b6e45f340a1fdbd81611ad60d1b5bcfa40c5f33b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9fbdccea482ec462534bcae356b10a178dd0fbe653de0ad258ab891e8aa3f2f6 [INFO] running `Command { std: "docker" "start" "-a" "9fbdccea482ec462534bcae356b10a178dd0fbe653de0ad258ab891e8aa3f2f6", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: lib.src [INFO] [stderr] Compiling handmadehero-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around `return` value [INFO] [stdout] --> src/handmade_math.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | return (result); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 97 - return (result); [INFO] [stdout] 97 + return result; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `return` value [INFO] [stdout] --> src/handmade_math.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 102 | return (result); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 102 - return (result); [INFO] [stdout] 102 + return result; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `return` value [INFO] [stdout] --> src/handmade_math.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | return (result); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 107 - return (result); [INFO] [stdout] 107 + return result; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unknown lint: `allow_bad_style` [INFO] [stdout] --> src/handmade_world.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | #![allow(allow_bad_style)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unknown_lints)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/handmade_world.rs:53:38 [INFO] [stdout] | [INFO] [stdout] 53 | static TILE_CHUNK_SAFE_MARGIN: i32 = (std::i32::MAX / 64); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 53 - static TILE_CHUNK_SAFE_MARGIN: i32 = (std::i32::MAX / 64); [INFO] [stdout] 53 + static TILE_CHUNK_SAFE_MARGIN: i32 = std::i32::MAX / 64; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/handmade.rs:959:32 [INFO] [stdout] | [INFO] [stdout] 959 | ... if ((*Low).HighEntityIndex == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 959 - if ((*Low).HighEntityIndex == 0) { [INFO] [stdout] 959 + if (*Low).HighEntityIndex == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/handmade.rs:961:36 [INFO] [stdout] | [INFO] [stdout] 961 | ... if (IsInRectangle(CameraBounds, CameraSpaceP)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 961 - if (IsInRectangle(CameraBounds, CameraSpaceP)) { [INFO] [stdout] 961 + if IsInRectangle(CameraBounds, CameraSpaceP) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `World` [INFO] [stdout] --> src/handmade_world.rs:72:23 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn AreInSameChunk(World: &world, A: &world_position, B: &world_position) -> bool { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_World` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/handmade_world.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 94 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 108 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `OldBlock` is never read [INFO] [stdout] --> src/handmade_world.rs:297:21 [INFO] [stdout] | [INFO] [stdout] 297 | OldBlock = Some(PushStruct::(Arena)); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handmade_world.rs:242:25 [INFO] [stdout] | [INFO] [stdout] 242 | let mut FirstBlock = (*Chunk).FirstBlock.as_mut().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Y` [INFO] [stdout] --> src/handmade.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | for Y in MinY..MaxY [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_Y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `X` [INFO] [stdout] --> src/handmade.rs:370:17 [INFO] [stdout] | [INFO] [stdout] 370 | for X in MinX..MaxX [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_X` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `Y` [INFO] [stdout] --> src/handmade.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | for Y in 0..Header.Height [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_Y` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `X` [INFO] [stdout] --> src/handmade.rs:455:17 [INFO] [stdout] | [INFO] [stdout] 455 | for X in 0..Header.Width [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_X` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handmade.rs:516:17 [INFO] [stdout] | [INFO] [stdout] 516 | let mut temp = &mut GameState.HighEntities_[HighIndex as usize]; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `EntityHigh` is never read [INFO] [stdout] --> src/handmade.rs:535:13 [INFO] [stdout] | [INFO] [stdout] 535 | let mut EntityHigh: Option<&mut high_entity> = None; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `HighEntityIndex` is never read [INFO] [stdout] --> src/handmade.rs:537:13 [INFO] [stdout] | [INFO] [stdout] 537 | let mut HighEntityIndex = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handmade.rs:532:5 [INFO] [stdout] | [INFO] [stdout] 532 | mut GameState: &'a mut GameState, [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/handmade.rs:587:21 [INFO] [stdout] | [INFO] [stdout] 587 | let mut DelEntity = [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/handmade.rs:672:9 [INFO] [stdout] | [INFO] [stdout] 672 | let mut EntityLow = GetLowEntity(GameState, EntityIndex).unwrap(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `World` [INFO] [stdout] --> src/handmade.rs:723:13 [INFO] [stdout] | [INFO] [stdout] 723 | let mut World = GameState.world.as_mut().unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_World` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `LowIndex` [INFO] [stdout] --> src/handmade.rs:751:13 [INFO] [stdout] | [INFO] [stdout] 751 | LowIndex, [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `LowIndex: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `NewPlayerP` [INFO] [stdout] --> src/handmade.rs:759:17 [INFO] [stdout] | [INFO] [stdout] 759 | let NewPlayerP = OldPlayerP + PlayerDelta; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_NewPlayerP` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `HitLow` [INFO] [stdout] --> src/handmade.rs:868:25 [INFO] [stdout] | [INFO] [stdout] 868 | let HitLow = &GameState.LowEntities[HitHigh.LowEntityIndex as usize]; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_HitLow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handmade.rs:723:9 [INFO] [stdout] | [INFO] [stdout] 723 | let mut World = GameState.world.as_mut().unwrap(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `PlayerWidth` [INFO] [stdout] --> src/handmade.rs:994:13 [INFO] [stdout] | [INFO] [stdout] 994 | let PlayerWidth: f32 = 0.75 * PlayerHeight; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_PlayerWidth` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ScreenIndex` [INFO] [stdout] --> src/handmade.rs:1128:17 [INFO] [stdout] | [INFO] [stdout] 1128 | for ScreenIndex in 0..2000 [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ScreenIndex` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `NewCameraP` is never read [INFO] [stdout] --> src/handmade.rs:1239:21 [INFO] [stdout] | [INFO] [stdout] 1239 | let mut NewCameraP = world_position::default(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `LowerLeftX` [INFO] [stdout] --> src/handmade.rs:1259:13 [INFO] [stdout] | [INFO] [stdout] 1259 | let LowerLeftX = -(TileSideInPixels / 2) as f32; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_LowerLeftX` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `LowerLeftY` [INFO] [stdout] --> src/handmade.rs:1260:13 [INFO] [stdout] | [INFO] [stdout] 1260 | let LowerLeftY = buffer.height as f32; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_LowerLeftY` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `High` [INFO] [stdout] --> src/handmade.rs:1321:32 [INFO] [stdout] | [INFO] [stdout] 1321 | High: Some(High), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_High` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `PlayerR` [INFO] [stdout] --> src/handmade.rs:1437:17 [INFO] [stdout] | [INFO] [stdout] 1437 | let PlayerR = 1.0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_PlayerR` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `PlayerG` [INFO] [stdout] --> src/handmade.rs:1438:17 [INFO] [stdout] | [INFO] [stdout] 1438 | let PlayerG = 1.0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_PlayerG` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `PlayerB` [INFO] [stdout] --> src/handmade.rs:1439:17 [INFO] [stdout] | [INFO] [stdout] 1439 | let PlayerB = 0.0; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_PlayerB` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `PlayerLeftTop` [INFO] [stdout] --> src/handmade.rs:1443:17 [INFO] [stdout] | [INFO] [stdout] 1443 | let PlayerLeftTop = v2 { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_PlayerLeftTop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `EntityWidthHeight` [INFO] [stdout] --> src/handmade.rs:1447:17 [INFO] [stdout] | [INFO] [stdout] 1447 | let EntityWidthHeight = v2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_EntityWidthHeight` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/handmade.rs:997:17 [INFO] [stdout] | [INFO] [stdout] 997 | let mut game_state = &mut *(memory.permanent_storage as *mut GameState); [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/handmade.rs:1097:21 [INFO] [stdout] | [INFO] [stdout] 1097 | let mut game_state = &mut *(memory.permanent_storage as *mut GameState); [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/handmade.rs:1420:17 [INFO] [stdout] | [INFO] [stdout] 1420 | let mut HighEntity = &mut game_state.HighEntities_[HighEntityIndex as usize]; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_state` [INFO] [stdout] --> src/handmade.rs:1577:5 [INFO] [stdout] | [INFO] [stdout] 1577 | game_state: *mut GameState, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `buffer` [INFO] [stdout] --> src/handmade.rs:1578:5 [INFO] [stdout] | [INFO] [stdout] 1578 | buffer: &mut game_sound_output_buffer, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tone_hz` [INFO] [stdout] --> src/handmade.rs:1579:5 [INFO] [stdout] | [INFO] [stdout] 1579 | tone_hz: u32, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tone_hz` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thread` [INFO] [stdout] --> src/handmade.rs:1602:5 [INFO] [stdout] | [INFO] [stdout] 1602 | thread: &thread_context, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `dAbsTileZ` is never read [INFO] [stdout] --> src/handmade.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 179 | struct low_entity { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 187 | dAbsTileZ: i32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `low_entity` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `PushArray` is never used [INFO] [stdout] --> src/handmade.rs:254:4 [INFO] [stdout] | [INFO] [stdout] 254 | fn PushArray(arena: &mut memory_arena, count: u32) -> &mut T { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `GetCenter` is never used [INFO] [stdout] --> src/handmade_math.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn GetCenter(Rect: rectangle2) -> v2 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `RectMinMax` is never used [INFO] [stdout] --> src/handmade_math.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn RectMinMax(Min: v2, Max: v2) -> rectangle2 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `RectMinDim` is never used [INFO] [stdout] --> src/handmade_math.rs:125:4 [INFO] [stdout] | [INFO] [stdout] 125 | fn RectMinDim(Min: v2, Dim: v2) -> rectangle2 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TILE_CHUNK_SAFE_MARGIN` is never used [INFO] [stdout] --> src/handmade_world.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | static TILE_CHUNK_SAFE_MARGIN: i32 = (std::i32::MAX / 64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `IsCanonical` is never used [INFO] [stdout] --> src/handmade_world.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn IsCanonical(World: &world, TileRel: f32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `IsCanonical_v2` is never used [INFO] [stdout] --> src/handmade_world.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn IsCanonical_v2(World: &world, Offset: v2) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `CenteredChunkPoint` is never used [INFO] [stdout] --> src/handmade_world.rs:208:8 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn CenteredChunkPoint(ChunkX: u32, ChunkY: u32, ChunkZ: u32) -> world_position { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: could not find `windows` in `os` [INFO] [stdout] --> src/win32_handmade.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | os::windows::ffi::OsStrExt, [INFO] [stdout] | ^^^^^^^ could not find `windows` in `os` [INFO] [stdout] | [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/os/mod.rs:56:5 [INFO] [stdout] | [INFO] [stdout] = note: the item is gated here [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/os/mod.rs:120:10 [INFO] [stdout] | [INFO] [stdout] = note: the item is gated here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use winapi::um::minwinbase::GetFileExInfoStandard; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use winapi::um::winuser::GetMonitorInfoA; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use winapi::um::winuser::GetWindowLongA; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use winapi::um::winuser::GetWindowPlacement; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use winapi::um::winuser::MonitorFromWindow; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use winapi::um::winuser::SetCursor; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use winapi::um::winuser::SetWindowLongA; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use winapi::um::winuser::SetWindowPlacement; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use winapi::um::winuser::GWL_STYLE; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use winapi::um::winuser::HWND_TOP; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use winapi::um::winuser::MONITOR_DEFAULTTOPRIMARY; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use winapi::um::winuser::WM_SETCURSOR; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use winapi::{ [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | use winapi::um::winuser::SetWindowPos; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | use winapi::um::{ [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | use winapi::um::fileapi::WIN32_FILE_ATTRIBUTE_DATA; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | use winapi::um::winuser::LoadCursorW; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | use winapi::um::winuser::IDC_ARROW; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | use winapi::um::winuser::MONITORINFO; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | use winapi::um::winuser::SWP_FRAMECHANGED; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | use winapi::um::winuser::SWP_NOMOVE; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | use winapi::um::winuser::SWP_NOOWNERZORDER; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | use winapi::um::winuser::SWP_NOSIZE; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | use winapi::um::winuser::SWP_NOZORDER; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | use winapi::um::winuser::WINDOWPLACEMENT; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | use winapi::um::{ [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | use winapi::um::{ [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | use winapi::{ [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | 0 as *mut winapi::um::minwinbase::SECURITY_ATTRIBUTES, [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:200:45 [INFO] [stdout] | [INFO] [stdout] 200 | result.contents as *mut winapi::ctypes::c_void, [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:225:36 [INFO] [stdout] | [INFO] [stdout] 225 | VirtualFree(memory as *mut winapi::ctypes::c_void, 0, MEM_RELEASE); [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:240:19 [INFO] [stdout] | [INFO] [stdout] 240 | 0 as *mut winapi::um::minwinbase::SECURITY_ATTRIBUTES, [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:250:30 [INFO] [stdout] | [INFO] [stdout] 250 | memory as *const winapi::ctypes::c_void, [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1067:23 [INFO] [stdout] | [INFO] [stdout] 1067 | 0 as *mut winapi::shared::windef::HWND__, [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0408]: variable `WM_SYSKEYUP` is not bound in all patterns [INFO] [stdout] --> src/win32_handmade.rs:1088:13 [INFO] [stdout] | [INFO] [stdout] 1088 | WM_SYSKEYDOWN | WM_SYSKEYUP | WM_KEYDOWN | WM_KEYUP => { [INFO] [stdout] | ^^^^^^^^^^^^^ ----------- ^^^^^^^^^^ ^^^^^^^^ pattern doesn't bind `WM_SYSKEYUP` [INFO] [stdout] | | | | [INFO] [stdout] | | | pattern doesn't bind `WM_SYSKEYUP` [INFO] [stdout] | | variable not in all patterns [INFO] [stdout] | pattern doesn't bind `WM_SYSKEYUP` [INFO] [stdout] | [INFO] [stdout] help: if you meant to match on a variant or a `const` item, consider making the path in the pattern qualified: `path::to::ModOrType::WM_SYSKEYUP` [INFO] [stdout] --> src/win32_handmade.rs:1088:29 [INFO] [stdout] | [INFO] [stdout] 1088 | WM_SYSKEYDOWN | WM_SYSKEYUP | WM_KEYDOWN | WM_KEYUP => { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0408]: variable `WM_KEYDOWN` is not bound in all patterns [INFO] [stdout] --> src/win32_handmade.rs:1088:13 [INFO] [stdout] | [INFO] [stdout] 1088 | WM_SYSKEYDOWN | WM_SYSKEYUP | WM_KEYDOWN | WM_KEYUP => { [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^ ---------- ^^^^^^^^ pattern doesn't bind `WM_KEYDOWN` [INFO] [stdout] | | | | [INFO] [stdout] | | | variable not in all patterns [INFO] [stdout] | | pattern doesn't bind `WM_KEYDOWN` [INFO] [stdout] | pattern doesn't bind `WM_KEYDOWN` [INFO] [stdout] | [INFO] [stdout] help: if you meant to match on a variant or a `const` item, consider making the path in the pattern qualified: `path::to::ModOrType::WM_KEYDOWN` [INFO] [stdout] --> src/win32_handmade.rs:1088:43 [INFO] [stdout] | [INFO] [stdout] 1088 | WM_SYSKEYDOWN | WM_SYSKEYUP | WM_KEYDOWN | WM_KEYUP => { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0408]: variable `WM_KEYUP` is not bound in all patterns [INFO] [stdout] --> src/win32_handmade.rs:1088:13 [INFO] [stdout] | [INFO] [stdout] 1088 | WM_SYSKEYDOWN | WM_SYSKEYUP | WM_KEYDOWN | WM_KEYUP => { [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^ -------- variable not in all patterns [INFO] [stdout] | | | | [INFO] [stdout] | | | pattern doesn't bind `WM_KEYUP` [INFO] [stdout] | | pattern doesn't bind `WM_KEYUP` [INFO] [stdout] | pattern doesn't bind `WM_KEYUP` [INFO] [stdout] | [INFO] [stdout] help: if you meant to match on a variant or a `const` item, consider making the path in the pattern qualified: `path::to::ModOrType::WM_KEYUP` [INFO] [stdout] --> src/win32_handmade.rs:1088:56 [INFO] [stdout] | [INFO] [stdout] 1088 | WM_SYSKEYDOWN | WM_SYSKEYUP | WM_KEYDOWN | WM_KEYUP => { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0408]: variable `WM_SYSKEYDOWN` is not bound in all patterns [INFO] [stdout] --> src/win32_handmade.rs:1088:29 [INFO] [stdout] | [INFO] [stdout] 1088 | WM_SYSKEYDOWN | WM_SYSKEYUP | WM_KEYDOWN | WM_KEYUP => { [INFO] [stdout] | ------------- ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ pattern doesn't bind `WM_SYSKEYDOWN` [INFO] [stdout] | | | | [INFO] [stdout] | | | pattern doesn't bind `WM_SYSKEYDOWN` [INFO] [stdout] | | pattern doesn't bind `WM_SYSKEYDOWN` [INFO] [stdout] | variable not in all patterns [INFO] [stdout] | [INFO] [stdout] help: if you meant to match on a variant or a `const` item, consider making the path in the pattern qualified: `path::to::ModOrType::WM_SYSKEYDOWN` [INFO] [stdout] --> src/win32_handmade.rs:1088:13 [INFO] [stdout] | [INFO] [stdout] 1088 | WM_SYSKEYDOWN | WM_SYSKEYUP | WM_KEYDOWN | WM_KEYUP => { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1237:37 [INFO] [stdout] | [INFO] [stdout] 1237 | SetCursor(0 as *mut winapi::shared::windef::HICON__); [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1694:59 [INFO] [stdout] | [INFO] [stdout] 1694 | ... let mut controller_state: winapi::um::xinput::XINPUT_STATE = [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1697:40 [INFO] [stdout] | [INFO] [stdout] 1697 | ... == winapi::shared::winerror::ERROR_SUCCESS [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1705:56 [INFO] [stdout] | [INFO] [stdout] 1705 | ... pad.wButtons & winapi::um::xinput::XINPUT_GAMEPAD_DPAD_UP; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1707:56 [INFO] [stdout] | [INFO] [stdout] 1707 | ... pad.wButtons & winapi::um::xinput::XINPUT_GAMEPAD_DPAD_DOWN; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1709:56 [INFO] [stdout] | [INFO] [stdout] 1709 | ... pad.wButtons & winapi::um::xinput::XINPUT_GAMEPAD_DPAD_LEFT; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1711:43 [INFO] [stdout] | [INFO] [stdout] 1711 | ... & winapi::um::xinput::XINPUT_GAMEPAD_DPAD_RIGHT; [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1797:41 [INFO] [stdout] | [INFO] [stdout] 1797 | ... winapi::um::xinput::XINPUT_GAMEPAD_A.into(), [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1803:41 [INFO] [stdout] | [INFO] [stdout] 1803 | ... winapi::um::xinput::XINPUT_GAMEPAD_B.into(), [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1810:41 [INFO] [stdout] | [INFO] [stdout] 1810 | ... winapi::um::xinput::XINPUT_GAMEPAD_X.into(), [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1817:41 [INFO] [stdout] | [INFO] [stdout] 1817 | ... winapi::um::xinput::XINPUT_GAMEPAD_Y.into(), [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1824:41 [INFO] [stdout] | [INFO] [stdout] 1824 | ... winapi::um::xinput::XINPUT_GAMEPAD_LEFT_SHOULDER.into(), [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1831:41 [INFO] [stdout] | [INFO] [stdout] 1831 | ... winapi::um::xinput::XINPUT_GAMEPAD_RIGHT_SHOULDER.into(), [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1838:41 [INFO] [stdout] | [INFO] [stdout] 1838 | ... winapi::um::xinput::XINPUT_GAMEPAD_START.into(), [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `winapi` [INFO] [stdout] --> src/win32_handmade.rs:1845:41 [INFO] [stdout] | [INFO] [stdout] 1845 | ... winapi::um::xinput::XINPUT_GAMEPAD_BACK.into(), [INFO] [stdout] | ^^^^^^ use of unresolved module or unlinked crate `winapi` [INFO] [stdout] | [INFO] [stdout] = help: if you wanted to use a crate named `winapi`, use `cargo add winapi` to add it to your `Cargo.toml` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/win32_handmade.rs:1021:12 [INFO] [stdout] | [INFO] [stdout] 1021 | if (BytesRead == 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1021 - if (BytesRead == 0) { [INFO] [stdout] 1021 + if BytesRead == 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/win32_handmade.rs:1315:5 [INFO] [stdout] | [INFO] [stdout] 1315 | ((end.QuadPart() - start.QuadPart()) as f32 / PERF_COUNT_FREQUENCY as f32) //as f32, moving cast out here drastically changes value. ... [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1315 - ((end.QuadPart() - start.QuadPart()) as f32 / PERF_COUNT_FREQUENCY as f32) //as f32, moving cast out here drastically changes value. look into why [INFO] [stdout] 1315 + (end.QuadPart() - start.QuadPart()) as f32 / PERF_COUNT_FREQUENCY as f32 //as f32, moving cast out here drastically changes value. look into why [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/win32_handmade.rs:1549:21 [INFO] [stdout] | [INFO] [stdout] 1549 | for (ReplayBuffer) in State.ReplayBuffers.iter_mut() [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1549 - for (ReplayBuffer) in State.ReplayBuffers.iter_mut() [INFO] [stdout] 1549 + for ReplayBuffer in State.ReplayBuffers.iter_mut() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/win32_handmade.rs:1931:52 [INFO] [stdout] | [INFO] [stdout] 1931 | ... TargetCursor = (WriteCursor as i32 [INFO] [stdout] | ^ [INFO] [stdout] 1932 | ... + ExpectedSoundBytesPerFrame [INFO] [stdout] 1933 | ... + SoundOutput.SafetyBytes as i32); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1931 ~ TargetCursor = WriteCursor as i32 [INFO] [stdout] 1932 | + ExpectedSoundBytesPerFrame [INFO] [stdout] 1933 ~ + SoundOutput.SafetyBytes as i32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/win32_handmade.rs:1936:37 [INFO] [stdout] | [INFO] [stdout] 1936 | ... (TargetCursor % SoundOutput.SecondaryBufferSize as i32); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1936 - (TargetCursor % SoundOutput.SecondaryBufferSize as i32); [INFO] [stdout] 1936 + TargetCursor % SoundOutput.SecondaryBufferSize as i32; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/win32_handmade.rs:1940:52 [INFO] [stdout] | [INFO] [stdout] 1940 | ... BytesToWrite = (SoundOutput.SecondaryBufferSize - ByteToLock); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1940 - BytesToWrite = (SoundOutput.SecondaryBufferSize - ByteToLock); [INFO] [stdout] 1940 + BytesToWrite = SoundOutput.SecondaryBufferSize - ByteToLock; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: attribute should be applied to an `extern` block with non-Rust ABI [INFO] [stdout] --> src/win32_handmade.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[link(name = "handmade.dll")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | use handmade::*; [INFO] [stdout] | ---------------- not an `extern` block [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `encode_wide` found for reference `&OsStr` in the current scope [INFO] [stdout] --> src/win32_handmade.rs:1276:23 [INFO] [stdout] | [INFO] [stdout] 1276 | OsStr::new(value).encode_wide().chain(once(0)).collect() [INFO] [stdout] | ^^^^^^^^^^^ method not found in `&OsStr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0408, E0433, E0599. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0408`. [INFO] [stdout] [INFO] [stderr] error: could not compile `handmadehero-rust` (bin "win32_handmade") due to 55 previous errors; 7 warnings emitted [INFO] running `Command { std: "docker" "inspect" "9fbdccea482ec462534bcae356b10a178dd0fbe653de0ad258ab891e8aa3f2f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9fbdccea482ec462534bcae356b10a178dd0fbe653de0ad258ab891e8aa3f2f6", kill_on_drop: false }` [INFO] [stdout] 9fbdccea482ec462534bcae356b10a178dd0fbe653de0ad258ab891e8aa3f2f6