[INFO] cloning repository https://github.com/Shapur1234/Rezcraft [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Shapur1234/Rezcraft" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShapur1234%2FRezcraft", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShapur1234%2FRezcraft'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e20d81843768387c0622735c4cb3f4679c429673 [INFO] checking Shapur1234/Rezcraft/e20d81843768387c0622735c4cb3f4679c429673 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShapur1234%2FRezcraft" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Shapur1234/Rezcraft on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Shapur1234/Rezcraft [INFO] finished tweaking git repo https://github.com/Shapur1234/Rezcraft [INFO] tweaked toml for git repo https://github.com/Shapur1234/Rezcraft written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Shapur1234/Rezcraft 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" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 32bf193c0c9ec645f2710818860f871d0898c8beab296795350d6ceffc126aa6 [INFO] running `Command { std: "docker" "start" "-a" "32bf193c0c9ec645f2710818860f871d0898c8beab296795350d6ceffc126aa6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "32bf193c0c9ec645f2710818860f871d0898c8beab296795350d6ceffc126aa6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "32bf193c0c9ec645f2710818860f871d0898c8beab296795350d6ceffc126aa6", kill_on_drop: false }` [INFO] [stdout] 32bf193c0c9ec645f2710818860f871d0898c8beab296795350d6ceffc126aa6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bc8e158b6ab5c2da579a641a66b89d6c4d2c98dcd2e6901e5926f151d634140c [INFO] running `Command { std: "docker" "start" "-a" "bc8e158b6ab5c2da579a641a66b89d6c4d2c98dcd2e6901e5926f151d634140c", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (1 fix) [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking libloading v0.8.5 [INFO] [stderr] Compiling xml-rs v0.8.21 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling autocfg v0.1.8 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling serde v1.0.205 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Checking ttf-parser v0.24.1 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.8 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking flate2 v1.0.31 [INFO] [stderr] Checking wayland-commons v0.29.5 [INFO] [stderr] Checking fdeflate v0.3.4 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Checking raw-window-handle v0.5.2 [INFO] [stderr] Compiling khronos-egl v4.1.0 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Compiling ash v0.37.3+1.3.251 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking codespan-reporting v0.11.1 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Compiling smithay-client-toolkit v0.16.1 [INFO] [stderr] Checking spirv v0.2.0+1.5.4 [INFO] [stderr] Checking nix v0.25.1 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Checking gpu-descriptor-types v0.1.2 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking unicode-xid v0.2.4 [INFO] [stderr] Checking hexf-parse v0.2.1 [INFO] [stderr] Checking xcursor v0.3.7 [INFO] [stderr] Checking owned_ttf_parser v0.24.0 [INFO] [stderr] Checking arrayref v0.3.8 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Checking ab_glyph v0.2.28 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Checking memmap2 v0.5.10 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking wgpu-types v0.17.0 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Checking renderdoc-sys v1.1.0 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking glow v0.12.3 [INFO] [stderr] Checking profiling v1.0.15 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking nohash-hasher v0.2.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling winit v0.28.7 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Compiling cgmath v0.17.0 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking ndshape v0.3.0 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking wayland-cursor v0.29.5 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Compiling cgmath v0.18.0 [INFO] [stderr] Checking glam v0.19.0 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking directories v4.0.1 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking ndcopy v0.3.0 [INFO] [stderr] Checking smallvec v0.6.14 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking rand_xorshift v0.2.0 [INFO] [stderr] Compiling include_dir_macros v0.7.4 [INFO] [stderr] Checking approx v0.4.0 [INFO] [stderr] Checking is-terminal v0.4.12 [INFO] [stderr] Compiling rezcraft v0.2.0 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Checking ilattice v0.1.0 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking block-mesh v0.2.0 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking include_dir v0.7.4 [INFO] [stderr] Checking collision v0.20.1 [INFO] [stderr] Checking rng v0.1.0 [INFO] [stderr] Checking ref_thread_local v0.1.1 [INFO] [stderr] Checking pollster v0.3.0 [INFO] [stderr] Checking strum v0.25.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling bytemuck_derive v1.7.0 [INFO] [stderr] Compiling serde_derive v1.0.205 [INFO] [stderr] Compiling strum_macros v0.25.3 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking bytemuck v1.16.3 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking tiny-skia-path v0.8.4 [INFO] [stderr] Checking ecolor v0.22.0 [INFO] [stderr] Checking emath v0.22.0 [INFO] [stderr] Checking gpu-descriptor v0.2.4 [INFO] [stderr] Checking tiny-skia v0.8.4 [INFO] [stderr] Checking epaint v0.22.0 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking naga v0.13.0 [INFO] [stderr] Checking calloop v0.10.6 [INFO] [stderr] Checking egui v0.22.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking indexmap v2.3.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking noise v0.8.2 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking sctk-adwaita v0.5.4 [INFO] [stderr] Checking egui_winit_platform v0.19.0 [INFO] [stderr] Checking wgpu-hal v0.17.2 [INFO] [stderr] Checking toml v0.5.11 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking rle_vec v0.4.1 [INFO] [stderr] Checking confy v0.5.1 [INFO] [stderr] Checking wgpu-core v0.17.1 [INFO] [stderr] Checking wgpu v0.17.2 [INFO] [stderr] Checking egui_wgpu_backend v0.25.0 [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `rezcraft` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/game/state.rs [INFO] [stderr] * src/game/world/terrain.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/game/state.rs:222:92 [INFO] [stderr] | [INFO] [stderr] 222 | pub fn meshes_to_render(&mut self, device: &wgpu::Device, settings: &Settings) -> Vec<&impl Draw + use<>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 222 | pub fn meshes_to_render(&mut self, device: &wgpu::Device, settings: &Settings) -> Vec<&(impl Draw + use<>)> { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unused variable: `load_last_save` [INFO] [stderr] --> src/game/state.rs:37:75 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn new(texture_atlas: &TextureAtlas, block_manager: BlockManager, load_last_save: bool) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_load_last_save` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `chunk` [INFO] [stderr] --> src/game/world/terrain.rs:1082:40 [INFO] [stderr] | [INFO] [stderr] 1082 | self.chunks.retain(|chunk_pos, chunk| { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk` [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/game/world/terrain_generator.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | rng.gen() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `load_last_save` [INFO] [stdout] --> src/game/state.rs:37:75 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(texture_atlas: &TextureAtlas, block_manager: BlockManager, load_last_save: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_load_last_save` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/state.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut out = Self { [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/game/state.rs:49:21 [INFO] [stdout] | [INFO] [stdout] 49 | let mut terrain = Terrain::new( [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk` [INFO] [stdout] --> src/game/world/terrain.rs:1083:40 [INFO] [stdout] | [INFO] [stdout] 1083 | self.chunks.retain(|chunk_pos, chunk| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `diffuse_texture` are never read [INFO] [stdout] --> src/engine/resource/model.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Material { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 10 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | pub diffuse_texture: texture::Texture, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `texture` is never read [INFO] [stdout] --> src/engine/resource/texture.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Texture { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 4 | pub texture: wgpu::Texture, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `chunk_pos_buffer` are never read [INFO] [stdout] --> src/game/world/mesh.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct ChunkMesh { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 106 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub chunk_pos_buffer: Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `current_save_name` is never read [INFO] [stdout] --> src/game/world/terrain.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 56 | struct BlocksThreadRequest { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 57 | pos: Vector3, [INFO] [stdout] 58 | current_save_name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `transparency` and `texture_atlas` are never used [INFO] [stdout] --> src/game/world/terrain.rs:1349:12 [INFO] [stdout] | [INFO] [stdout] 218 | impl Terrain { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1349 | pub fn transparency(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1353 | pub fn texture_atlas(&self) -> &TextureAtlas { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_string` is never used [INFO] [stdout] --> src/misc/loader.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn load_string(path: impl AsRef) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_binary` is never used [INFO] [stdout] --> src/misc/loader.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn load_binary(path: impl AsRef) -> Result, ()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `selected_save`, `do_save`, and `do_load` are never read [INFO] [stdout] --> src/misc/ui.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct UI<'a> { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 30 | selected_save: &'a mut String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 31 | do_save: &'a mut bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 32 | do_load: &'a mut bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/engine/texture_atlas.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | if let Some((texture_name, image)) = images_iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/engine/texture_atlas.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 43 ~ match images_iter.next() { Some((texture_name, image)) => { [INFO] [stdout] 44 | offset.insert(texture_name.into(), (x, y)); [INFO] [stdout] ... [INFO] [stdout] 53 | } [INFO] [stdout] 54 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/ray.rs:38:20 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(block) = terrain.get_block(¤t_pos) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/ray.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 38 ~ match terrain.get_block(¤t_pos) { Some(block) => { [INFO] [stdout] 39 | if block.is_rendered() { [INFO] [stdout] ... [INFO] [stdout] 47 | } [INFO] [stdout] 48 ~ } _ => { [INFO] [stdout] 49 | out = None; [INFO] [stdout] 50 | done = true; [INFO] [stdout] 51 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/ray.rs:87:20 [INFO] [stdout] | [INFO] [stdout] 87 | if let Some(block) = terrain.get_block(&trying_pos) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/ray.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 87 ~ match terrain.get_block(&trying_pos) { Some(block) => { [INFO] [stdout] 88 | if block.is_solid() { [INFO] [stdout] 89 | offset = 0.0 [INFO] [stdout] 90 | } [INFO] [stdout] 91 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl model::Draw` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/game/state.rs:222:92 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn meshes_to_render(&mut self, device: &wgpu::Device, settings: &Settings) -> Vec<&impl Draw> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/game/state.rs:222:29 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn meshes_to_render(&mut self, device: &wgpu::Device, settings: &Settings) -> Vec<&impl Draw> { [INFO] [stdout] | ^ ^ ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 222 | pub fn meshes_to_render(&mut self, device: &wgpu::Device, settings: &Settings) -> Vec<&impl Draw + use<>> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/state.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 280 | if let Some((intersect_pos, _, _)) = ray.intersect(&mut self.terrain) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/state.rs:284:9 [INFO] [stdout] | [INFO] [stdout] 284 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 280 ~ match ray.intersect(&mut self.terrain) { Some((intersect_pos, _, _)) => { [INFO] [stdout] 281 | if let Some(block) = self.terrain.get_block(&intersect_pos) { [INFO] [stdout] 282 | self.player.selected_block = block [INFO] [stdout] 283 | } [INFO] [stdout] 284 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/state.rs:281:16 [INFO] [stdout] | [INFO] [stdout] 281 | if let Some(block) = self.terrain.get_block(&intersect_pos) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/state.rs:283:13 [INFO] [stdout] | [INFO] [stdout] 283 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 281 ~ match self.terrain.get_block(&intersect_pos) { Some(block) => { [INFO] [stdout] 282 | self.player.selected_block = block [INFO] [stdout] 283 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:466:24 [INFO] [stdout] | [INFO] [stdout] 466 | if let Some(sunlight_source_cache) = &mut self.sunlight_source_cache { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:472:21 [INFO] [stdout] | [INFO] [stdout] 472 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 466 ~ match &mut self.sunlight_source_cache { Some(sunlight_source_cache) => { [INFO] [stdout] 467 | sunlight_source_cache.remove(block_in_chunk_pos, &surrounding_blocks); [INFO] [stdout] ... [INFO] [stdout] 471 | } [INFO] [stdout] 472 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:475:24 [INFO] [stdout] | [INFO] [stdout] 475 | if let Some(light_source_cache) = &mut self.light_source_cache { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:477:21 [INFO] [stdout] | [INFO] [stdout] 477 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 475 ~ match &mut self.light_source_cache { Some(light_source_cache) => { [INFO] [stdout] 476 | light_source_cache.insert(block_in_chunk_pos, &surrounding_blocks); [INFO] [stdout] 477 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:480:24 [INFO] [stdout] | [INFO] [stdout] 480 | if let Some(light_source_cache) = &mut self.light_source_cache { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:482:21 [INFO] [stdout] | [INFO] [stdout] 482 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 480 ~ match &mut self.light_source_cache { Some(light_source_cache) => { [INFO] [stdout] 481 | light_source_cache.remove(block_in_chunk_pos, &surrounding_blocks); [INFO] [stdout] 482 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/mesh.rs:258:45 [INFO] [stdout] | [INFO] [stdout] 258 | ... Some(if let Some(light_source) = block.light_source() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/mesh.rs:260:37 [INFO] [stdout] | [INFO] [stdout] 260 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 258 ~ Some(match block.light_source() { Some(light_source) => { [INFO] [stdout] 259 | [light_source.light_raw(); 6] [INFO] [stdout] 260 ~ } _ => { [INFO] [stdout] 261 | { [INFO] [stdout] ... [INFO] [stdout] 281 | } [INFO] [stdout] 282 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:650:19 [INFO] [stdout] | [INFO] [stdout] 650 | while let Some(blocks) = terrain.get_blocks(¤t_chunk_pos, false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:702:23 [INFO] [stdout] | [INFO] [stdout] 702 | while let Some(blocks) = terrain.get_blocks(¤t_chunk_pos, false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:756:17 [INFO] [stdout] | [INFO] [stdout] 756 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:859:28 [INFO] [stdout] | [INFO] [stdout] 859 | if let Some(surrounding_blocks) = [INFO] [stdout] | ____________________________^ [INFO] [stdout] 860 | | self.get_surrounding_blocks_cube(&to_update_cache_chunk_pos, false) [INFO] [stdout] | |_____________________________------------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:865:25 [INFO] [stdout] | [INFO] [stdout] 865 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 859 ~ match self.get_surrounding_blocks_cube(&to_update_cache_chunk_pos, false) [INFO] [stdout] 860 ~ { Some(surrounding_blocks) => { [INFO] [stdout] 861 | if let Some(mut current_chunk) = self.get_chunk_mut(&to_update_cache_chunk_pos, false) { [INFO] [stdout] 862 | current_chunk.do_cache_updates(&surrounding_blocks) [INFO] [stdout] 863 | } [INFO] [stdout] 864 ~ } _ => { [INFO] [stdout] 865 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 868 | return; [INFO] [stdout] 869 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1159:16 [INFO] [stdout] | [INFO] [stdout] 1159 | if let Some(mut chunk) = self.get_chunk_mut(&recieved.pos, false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1166:13 [INFO] [stdout] | [INFO] [stdout] 1166 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1159 ~ match self.get_chunk_mut(&recieved.pos, false) { Some(mut chunk) => { [INFO] [stdout] 1160 | if chunk.light_pos_cache_requested() && recieved.for_state == chunk.state_hash() { [INFO] [stdout] ... [INFO] [stdout] 1165 | } [INFO] [stdout] 1166 ~ } _ => { [INFO] [stdout] 1167 | log::warn!("Recieved chunk light pos cache for nonexistent chunk") [INFO] [stdout] 1168 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1197:41 [INFO] [stdout] | [INFO] [stdout] 1197 | let surrounding_blocks = if let Some(surrounding_blocks) = self.get_surrounding_blocks(chunk_pos, true) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1199:13 [INFO] [stdout] | [INFO] [stdout] 1199 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1197 ~ let surrounding_blocks = match self.get_surrounding_blocks(chunk_pos, true) { Some(surrounding_blocks) => { [INFO] [stdout] 1198 | surrounding_blocks [INFO] [stdout] 1199 ~ } _ => { [INFO] [stdout] 1200 | return; [INFO] [stdout] 1201 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1203:20 [INFO] [stdout] | [INFO] [stdout] 1203 | if let Some(surrounding_lights) = self.get_surrounding_lights(chunk_pos, true, false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1205:17 [INFO] [stdout] | [INFO] [stdout] 1205 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1203 ~ match self.get_surrounding_lights(chunk_pos, true, false) { Some(surrounding_lights) => { [INFO] [stdout] 1204 | surrounding_lights [INFO] [stdout] 1205 ~ } _ => { [INFO] [stdout] 1206 | return; [INFO] [stdout] 1207 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1239:41 [INFO] [stdout] | [INFO] [stdout] 1239 | let surrounding_blocks = if let Some(surrounding_blocks) = self.get_surrounding_blocks_cube(chunk_pos, true) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1242:13 [INFO] [stdout] | [INFO] [stdout] 1242 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1239 ~ let surrounding_blocks = match self.get_surrounding_blocks_cube(chunk_pos, true) [INFO] [stdout] 1240 ~ { Some(surrounding_blocks) => { [INFO] [stdout] 1241 | surrounding_blocks [INFO] [stdout] 1242 ~ } _ => { [INFO] [stdout] 1243 | return; [INFO] [stdout] 1244 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1284:41 [INFO] [stdout] | [INFO] [stdout] 1284 | let surrounding_blocks = if let Some(surrounding_blocks) = self.get_surrounding_blocks_cube(chunk_pos, true) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1287:13 [INFO] [stdout] | [INFO] [stdout] 1287 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1284 ~ let surrounding_blocks = match self.get_surrounding_blocks_cube(chunk_pos, true) [INFO] [stdout] 1285 ~ { Some(surrounding_blocks) => { [INFO] [stdout] 1286 | surrounding_blocks [INFO] [stdout] 1287 ~ } _ => { [INFO] [stdout] 1288 | return; [INFO] [stdout] 1289 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1380:15 [INFO] [stdout] | [INFO] [stdout] 1380 | while let Ok(Some(msg)) = reciever.try_next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1382:9 [INFO] [stdout] | [INFO] [stdout] 1382 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | if let Some(file) = RESOURCE_DIR.get_file(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 11 ~ match RESOURCE_DIR.get_file(path) { Some(file) => { [INFO] [stdout] 12 | Ok(file.contents().to_owned()) [INFO] [stdout] 13 ~ } _ => { [INFO] [stdout] 14 | Err(()) [INFO] [stdout] 15 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if let Some(file) = RESOURCE_DIR.get_file(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 27 ~ match RESOURCE_DIR.get_file(path) { Some(file) => { [INFO] [stdout] 28 | if let Some(text) = file.contents_utf8() { [INFO] [stdout] ... [INFO] [stdout] 32 | } [INFO] [stdout] 33 ~ } _ => { [INFO] [stdout] 34 | Err(()) [INFO] [stdout] 35 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | if let Ok(txt) = std::fs::read_to_string(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 46 ~ match std::fs::read_to_string(path) { Ok(txt) => { [INFO] [stdout] 47 | Ok(txt) [INFO] [stdout] 48 ~ } _ => { [INFO] [stdout] 49 | Err(()) [INFO] [stdout] 50 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | if let Ok(data) = std::fs::read(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 55 ~ match std::fs::read(path) { Ok(data) => { [INFO] [stdout] 56 | Ok(data) [INFO] [stdout] 57 ~ } _ => { [INFO] [stdout] 58 | Err(()) [INFO] [stdout] 59 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/settings.rs:63:20 [INFO] [stdout] | [INFO] [stdout] 63 | if let Err(e) = confy::store(TITLE, Some(TITLE), self.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^---------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/settings.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 63 ~ match confy::store(TITLE, Some(TITLE), self.clone()) { Err(e) => { [INFO] [stdout] 64 | log::error!("Failed to load config from file - {}", e) [INFO] [stdout] 65 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/ui.rs:204:28 [INFO] [stdout] | [INFO] [stdout] 204 | if let Some(mut texture_name) = self.block_manager.get_texture_name(texture_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/ui.rs:224:25 [INFO] [stdout] | [INFO] [stdout] 224 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 204 ~ match self.block_manager.get_texture_name(texture_id) { Some(mut texture_name) => { [INFO] [stdout] 205 | ui.group(|ui| { [INFO] [stdout] ... [INFO] [stdout] 223 | }); [INFO] [stdout] 224 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/ui.rs:227:28 [INFO] [stdout] | [INFO] [stdout] 227 | if let [Some(mut texture_name_top), Some(mut texture_name_side), Some(mut texture_name_bottom)] = [ [INFO] [stdout] | ____________________________^ [INFO] [stdout] 228 | | self.block_manager.get_texture_name(texture_id_top), [INFO] [stdout] | | ------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 229 | | self.block_manager.get_texture_name(texture_id_side), [INFO] [stdout] 230 | | self.block_manager.get_texture_name(texture_id_bottom), [INFO] [stdout] 231 | | ] { [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/ui.rs:262:25 [INFO] [stdout] | [INFO] [stdout] 262 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 227 ~ match [ [INFO] [stdout] 228 | self.block_manager.get_texture_name(texture_id_top), [INFO] [stdout] 229 | self.block_manager.get_texture_name(texture_id_side), [INFO] [stdout] 230 | self.block_manager.get_texture_name(texture_id_bottom), [INFO] [stdout] 231 ~ ] { [Some(mut texture_name_top), Some(mut texture_name_side), Some(mut texture_name_bottom)] => { [INFO] [stdout] 232 | ui.group(|ui| { [INFO] [stdout] ... [INFO] [stdout] 261 | }); [INFO] [stdout] 262 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `rezcraft` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/game/state.rs [INFO] [stderr] * src/game/world/terrain.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/game/state.rs:222:92 [INFO] [stderr] | [INFO] [stderr] 222 | pub fn meshes_to_render(&mut self, device: &wgpu::Device, settings: &Settings) -> Vec<&impl Draw + use<>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 222 | pub fn meshes_to_render(&mut self, device: &wgpu::Device, settings: &Settings) -> Vec<&(impl Draw + use<>)> { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unused variable: `load_last_save` [INFO] [stderr] --> src/game/state.rs:37:75 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn new(texture_atlas: &TextureAtlas, block_manager: BlockManager, load_last_save: bool) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_load_last_save` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `chunk` [INFO] [stderr] --> src/game/world/terrain.rs:1082:40 [INFO] [stderr] | [INFO] [stderr] 1082 | self.chunks.retain(|chunk_pos, chunk| { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk` [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/game/world/terrain_generator.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | rng.gen() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `load_last_save` [INFO] [stdout] --> src/game/state.rs:37:75 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(texture_atlas: &TextureAtlas, block_manager: BlockManager, load_last_save: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_load_last_save` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/state.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut out = Self { [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/game/state.rs:49:21 [INFO] [stdout] | [INFO] [stdout] 49 | let mut terrain = Terrain::new( [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk` [INFO] [stdout] --> src/game/world/terrain.rs:1083:40 [INFO] [stdout] | [INFO] [stdout] 1083 | self.chunks.retain(|chunk_pos, chunk| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `diffuse_texture` are never read [INFO] [stdout] --> src/engine/resource/model.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Material { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 10 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | pub diffuse_texture: texture::Texture, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `texture` is never read [INFO] [stdout] --> src/engine/resource/texture.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Texture { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 4 | pub texture: wgpu::Texture, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `chunk_pos_buffer` are never read [INFO] [stdout] --> src/game/world/mesh.rs:106:9 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct ChunkMesh { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 106 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub chunk_pos_buffer: Buffer, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `current_save_name` is never read [INFO] [stdout] --> src/game/world/terrain.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 56 | struct BlocksThreadRequest { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 57 | pos: Vector3, [INFO] [stdout] 58 | current_save_name: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `transparency` and `texture_atlas` are never used [INFO] [stdout] --> src/game/world/terrain.rs:1349:12 [INFO] [stdout] | [INFO] [stdout] 218 | impl Terrain { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1349 | pub fn transparency(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1353 | pub fn texture_atlas(&self) -> &TextureAtlas { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_string` is never used [INFO] [stdout] --> src/misc/loader.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn load_string(path: impl AsRef) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_binary` is never used [INFO] [stdout] --> src/misc/loader.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn load_binary(path: impl AsRef) -> Result, ()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `selected_save`, `do_save`, and `do_load` are never read [INFO] [stdout] --> src/misc/ui.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct UI<'a> { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 30 | selected_save: &'a mut String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 31 | do_save: &'a mut bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 32 | do_load: &'a mut bool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/engine/texture_atlas.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | if let Some((texture_name, image)) = images_iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/engine/texture_atlas.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 43 ~ match images_iter.next() { Some((texture_name, image)) => { [INFO] [stdout] 44 | offset.insert(texture_name.into(), (x, y)); [INFO] [stdout] ... [INFO] [stdout] 53 | } [INFO] [stdout] 54 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/ray.rs:38:20 [INFO] [stdout] | [INFO] [stdout] 38 | if let Some(block) = terrain.get_block(¤t_pos) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/ray.rs:48:17 [INFO] [stdout] | [INFO] [stdout] 48 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 38 ~ match terrain.get_block(¤t_pos) { Some(block) => { [INFO] [stdout] 39 | if block.is_rendered() { [INFO] [stdout] ... [INFO] [stdout] 47 | } [INFO] [stdout] 48 ~ } _ => { [INFO] [stdout] 49 | out = None; [INFO] [stdout] 50 | done = true; [INFO] [stdout] 51 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/ray.rs:87:20 [INFO] [stdout] | [INFO] [stdout] 87 | if let Some(block) = terrain.get_block(&trying_pos) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/ray.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 87 ~ match terrain.get_block(&trying_pos) { Some(block) => { [INFO] [stdout] 88 | if block.is_solid() { [INFO] [stdout] 89 | offset = 0.0 [INFO] [stdout] 90 | } [INFO] [stdout] 91 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl model::Draw` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/game/state.rs:222:92 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn meshes_to_render(&mut self, device: &wgpu::Device, settings: &Settings) -> Vec<&impl Draw> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/game/state.rs:222:29 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn meshes_to_render(&mut self, device: &wgpu::Device, settings: &Settings) -> Vec<&impl Draw> { [INFO] [stdout] | ^ ^ ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 222 | pub fn meshes_to_render(&mut self, device: &wgpu::Device, settings: &Settings) -> Vec<&impl Draw + use<>> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/state.rs:280:12 [INFO] [stdout] | [INFO] [stdout] 280 | if let Some((intersect_pos, _, _)) = ray.intersect(&mut self.terrain) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/state.rs:284:9 [INFO] [stdout] | [INFO] [stdout] 284 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 280 ~ match ray.intersect(&mut self.terrain) { Some((intersect_pos, _, _)) => { [INFO] [stdout] 281 | if let Some(block) = self.terrain.get_block(&intersect_pos) { [INFO] [stdout] 282 | self.player.selected_block = block [INFO] [stdout] 283 | } [INFO] [stdout] 284 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/state.rs:281:16 [INFO] [stdout] | [INFO] [stdout] 281 | if let Some(block) = self.terrain.get_block(&intersect_pos) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/state.rs:283:13 [INFO] [stdout] | [INFO] [stdout] 283 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 281 ~ match self.terrain.get_block(&intersect_pos) { Some(block) => { [INFO] [stdout] 282 | self.player.selected_block = block [INFO] [stdout] 283 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:466:24 [INFO] [stdout] | [INFO] [stdout] 466 | if let Some(sunlight_source_cache) = &mut self.sunlight_source_cache { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:472:21 [INFO] [stdout] | [INFO] [stdout] 472 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 466 ~ match &mut self.sunlight_source_cache { Some(sunlight_source_cache) => { [INFO] [stdout] 467 | sunlight_source_cache.remove(block_in_chunk_pos, &surrounding_blocks); [INFO] [stdout] ... [INFO] [stdout] 471 | } [INFO] [stdout] 472 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:475:24 [INFO] [stdout] | [INFO] [stdout] 475 | if let Some(light_source_cache) = &mut self.light_source_cache { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:477:21 [INFO] [stdout] | [INFO] [stdout] 477 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 475 ~ match &mut self.light_source_cache { Some(light_source_cache) => { [INFO] [stdout] 476 | light_source_cache.insert(block_in_chunk_pos, &surrounding_blocks); [INFO] [stdout] 477 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:480:24 [INFO] [stdout] | [INFO] [stdout] 480 | if let Some(light_source_cache) = &mut self.light_source_cache { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/block.rs:482:21 [INFO] [stdout] | [INFO] [stdout] 482 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 480 ~ match &mut self.light_source_cache { Some(light_source_cache) => { [INFO] [stdout] 481 | light_source_cache.remove(block_in_chunk_pos, &surrounding_blocks); [INFO] [stdout] 482 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/mesh.rs:258:45 [INFO] [stdout] | [INFO] [stdout] 258 | ... Some(if let Some(light_source) = block.light_source() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/mesh.rs:260:37 [INFO] [stdout] | [INFO] [stdout] 260 | ... } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 258 ~ Some(match block.light_source() { Some(light_source) => { [INFO] [stdout] 259 | [light_source.light_raw(); 6] [INFO] [stdout] 260 ~ } _ => { [INFO] [stdout] 261 | { [INFO] [stdout] ... [INFO] [stdout] 281 | } [INFO] [stdout] 282 ~ }}) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:650:19 [INFO] [stdout] | [INFO] [stdout] 650 | while let Some(blocks) = terrain.get_blocks(¤t_chunk_pos, false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:702:23 [INFO] [stdout] | [INFO] [stdout] 702 | while let Some(blocks) = terrain.get_blocks(¤t_chunk_pos, false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:756:17 [INFO] [stdout] | [INFO] [stdout] 756 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:859:28 [INFO] [stdout] | [INFO] [stdout] 859 | if let Some(surrounding_blocks) = [INFO] [stdout] | ____________________________^ [INFO] [stdout] 860 | | self.get_surrounding_blocks_cube(&to_update_cache_chunk_pos, false) [INFO] [stdout] | |_____________________________------------------------------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:865:25 [INFO] [stdout] | [INFO] [stdout] 865 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 859 ~ match self.get_surrounding_blocks_cube(&to_update_cache_chunk_pos, false) [INFO] [stdout] 860 ~ { Some(surrounding_blocks) => { [INFO] [stdout] 861 | if let Some(mut current_chunk) = self.get_chunk_mut(&to_update_cache_chunk_pos, false) { [INFO] [stdout] 862 | current_chunk.do_cache_updates(&surrounding_blocks) [INFO] [stdout] 863 | } [INFO] [stdout] 864 ~ } _ => { [INFO] [stdout] 865 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 868 | return; [INFO] [stdout] 869 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1159:16 [INFO] [stdout] | [INFO] [stdout] 1159 | if let Some(mut chunk) = self.get_chunk_mut(&recieved.pos, false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1166:13 [INFO] [stdout] | [INFO] [stdout] 1166 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1159 ~ match self.get_chunk_mut(&recieved.pos, false) { Some(mut chunk) => { [INFO] [stdout] 1160 | if chunk.light_pos_cache_requested() && recieved.for_state == chunk.state_hash() { [INFO] [stdout] ... [INFO] [stdout] 1165 | } [INFO] [stdout] 1166 ~ } _ => { [INFO] [stdout] 1167 | log::warn!("Recieved chunk light pos cache for nonexistent chunk") [INFO] [stdout] 1168 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1197:41 [INFO] [stdout] | [INFO] [stdout] 1197 | let surrounding_blocks = if let Some(surrounding_blocks) = self.get_surrounding_blocks(chunk_pos, true) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1199:13 [INFO] [stdout] | [INFO] [stdout] 1199 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1197 ~ let surrounding_blocks = match self.get_surrounding_blocks(chunk_pos, true) { Some(surrounding_blocks) => { [INFO] [stdout] 1198 | surrounding_blocks [INFO] [stdout] 1199 ~ } _ => { [INFO] [stdout] 1200 | return; [INFO] [stdout] 1201 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1203:20 [INFO] [stdout] | [INFO] [stdout] 1203 | if let Some(surrounding_lights) = self.get_surrounding_lights(chunk_pos, true, false) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1205:17 [INFO] [stdout] | [INFO] [stdout] 1205 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1203 ~ match self.get_surrounding_lights(chunk_pos, true, false) { Some(surrounding_lights) => { [INFO] [stdout] 1204 | surrounding_lights [INFO] [stdout] 1205 ~ } _ => { [INFO] [stdout] 1206 | return; [INFO] [stdout] 1207 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1239:41 [INFO] [stdout] | [INFO] [stdout] 1239 | let surrounding_blocks = if let Some(surrounding_blocks) = self.get_surrounding_blocks_cube(chunk_pos, true) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1242:13 [INFO] [stdout] | [INFO] [stdout] 1242 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1239 ~ let surrounding_blocks = match self.get_surrounding_blocks_cube(chunk_pos, true) [INFO] [stdout] 1240 ~ { Some(surrounding_blocks) => { [INFO] [stdout] 1241 | surrounding_blocks [INFO] [stdout] 1242 ~ } _ => { [INFO] [stdout] 1243 | return; [INFO] [stdout] 1244 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1284:41 [INFO] [stdout] | [INFO] [stdout] 1284 | let surrounding_blocks = if let Some(surrounding_blocks) = self.get_surrounding_blocks_cube(chunk_pos, true) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1287:13 [INFO] [stdout] | [INFO] [stdout] 1287 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1284 ~ let surrounding_blocks = match self.get_surrounding_blocks_cube(chunk_pos, true) [INFO] [stdout] 1285 ~ { Some(surrounding_blocks) => { [INFO] [stdout] 1286 | surrounding_blocks [INFO] [stdout] 1287 ~ } _ => { [INFO] [stdout] 1288 | return; [INFO] [stdout] 1289 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1380:15 [INFO] [stdout] | [INFO] [stdout] 1380 | while let Ok(Some(msg)) = reciever.try_next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/game/world/terrain.rs:1382:9 [INFO] [stdout] | [INFO] [stdout] 1382 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | if let Some(file) = RESOURCE_DIR.get_file(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 11 ~ match RESOURCE_DIR.get_file(path) { Some(file) => { [INFO] [stdout] 12 | Ok(file.contents().to_owned()) [INFO] [stdout] 13 ~ } _ => { [INFO] [stdout] 14 | Err(()) [INFO] [stdout] 15 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if let Some(file) = RESOURCE_DIR.get_file(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 27 ~ match RESOURCE_DIR.get_file(path) { Some(file) => { [INFO] [stdout] 28 | if let Some(text) = file.contents_utf8() { [INFO] [stdout] ... [INFO] [stdout] 32 | } [INFO] [stdout] 33 ~ } _ => { [INFO] [stdout] 34 | Err(()) [INFO] [stdout] 35 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | if let Ok(txt) = std::fs::read_to_string(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^----------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 46 ~ match std::fs::read_to_string(path) { Ok(txt) => { [INFO] [stdout] 47 | Ok(txt) [INFO] [stdout] 48 ~ } _ => { [INFO] [stdout] 49 | Err(()) [INFO] [stdout] 50 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | if let Ok(data) = std::fs::read(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/loader.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 55 ~ match std::fs::read(path) { Ok(data) => { [INFO] [stdout] 56 | Ok(data) [INFO] [stdout] 57 ~ } _ => { [INFO] [stdout] 58 | Err(()) [INFO] [stdout] 59 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/settings.rs:63:20 [INFO] [stdout] | [INFO] [stdout] 63 | if let Err(e) = confy::store(TITLE, Some(TITLE), self.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^---------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/settings.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 65 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 63 ~ match confy::store(TITLE, Some(TITLE), self.clone()) { Err(e) => { [INFO] [stdout] 64 | log::error!("Failed to load config from file - {}", e) [INFO] [stdout] 65 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/ui.rs:204:28 [INFO] [stdout] | [INFO] [stdout] 204 | if let Some(mut texture_name) = self.block_manager.get_texture_name(texture_id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/ui.rs:224:25 [INFO] [stdout] | [INFO] [stdout] 224 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 204 ~ match self.block_manager.get_texture_name(texture_id) { Some(mut texture_name) => { [INFO] [stdout] 205 | ui.group(|ui| { [INFO] [stdout] ... [INFO] [stdout] 223 | }); [INFO] [stdout] 224 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/misc/ui.rs:227:28 [INFO] [stdout] | [INFO] [stdout] 227 | if let [Some(mut texture_name_top), Some(mut texture_name_side), Some(mut texture_name_bottom)] = [ [INFO] [stdout] | ____________________________^ [INFO] [stdout] 228 | | self.block_manager.get_texture_name(texture_id_top), [INFO] [stdout] | | ------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 229 | | self.block_manager.get_texture_name(texture_id_side), [INFO] [stdout] 230 | | self.block_manager.get_texture_name(texture_id_bottom), [INFO] [stdout] 231 | | ] { [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/misc/ui.rs:262:25 [INFO] [stdout] | [INFO] [stdout] 262 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 227 ~ match [ [INFO] [stdout] 228 | self.block_manager.get_texture_name(texture_id_top), [INFO] [stdout] 229 | self.block_manager.get_texture_name(texture_id_side), [INFO] [stdout] 230 | self.block_manager.get_texture_name(texture_id_bottom), [INFO] [stdout] 231 ~ ] { [Some(mut texture_name_top), Some(mut texture_name_side), Some(mut texture_name_bottom)] => { [INFO] [stdout] 232 | ui.group(|ui| { [INFO] [stdout] ... [INFO] [stdout] 261 | }); [INFO] [stdout] 262 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.94s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling rezcraft v0.2.0 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/game/world/terrain_generator.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | rng.gen() [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 89 | rng.r#gen() [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/game/world/terrain_generator.rs:89:13 [INFO] [stdout] | [INFO] [stdout] 89 | rng.gen() [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 89 | rng.r#gen() [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `renderer` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/main.rs:351:23 [INFO] [stdout] | [INFO] [stdout] 350 | let to_render = game_state.meshes_to_render(renderer.device(), &settings_clone); [INFO] [stdout] | -------- immutable borrow occurs here [INFO] [stdout] 351 | match renderer.render( [INFO] [stdout] | ^ ------ immutable borrow later used by call [INFO] [stdout] | _______________________| [INFO] [stdout] | | [INFO] [stdout] 352 | | to_render, [INFO] [stdout] 353 | | Some(( [INFO] [stdout] 354 | | settings_clone.sky_color[0], [INFO] [stdout] ... | [INFO] [stdout] 358 | | &mut ui, [INFO] [stdout] 359 | | ) { [INFO] [stdout] | |_________________^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `renderer` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/main.rs:351:23 [INFO] [stdout] | [INFO] [stdout] 350 | let to_render = game_state.meshes_to_render(renderer.device(), &settings_clone); [INFO] [stdout] | -------- immutable borrow occurs here [INFO] [stdout] 351 | match renderer.render( [INFO] [stdout] | ^ ------ immutable borrow later used by call [INFO] [stdout] | _______________________| [INFO] [stdout] | | [INFO] [stdout] 352 | | to_render, [INFO] [stdout] 353 | | Some(( [INFO] [stdout] 354 | | settings_clone.sky_color[0], [INFO] [stdout] ... | [INFO] [stdout] 358 | | &mut ui, [INFO] [stdout] 359 | | ) { [INFO] [stdout] | |_________________^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `load_last_save` [INFO] [stdout] --> src/game/state.rs:37:75 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(texture_atlas: &TextureAtlas, block_manager: BlockManager, load_last_save: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_load_last_save` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/state.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut out = Self { [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/game/state.rs:49:21 [INFO] [stdout] | [INFO] [stdout] 49 | let mut terrain = Terrain::new( [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `load_last_save` [INFO] [stdout] --> src/game/state.rs:37:75 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(texture_atlas: &TextureAtlas, block_manager: BlockManager, load_last_save: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_load_last_save` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/state.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | let mut out = Self { [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/game/state.rs:49:21 [INFO] [stdout] | [INFO] [stdout] 49 | let mut terrain = Terrain::new( [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk` [INFO] [stdout] --> src/game/world/terrain.rs:1083:40 [INFO] [stdout] | [INFO] [stdout] 1083 | self.chunks.retain(|chunk_pos, chunk| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chunk` [INFO] [stdout] --> src/game/world/terrain.rs:1083:40 [INFO] [stdout] | [INFO] [stdout] 1083 | self.chunks.retain(|chunk_pos, chunk| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rezcraft` (bin "rezcraft" test) due to 3 previous errors; 4 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 2 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rezcraft` (bin "rezcraft") due to 3 previous errors; 4 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "bc8e158b6ab5c2da579a641a66b89d6c4d2c98dcd2e6901e5926f151d634140c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc8e158b6ab5c2da579a641a66b89d6c4d2c98dcd2e6901e5926f151d634140c", kill_on_drop: false }` [INFO] [stdout] bc8e158b6ab5c2da579a641a66b89d6c4d2c98dcd2e6901e5926f151d634140c