[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] documenting jestarray/handmadehero-rust against beta-2022-05-20 for beta-1.62-rustdoc-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjestarray%2Fhandmadehero-rust" "/workspace/builds/worker-9/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jestarray/handmadehero-rust on toolchain beta-2022-05-20 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-05-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-9/source/Cargo.toml [INFO] crate git repo https://github.com/jestarray/handmadehero-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-05-20" "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-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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:d190cb871061d98bc6d0581d85cb2ecb09a0f8a142ba5463de30be9999fc3251" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-05-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c970236313f55dca902939a587cf8cde536582864ecc5aa34393ea1d5856b4e8 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "c970236313f55dca902939a587cf8cde536582864ecc5aa34393ea1d5856b4e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c970236313f55dca902939a587cf8cde536582864ecc5aa34393ea1d5856b4e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c970236313f55dca902939a587cf8cde536582864ecc5aa34393ea1d5856b4e8", kill_on_drop: false }` [INFO] [stdout] c970236313f55dca902939a587cf8cde536582864ecc5aa34393ea1d5856b4e8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "RUSTDOCFLAGS=--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:d190cb871061d98bc6d0581d85cb2ecb09a0f8a142ba5463de30be9999fc3251" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-05-20" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 2b92e21e4be6ca4c8fe074a5eb432545dabd384325f1f98060e4509c4caa20f4 [INFO] running `Command { std: "docker" "start" "-a" "2b92e21e4be6ca4c8fe074a5eb432545dabd384325f1f98060e4509c4caa20f4", kill_on_drop: false }` [INFO] [stderr] warning: unused manifest key: lib.src [INFO] [stderr] Documenting handmadehero-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking handmadehero-rust v0.1.0 (/opt/rustwide/workdir) [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 `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)]` 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: 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: 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 `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)]` 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: 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: `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] = note: `#[warn(unused_variables)]` on by default [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: 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] = note: `#[warn(unused_assignments)]` on by default [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: 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: 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: 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: 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] [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] [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] = note: `#[warn(unused_mut)]` on by default [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: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: 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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `dAbsTileZ` [INFO] [stdout] --> src/handmade.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | dAbsTileZ: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] note: `low_entity` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/handmade.rs:178:16 [INFO] [stdout] | [INFO] [stdout] 178 | #[derive(Copy, Clone)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `PushArray` [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 is never used: `GetCenter` [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 is never used: `RectMinMax` [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 is never used: `RectMinDim` [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 is never used: `TILE_CHUNK_SAFE_MARGIN` [INFO] [stdout] --> src/handmade_world.rs:53:1 [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 is never used: `IsCanonical` [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 is never used: `IsCanonical_v2` [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 is never used: `CenteredChunkPoint` [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] warning: 47 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [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] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use winapi::um::minwinbase::GetFileExInfoStandard; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use winapi::um::winuser::GetMonitorInfoA; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use winapi::um::winuser::GetWindowLongA; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use winapi::um::winuser::GetWindowPlacement; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use winapi::um::winuser::MonitorFromWindow; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use winapi::um::winuser::SetCursor; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use winapi::um::winuser::SetWindowLongA; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use winapi::um::winuser::SetWindowPlacement; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use winapi::um::winuser::GWL_STYLE; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use winapi::um::winuser::HWND_TOP; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | use winapi::um::winuser::MONITOR_DEFAULTTOPRIMARY; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | use winapi::um::winuser::WM_SETCURSOR; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | use winapi::{ [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | use winapi::um::winuser::SetWindowPos; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | use winapi::um::{ [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `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 undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | use winapi::um::winuser::LoadCursorW; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | use winapi::um::winuser::IDC_ARROW; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | use winapi::um::winuser::MONITORINFO; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | use winapi::um::winuser::SWP_FRAMECHANGED; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | use winapi::um::winuser::SWP_NOMOVE; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | use winapi::um::winuser::SWP_NOOWNERZORDER; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | use winapi::um::winuser::SWP_NOSIZE; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | use winapi::um::winuser::SWP_NOZORDER; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | use winapi::um::winuser::WINDOWPLACEMENT; [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | use winapi::um::{ [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | use winapi::um::{ [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `winapi` [INFO] [stdout] --> src/win32_handmade.rs:90:5 [INFO] [stdout] | [INFO] [stdout] 90 | use winapi::{ [INFO] [stdout] | ^^^^^^ use of undeclared crate or module `winapi` [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)]` 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] error: Compilation failed, aborting rustdoc [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 30 previous errors; 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0433`. [INFO] [stdout] [INFO] [stderr] error: could not document `handmadehero-rust` [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `rustdoc --edition=2018 --crate-type bin --crate-name win32_handmade src/win32_handmade.rs -o /opt/rustwide/target/doc --cfg 'feature="default"' --cfg 'feature="handmade_internal"' --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --document-private-items '-Arustdoc::private-intra-doc-links' -C metadata=83fb5d2f9e71da87 -L dependency=/opt/rustwide/target/debug/deps --extern handmade=/opt/rustwide/target/debug/deps/libhandmade-d1b8b821a90ee5d0.rmeta --cap-lints=warn --crate-version 0.1.0` (exit status: 1) [INFO] running `Command { std: "docker" "inspect" "2b92e21e4be6ca4c8fe074a5eb432545dabd384325f1f98060e4509c4caa20f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b92e21e4be6ca4c8fe074a5eb432545dabd384325f1f98060e4509c4caa20f4", kill_on_drop: false }` [INFO] [stdout] 2b92e21e4be6ca4c8fe074a5eb432545dabd384325f1f98060e4509c4caa20f4