[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#65132f36b923285d5da381c2fbafee6ce899e841 for pr-132712-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShapur1234%2FRezcraft" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Shapur1234/Rezcraft on toolchain 65132f36b923285d5da381c2fbafee6ce899e841 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65132f36b923285d5da381c2fbafee6ce899e841" "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-7-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" "+65132f36b923285d5da381c2fbafee6ce899e841" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+65132f36b923285d5da381c2fbafee6ce899e841" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 310538a3fc36ab9a4a388ddc29bef61ee5a3059e1bdcb579d357a9f06d955531 [INFO] running `Command { std: "docker" "start" "-a" "310538a3fc36ab9a4a388ddc29bef61ee5a3059e1bdcb579d357a9f06d955531", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "310538a3fc36ab9a4a388ddc29bef61ee5a3059e1bdcb579d357a9f06d955531", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "310538a3fc36ab9a4a388ddc29bef61ee5a3059e1bdcb579d357a9f06d955531", kill_on_drop: false }` [INFO] [stdout] 310538a3fc36ab9a4a388ddc29bef61ee5a3059e1bdcb579d357a9f06d955531 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-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:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+65132f36b923285d5da381c2fbafee6ce899e841" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 495d2be6eaff1ced097749707cdb3fc848cafcbca6ee3d400add73665bf44d25 [INFO] running `Command { std: "docker" "start" "-a" "495d2be6eaff1ced097749707cdb3fc848cafcbca6ee3d400add73665bf44d25", 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] 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 once_cell v1.19.0 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling pkg-config v0.3.30 [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] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Compiling serde v1.0.205 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling syn v2.0.72 [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 nix v0.24.3 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking ttf-parser v0.24.1 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking allocator-api2 v0.2.18 [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] Compiling getrandom v0.1.16 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking wayland-commons v0.29.5 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.8 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking flate2 v1.0.31 [INFO] [stderr] Checking fdeflate v0.3.4 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Compiling ash v0.37.3+1.3.251 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Compiling khronos-egl v4.1.0 [INFO] [stderr] Checking raw-window-handle v0.5.2 [INFO] [stderr] Checking codespan-reporting v0.11.1 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Checking spirv v0.2.0+1.5.4 [INFO] [stderr] Compiling smithay-client-toolkit v0.16.1 [INFO] [stderr] Checking nix v0.25.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Checking owned_ttf_parser v0.24.0 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking ab_glyph v0.2.28 [INFO] [stderr] Checking gpu-descriptor-types v0.1.2 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking hexf-parse v0.2.1 [INFO] [stderr] Checking xcursor v0.3.7 [INFO] [stderr] Checking unicode-xid v0.2.4 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking arrayref v0.3.8 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking gpu-alloc v0.6.0 [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] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Checking wgpu-types v0.17.0 [INFO] [stderr] Checking profiling v1.0.15 [INFO] [stderr] Checking renderdoc-sys v1.1.0 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking glow v0.12.3 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking nohash-hasher v0.2.0 [INFO] [stderr] Compiling winit v0.28.7 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling cgmath v0.17.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking ndshape v0.3.0 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking wayland-cursor v0.29.5 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Compiling cgmath v0.18.0 [INFO] [stderr] Checking glam v0.19.0 [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 rand_xorshift v0.2.0 [INFO] [stderr] Compiling include_dir_macros v0.7.4 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking approx v0.4.0 [INFO] [stderr] Checking is-terminal v0.4.12 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking ilattice v0.1.0 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling rezcraft v0.2.0 (/tmp/fixit) [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking block-mesh v0.2.0 [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 strum v0.25.0 [INFO] [stderr] Checking pollster v0.3.0 [INFO] [stderr] Checking ref_thread_local v0.1.1 [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 ppv-lite86 v0.2.20 [INFO] [stderr] Checking calloop v0.10.6 [INFO] [stderr] Checking gpu-descriptor v0.2.4 [INFO] [stderr] Checking naga v0.13.0 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking indexmap v2.3.0 [INFO] [stderr] Checking bytemuck v1.16.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking tiny-skia-path v0.8.4 [INFO] [stderr] Checking emath v0.22.0 [INFO] [stderr] Checking ecolor v0.22.0 [INFO] [stderr] Checking epaint v0.22.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking tiny-skia v0.8.4 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking noise v0.8.2 [INFO] [stderr] Checking egui v0.22.0 [INFO] [stderr] Checking sctk-adwaita v0.5.4 [INFO] [stderr] Checking wgpu-hal v0.17.2 [INFO] [stderr] Checking egui_winit_platform v0.19.0 [INFO] [stderr] Checking wgpu-core v0.17.1 [INFO] [stderr] Checking toml v0.5.11 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking rle_vec v0.4.1 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking confy v0.5.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] [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] [stderr] [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] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/game/state.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] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [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/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: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/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] [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] [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] [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] [stderr] | [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] [stderr] help: try adding parentheses [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] [stderr] | [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] [stderr] 222 | pub fn meshes_to_render(&mut self, device: &wgpu::Device, settings: &Settings) -> Vec<&(impl Draw + use<>)> { [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] [stderr] | + + [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] [stderr] [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] [stderr] error: aborting due to 1 previous error [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] [stderr] [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] [stderr] Original diagnostics will follow. [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] [stderr] [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: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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s [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] [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] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> src/main.rs:350:33 [INFO] [stdout] | [INFO] [stdout] 350 | let to_render = game_state.meshes_to_render(renderer.device(), &settings_clone); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] --> src/game/state.rs:222:101 [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] 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] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules [INFO] [stdout] --> src/main.rs:350:33 [INFO] [stdout] | [INFO] [stdout] 350 | let to_render = game_state.meshes_to_render(renderer.device(), &settings_clone); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] --> src/game/state.rs:222:101 [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] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/engine/renderer.rs:299:22 [INFO] [stdout] | [INFO] [stdout] 296 | bind_group: device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] | ____________________________________________________- [INFO] [stdout] 297 | | layout: &texture_bind_group_layout, [INFO] [stdout] 298 | | entries: { [INFO] [stdout] 299 | | &[ [INFO] [stdout] | | ______________________^ [INFO] [stdout] 300 | || wgpu::BindGroupEntry { [INFO] [stdout] 301 | || binding: 0, [INFO] [stdout] 302 | || resource: wgpu::BindingResource::TextureView(&atlas_texture.view), [INFO] [stdout] ... || [INFO] [stdout] 307 | || }, [INFO] [stdout] 308 | || ] [INFO] [stdout] | || ^ [INFO] [stdout] | || | [INFO] [stdout] | ||_____________________temporary value is freed at the end of this statement [INFO] [stdout] | | creates a temporary value which is freed while still in use [INFO] [stdout] 309 | | }, [INFO] [stdout] 310 | | label: None, [INFO] [stdout] 311 | | }), [INFO] [stdout] | |______________- borrow later used here [INFO] [stdout] | [INFO] [stdout] = note: consider using a `let` binding to create a longer lived value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/engine/renderer.rs:299:22 [INFO] [stdout] | [INFO] [stdout] 296 | bind_group: device.create_bind_group(&wgpu::BindGroupDescriptor { [INFO] [stdout] | ____________________________________________________- [INFO] [stdout] 297 | | layout: &texture_bind_group_layout, [INFO] [stdout] 298 | | entries: { [INFO] [stdout] 299 | | &[ [INFO] [stdout] | | ______________________^ [INFO] [stdout] 300 | || wgpu::BindGroupEntry { [INFO] [stdout] 301 | || binding: 0, [INFO] [stdout] 302 | || resource: wgpu::BindingResource::TextureView(&atlas_texture.view), [INFO] [stdout] ... || [INFO] [stdout] 307 | || }, [INFO] [stdout] 308 | || ] [INFO] [stdout] | || ^ [INFO] [stdout] | || | [INFO] [stdout] | ||_____________________temporary value is freed at the end of this statement [INFO] [stdout] | | creates a temporary value which is freed while still in use [INFO] [stdout] 309 | | }, [INFO] [stdout] 310 | | label: None, [INFO] [stdout] 311 | | }), [INFO] [stdout] | |______________- borrow later used here [INFO] [stdout] | [INFO] [stdout] = note: consider using a `let` binding to create a longer lived value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/game/world/mesh.rs:137:22 [INFO] [stdout] | [INFO] [stdout] 134 | chunk_pos: device.create_bind_group(&BindGroupDescriptor { [INFO] [stdout] | ___________________________________________________- [INFO] [stdout] 135 | | label: None, [INFO] [stdout] 136 | | layout: { [INFO] [stdout] 137 | | &device.create_bind_group_layout(&BindGroupLayoutDescriptor { [INFO] [stdout] | | ______________________^ [INFO] [stdout] 138 | || label: None, [INFO] [stdout] 139 | || entries: &[BindGroupLayoutEntry { [INFO] [stdout] 140 | || binding: 0, [INFO] [stdout] ... || [INFO] [stdout] 148 | || }], [INFO] [stdout] 149 | || }) [INFO] [stdout] | || ^ [INFO] [stdout] | || | [INFO] [stdout] | ||______________________temporary value is freed at the end of this statement [INFO] [stdout] | | creates a temporary value which is freed while still in use [INFO] [stdout] ... | [INFO] [stdout] 154 | | }], [INFO] [stdout] 155 | | }), [INFO] [stdout] | |______________- borrow later used here [INFO] [stdout] | [INFO] [stdout] = note: consider using a `let` binding to create a longer lived value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0716]: temporary value dropped while borrowed [INFO] [stdout] --> src/game/world/mesh.rs:137:22 [INFO] [stdout] | [INFO] [stdout] 134 | chunk_pos: device.create_bind_group(&BindGroupDescriptor { [INFO] [stdout] | ___________________________________________________- [INFO] [stdout] 135 | | label: None, [INFO] [stdout] 136 | | layout: { [INFO] [stdout] 137 | | &device.create_bind_group_layout(&BindGroupLayoutDescriptor { [INFO] [stdout] | | ______________________^ [INFO] [stdout] 138 | || label: None, [INFO] [stdout] 139 | || entries: &[BindGroupLayoutEntry { [INFO] [stdout] 140 | || binding: 0, [INFO] [stdout] ... || [INFO] [stdout] 148 | || }], [INFO] [stdout] 149 | || }) [INFO] [stdout] | || ^ [INFO] [stdout] | || | [INFO] [stdout] | ||______________________temporary value is freed at the end of this statement [INFO] [stdout] | | creates a temporary value which is freed while still in use [INFO] [stdout] ... | [INFO] [stdout] 154 | | }], [INFO] [stdout] 155 | | }), [INFO] [stdout] | |______________- borrow later used here [INFO] [stdout] | [INFO] [stdout] = note: consider using a `let` binding to create a longer lived value [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0716. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rezcraft` (bin "rezcraft" test) due to 4 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] Some errors have detailed explanations: E0502, E0716. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rezcraft` (bin "rezcraft") due to 4 previous errors [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" "495d2be6eaff1ced097749707cdb3fc848cafcbca6ee3d400add73665bf44d25", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "495d2be6eaff1ced097749707cdb3fc848cafcbca6ee3d400add73665bf44d25", kill_on_drop: false }` [INFO] [stdout] 495d2be6eaff1ced097749707cdb3fc848cafcbca6ee3d400add73665bf44d25