[INFO] fetching crate bevy_hanabi 0.12.2... [INFO] checking bevy_hanabi-0.12.2 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate bevy_hanabi 0.12.2 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate bevy_hanabi 0.12.2 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 crates.io crate bevy_hanabi 0.12.2 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate bevy_hanabi 0.12.2 [INFO] tweaked toml for crates.io crate bevy_hanabi 0.12.2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate crates.io crate bevy_hanabi 0.12.2 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-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 3d1dae5643cd11f817a4f7949d5c275c35dfbe184322d331f043b46983f5ecc2 [INFO] running `Command { std: "docker" "start" "-a" "3d1dae5643cd11f817a4f7949d5c275c35dfbe184322d331f043b46983f5ecc2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3d1dae5643cd11f817a4f7949d5c275c35dfbe184322d331f043b46983f5ecc2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d1dae5643cd11f817a4f7949d5c275c35dfbe184322d331f043b46983f5ecc2", kill_on_drop: false }` [INFO] [stdout] 3d1dae5643cd11f817a4f7949d5c275c35dfbe184322d331f043b46983f5ecc2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 49c3974f0c1fd6ec2efedcc410ee59294efb2fffd15fc7f951f4c44ca1b93ece [INFO] running `Command { std: "docker" "start" "-a" "49c3974f0c1fd6ec2efedcc410ee59294efb2fffd15fc7f951f4c44ca1b93ece", 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 serde v1.0.204 [INFO] [stderr] Compiling winnow v0.6.18 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling indexmap v2.3.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Checking typeid v1.0.0 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Compiling syn v2.0.72 [INFO] [stderr] Checking futures-lite v2.3.0 [INFO] [stderr] Checking web-time v1.1.0 [INFO] [stderr] Checking bevy_ptr v0.14.1 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Checking nonmax v0.5.5 [INFO] [stderr] Checking fixedbitset v0.5.7 [INFO] [stderr] Checking num-traits v0.2.19 [INFO] [stderr] Checking libloading v0.8.5 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Checking event-listener v5.3.1 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking event-listener-strategy v0.5.2 [INFO] [stderr] Checking unicode-xid v0.2.4 [INFO] [stderr] Compiling ash v0.37.3+1.3.251 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Compiling khronos-egl v6.0.0 [INFO] [stderr] Checking hexf-parse v0.2.1 [INFO] [stderr] Checking codespan-reporting v0.11.1 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Compiling wgpu-hal v0.21.1 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Checking accesskit v0.14.0 [INFO] [stderr] Compiling cc v1.1.7 [INFO] [stderr] Checking piper v0.2.3 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking async-executor v1.13.0 [INFO] [stderr] Checking async-channel v2.3.1 [INFO] [stderr] Checking fdeflate v0.3.4 [INFO] [stderr] Compiling wgpu-core v0.21.1 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Checking glow v0.13.1 [INFO] [stderr] Compiling litrs v0.4.1 [INFO] [stderr] Checking renderdoc-sys v1.1.0 [INFO] [stderr] Checking profiling v1.0.15 [INFO] [stderr] Checking bevy_tasks v0.14.1 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Checking blocking v1.6.1 [INFO] [stderr] Checking async-lock v3.4.0 [INFO] [stderr] Checking flate2 v1.0.30 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling wgpu v0.20.1 [INFO] [stderr] Checking as-raw-xcb-connection v1.0.1 [INFO] [stderr] Checking byteorder-lite v0.1.0 [INFO] [stderr] Compiling uuid v1.10.0 [INFO] [stderr] Checking const_soft_float v0.1.4 [INFO] [stderr] Checking x11rb-protocol v0.13.1 [INFO] [stderr] Checking arrayref v0.3.8 [INFO] [stderr] Checking constant_time_eq v0.3.0 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Checking const_panic v0.2.8 [INFO] [stderr] Compiling winit v0.30.4 [INFO] [stderr] Checking constgebra v0.1.4 [INFO] [stderr] Checking async-fs v2.1.2 [INFO] [stderr] Checking async-broadcast v0.5.1 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Checking xkeysym v0.2.1 [INFO] [stderr] Checking unicode-ident v1.0.12 [INFO] [stderr] Compiling document-features v0.2.10 [INFO] [stderr] Checking const-fnv1a-hash v1.1.0 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking dpi v0.1.1 [INFO] [stderr] Checking cursor-icon v1.1.0 [INFO] [stderr] Checking radsort v0.1.0 [INFO] [stderr] Compiling toml_edit v0.22.20 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking ttf-parser v0.24.0 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.8 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Checking nohash-hasher v0.2.0 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Compiling bevy_egui v0.28.0 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking rand_pcg v0.3.1 [INFO] [stderr] Checking pretty-type-name v1.0.1 [INFO] [stderr] Checking copyless v0.1.5 [INFO] [stderr] Compiling blake3 v1.5.3 [INFO] [stderr] Checking webbrowser v1.0.1 [INFO] [stderr] Checking owned_ttf_parser v0.24.0 [INFO] [stderr] Compiling bevy_macro_utils v0.14.1 [INFO] [stderr] Compiling encase_derive_impl v0.8.0 [INFO] [stderr] Checking ab_glyph v0.2.28 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling bytemuck_derive v1.7.0 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling zerocopy-derive v0.6.6 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling bevy_utils_proc_macros v0.14.1 [INFO] [stderr] Compiling bevy_reflect_derive v0.14.1 [INFO] [stderr] Compiling bevy_ecs_macros v0.14.1 [INFO] [stderr] Compiling bevy_derive v0.14.1 [INFO] [stderr] Compiling encase_derive v0.8.0 [INFO] [stderr] Compiling bevy_asset_macros v0.14.1 [INFO] [stderr] Compiling bevy_encase_derive v0.14.1 [INFO] [stderr] Compiling bevy_render_macros v0.14.1 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling bevy_state_macros v0.14.1 [INFO] [stderr] Compiling typetag-impl v0.2.17 [INFO] [stderr] Compiling bevy-inspector-egui-derive v0.25.0 [INFO] [stderr] Checking zerocopy v0.6.6 [INFO] [stderr] Checking bytemuck v1.16.3 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking thiserror v1.0.63 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking ppv-lite86 v0.2.18 [INFO] [stderr] Checking image v0.25.2 [INFO] [stderr] Checking emath v0.28.1 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking ecolor v0.28.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking epaint v0.28.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking noise v0.9.0 [INFO] [stderr] Checking egui v0.28.1 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking glam v0.27.0 [INFO] [stderr] Checking erased-serde v0.4.5 [INFO] [stderr] Checking spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking gpu-descriptor-types v0.2.0 [INFO] [stderr] Checking wgpu-types v0.20.0 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Checking typetag v0.2.17 [INFO] [stderr] Checking bevy_utils v0.14.1 [INFO] [stderr] Checking gpu-descriptor v0.3.0 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking naga v0.20.0 [INFO] [stderr] Checking bevy_reflect v0.14.1 [INFO] [stderr] Checking encase v0.8.0 [INFO] [stderr] Checking bevy_mikktspace v0.14.1 [INFO] [stderr] Checking hexasphere v12.0.0 [INFO] [stderr] Checking polling v3.7.2 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking arboard v3.4.0 [INFO] [stderr] Checking bevy_ecs v0.14.1 [INFO] [stderr] Checking bevy_math v0.14.1 [INFO] [stderr] Checking accesskit_winit v0.20.4 [INFO] [stderr] Checking naga_oil v0.14.0 [INFO] [stderr] Checking bevy_color v0.14.2 [INFO] [stderr] Checking bevy_app v0.14.1 [INFO] [stderr] Checking bevy_core v0.14.1 [INFO] [stderr] Checking bevy_a11y v0.14.1 [INFO] [stderr] Checking bevy_time v0.14.1 [INFO] [stderr] Checking bevy_asset v0.14.1 [INFO] [stderr] Checking bevy_log v0.14.1 [INFO] [stderr] Checking bevy_input v0.14.1 [INFO] [stderr] Checking bevy_window v0.14.1 [INFO] [stderr] Checking bevy_hierarchy v0.14.1 [INFO] [stderr] Checking bevy_diagnostic v0.14.1 [INFO] [stderr] Checking bevy_transform v0.14.1 [INFO] [stderr] Checking bevy_state v0.14.1 [INFO] [stderr] Checking bevy_winit v0.14.1 [INFO] [stderr] Checking bevy_render v0.14.1 [INFO] [stderr] Checking bevy_core_pipeline v0.14.1 [INFO] [stderr] Checking bevy_internal v0.14.1 [INFO] [stderr] Checking bevy_pbr v0.14.1 [INFO] [stderr] Checking bevy v0.14.1 [INFO] [stderr] Checking bevy_hanabi v0.12.2 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking bevy-inspector-egui v0.25.1 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `bevy_hanabi` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/modifier/mod.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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/modifier/mod.rs:558:13 [INFO] [stderr] | [INFO] [stderr] 558 | ($t:ty, $attrs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gradient.rs:694:34 [INFO] [stdout] | [INFO] [stdout] 694 | return vec![(0., rng.gen().into())]; [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gradient.rs:698:58 [INFO] [stdout] | [INFO] [stdout] 698 | ret.push((i as f32 / (count - 1) as f32, rng.gen().into())); [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] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modifier/mod.rs:558:20 [INFO] [stdout] | [INFO] [stdout] 558 | ($t:ty, $attrs:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 558 | ($t:ty, $attrs:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::num::NonZero::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/graph/expr.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | id: NonZeroU32::new_unchecked(id as u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/graph/expr.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | unsafe fn new_unchecked(id: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::num::NonZero::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/graph/expr.rs:188:17 [INFO] [stdout] | [INFO] [stdout] 188 | id: NonZeroU32::new_unchecked(id as u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/graph/expr.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | unsafe fn new_unchecked(id: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:828:20 [INFO] [stdout] | [INFO] [stdout] 828 | if let Err(err) = m.apply(&mut module, &mut init_context) { [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/lib.rs:831:17 [INFO] [stdout] | [INFO] [stdout] 831 | } [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] 828 ~ match m.apply(&mut module, &mut init_context) { Err(err) => { [INFO] [stdout] 829 | error!("Failed to compile effect, error in init context: {:?}", err); [INFO] [stdout] 830 | return Err(ShaderGenerateError::Expr(err)); [INFO] [stdout] 831 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:890:24 [INFO] [stdout] | [INFO] [stdout] 890 | if let Err(err) = m.apply(&mut module, &mut update_context) { [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/lib.rs:896:21 [INFO] [stdout] | [INFO] [stdout] 896 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 890 ~ match m.apply(&mut module, &mut update_context) { Err(err) => { [INFO] [stdout] 891 | error!( [INFO] [stdout] ... [INFO] [stdout] 895 | return Err(ShaderGenerateError::Expr(err)); [INFO] [stdout] 896 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:969:24 [INFO] [stdout] | [INFO] [stdout] 969 | if let Some(grid_size) = render_context.sprite_grid_size { [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/lib.rs:977:21 [INFO] [stdout] | [INFO] [stdout] 977 | } 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] 969 ~ match render_context.sprite_grid_size { Some(grid_size) => { [INFO] [stdout] 970 | layout_flags |= LayoutFlags::FLIPBOOK; [INFO] [stdout] ... [INFO] [stdout] 976 | (flipbook_scale_code, flipbook_row_count_code) [INFO] [stdout] 977 ~ } _ => { [INFO] [stdout] 978 | (String::new(), String::new()) [INFO] [stdout] 979 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modifier/mod.rs:304:12 [INFO] [stdout] | [INFO] [stdout] 304 | if let Some(s) = self.expr_cache.get(&handle) { [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/modifier/mod.rs:306:9 [INFO] [stdout] | [INFO] [stdout] 306 | } 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] 304 ~ match self.expr_cache.get(&handle) { Some(s) => { [INFO] [stdout] 305 | Ok(s.clone()) [INFO] [stdout] 306 ~ } _ => { [INFO] [stdout] 307 | module.try_get(handle)?.eval(module, self).map(|s| { [INFO] [stdout] ... [INFO] [stdout] 310 | }) [INFO] [stdout] 311 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modifier/mod.rs:480:12 [INFO] [stdout] | [INFO] [stdout] 480 | if let Some(s) = self.expr_cache.get(&handle) { [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/modifier/mod.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | } 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] 480 ~ match self.expr_cache.get(&handle) { Some(s) => { [INFO] [stdout] 481 | Ok(s.clone()) [INFO] [stdout] 482 ~ } _ => { [INFO] [stdout] 483 | module.try_get(handle)?.eval(module, self).map(|s| { [INFO] [stdout] ... [INFO] [stdout] 486 | }) [INFO] [stdout] 487 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/mod.rs:1849:16 [INFO] [stdout] | [INFO] [stdout] 1849 | if let Some(entry) = self.entity_map.remove(entity) { [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/render/mod.rs:1891:13 [INFO] [stdout] | [INFO] [stdout] 1891 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1849 ~ match self.entity_map.remove(entity) { Some(entry) => { [INFO] [stdout] 1850 | trace!( [INFO] [stdout] ... [INFO] [stdout] 1890 | } [INFO] [stdout] 1891 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/mod.rs:2270:16 [INFO] [stdout] | [INFO] [stdout] 2270 | if let Some(property_buffer) = input.property_buffer.as_ref() { [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/render/mod.rs:2273:13 [INFO] [stdout] | [INFO] [stdout] 2273 | } 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] 2270 ~ match input.property_buffer.as_ref() { Some(property_buffer) => { [INFO] [stdout] 2271 | trace!("Scheduled property upload to GPU"); [INFO] [stdout] 2272 | render_queue.write_buffer(property_buffer, 0, property_data); [INFO] [stdout] 2273 ~ } _ => { [INFO] [stdout] 2274 | error!("Cannot upload properties to GPU, no property buffer!"); [INFO] [stdout] 2275 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/mod.rs:3271:20 [INFO] [stdout] | [INFO] [stdout] 3271 | if let Some(gpu_image) = gpu_images.get(&effect_batches.image_handle) { [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/render/mod.rs:3289:17 [INFO] [stdout] | [INFO] [stdout] 3289 | } 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] 3271 ~ match gpu_images.get(&effect_batches.image_handle) { Some(gpu_image) => { [INFO] [stdout] 3272 | let bind_group = render_device.create_bind_group( [INFO] [stdout] ... [INFO] [stdout] 3288 | .insert(effect_batches.image_handle.id(), bind_group); [INFO] [stdout] 3289 ~ } _ => { [INFO] [stdout] 3290 | // Texture is not ready; skip for now... [INFO] [stdout] 3291 | trace!("GPU image not yet available; skipping batch for now."); [INFO] [stdout] 3292 | continue; [INFO] [stdout] 3293 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/mod.rs:3404:12 [INFO] [stdout] | [INFO] [stdout] 3404 | if let Some(bind_group) = effect_bind_groups [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ___________________________________| [INFO] [stdout] 3405 | || .images [INFO] [stdout] | ||___________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 3406 | | .get(&effect_batches.image_handle.id()) [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/render/mod.rs:3409:9 [INFO] [stdout] | [INFO] [stdout] 3409 | } 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] 3404 ~ match effect_bind_groups [INFO] [stdout] 3405 | .images [INFO] [stdout] 3406 | .get(&effect_batches.image_handle.id()) [INFO] [stdout] 3407 ~ { Some(bind_group) => { [INFO] [stdout] 3408 | pass.set_bind_group(2, bind_group, &[]); [INFO] [stdout] 3409 ~ } _ => { [INFO] [stdout] 3410 | // Texture not ready; skip this drawing for now [INFO] [stdout] ... [INFO] [stdout] 3415 | return; // continue; [INFO] [stdout] 3416 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/mod.rs:3750:16 [INFO] [stdout] | [INFO] [stdout] 3750 | if let Some(indirect_dispatch_pipeline) = &effects_meta.indirect_dispatch_pipeline { [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/render/mod.rs:3782:13 [INFO] [stdout] | [INFO] [stdout] 3782 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3750 ~ match &effects_meta.indirect_dispatch_pipeline { Some(indirect_dispatch_pipeline) => { [INFO] [stdout] 3751 | trace!("record commands for indirect dispatch pipeline..."); [INFO] [stdout] ... [INFO] [stdout] 3781 | ); [INFO] [stdout] 3782 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/buffer_table.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 259 | if let Some(ab) = self.buffer.as_mut() { [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/render/buffer_table.rs:262:9 [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] 259 ~ match self.buffer.as_mut() { Some(ab) => { [INFO] [stdout] 260 | ab.old_buffer = None; [INFO] [stdout] 261 | ab.old_size = 0; [INFO] [stdout] 262 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/buffer_table.rs:383:16 [INFO] [stdout] | [INFO] [stdout] 383 | if let Some(ab) = self.buffer.as_mut() { [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/render/buffer_table.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | } 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] 383 ~ match self.buffer.as_mut() { Some(ab) => { [INFO] [stdout] 384 | // If there's any data currently in the GPU buffer, we need to copy it on next [INFO] [stdout] ... [INFO] [stdout] 391 | ab.size = size; [INFO] [stdout] 392 ~ } _ => { [INFO] [stdout] 393 | self.buffer = Some(AllocatedBuffer { [INFO] [stdout] ... [INFO] [stdout] 398 | }); [INFO] [stdout] 399 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/buffer_table.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some(ab) = self.buffer.as_ref() { [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/render/buffer_table.rs:478:9 [INFO] [stdout] | [INFO] [stdout] 478 | } 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] 414 ~ match self.buffer.as_ref() { Some(ab) => { [INFO] [stdout] 415 | let buffer = ab.old_buffer.as_ref().unwrap_or(&ab.buffer); [INFO] [stdout] ... [INFO] [stdout] 477 | } [INFO] [stdout] 478 ~ } _ => { [INFO] [stdout] 479 | debug_assert!(self.pending_values.is_empty()); [INFO] [stdout] 480 | debug_assert!(self.extra_pending_values.is_empty()); [INFO] [stdout] 481 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/buffer_table.rs:517:12 [INFO] [stdout] | [INFO] [stdout] 517 | if let Some(old_buffer) = ab.old_buffer.as_ref() { [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/render/buffer_table.rs:520:9 [INFO] [stdout] | [INFO] [stdout] 520 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 517 ~ match ab.old_buffer.as_ref() { Some(old_buffer) => { [INFO] [stdout] 518 | trace!("Copy old buffer id {:?} of size {} bytes into newly-allocated buffer {:?} of size {} bytes.", old_buffer.id(), ab.old_size, ab.buffer.id(), ab.size); [INFO] [stdout] 519 | encoder.copy_buffer_to_buffer(old_buffer, 0, &ab.buffer, 0, ab.old_size as u64); [INFO] [stdout] 520 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/effect_cache.rs:849:16 [INFO] [stdout] | [INFO] [stdout] 849 | if let Some(effect_buffer) = &self.buffers[indices.buffer_index as usize] { [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/render/effect_cache.rs:851:13 [INFO] [stdout] | [INFO] [stdout] 851 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 849 ~ match &self.buffers[indices.buffer_index as usize] { Some(effect_buffer) => { [INFO] [stdout] 850 | return effect_buffer.sim_bind_group(); [INFO] [stdout] 851 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/effect_cache.rs:863:12 [INFO] [stdout] | [INFO] [stdout] 863 | if let Some(cached_effect_indices) = self.effects.get(&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/render/effect_cache.rs:869:9 [INFO] [stdout] | [INFO] [stdout] 869 | } 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] 863 ~ match self.effects.get(&id) { Some(cached_effect_indices) => { [INFO] [stdout] 864 | if let Some(buffer) = &self.buffers[cached_effect_indices.buffer_index as usize] { [INFO] [stdout] ... [INFO] [stdout] 868 | } [INFO] [stdout] 869 ~ } _ => { [INFO] [stdout] 870 | None [INFO] [stdout] 871 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/effect_cache.rs:864:16 [INFO] [stdout] | [INFO] [stdout] 864 | if let Some(buffer) = &self.buffers[cached_effect_indices.buffer_index as usize] { [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/render/effect_cache.rs:866:13 [INFO] [stdout] | [INFO] [stdout] 866 | } 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] 864 ~ match &self.buffers[cached_effect_indices.buffer_index as usize] { Some(buffer) => { [INFO] [stdout] 865 | buffer.properties_buffer() [INFO] [stdout] 866 ~ } _ => { [INFO] [stdout] 867 | None [INFO] [stdout] 868 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/shader_cache.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(handle) = self.cache.get(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/render/shader_cache.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | } 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] 37 ~ match self.cache.get(source) { Some(handle) => { [INFO] [stdout] 38 | handle.clone() [INFO] [stdout] 39 ~ } _ => { [INFO] [stdout] 40 | let mut hasher = bevy::utils::AHasher::default(); [INFO] [stdout] ... [INFO] [stdout] 56 | handle [INFO] [stdout] 57 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Migrating gpu_tests/empty_effect.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `bevy_hanabi` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/modifier/mod.rs [INFO] [stderr] * src/test_utils.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[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/modifier/mod.rs:558:13 [INFO] [stderr] | [INFO] [stderr] 558 | ($t:ty, $attrs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/test_utils.rs:99:6 [INFO] [stderr] | [INFO] [stderr] 99 | ($left:expr_2021, $right:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/test_utils.rs:99:23 [INFO] [stderr] | [INFO] [stderr] 99 | ($left:expr_2021, $right:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/test_utils.rs:112:6 [INFO] [stderr] | [INFO] [stderr] 112 | ($left:expr_2021, $right:expr_2021, $tol:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/test_utils.rs:112:23 [INFO] [stderr] | [INFO] [stderr] 112 | ($left:expr_2021, $right:expr_2021, $tol:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gradient.rs:694:34 [INFO] [stdout] | [INFO] [stdout] 694 | return vec![(0., rng.gen().into())]; [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] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/test_utils.rs:112:41 [INFO] [stderr] | [INFO] [stderr] 112 | ($left:expr_2021, $right:expr_2021, $tol:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/gradient.rs:698:58 [INFO] [stdout] | [INFO] [stdout] 698 | ret.push((i as f32 / (count - 1) as f32, rng.gen().into())); [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] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/modifier/mod.rs:558:20 [INFO] [stdout] | [INFO] [stdout] 558 | ($t:ty, $attrs:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 558 | ($t:ty, $attrs:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/test_utils.rs:99:12 [INFO] [stdout] | [INFO] [stdout] 99 | ($left:expr, $right:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 99 | ($left:expr_2021, $right:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/test_utils.rs:99:25 [INFO] [stdout] | [INFO] [stdout] 99 | ($left:expr, $right:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 99 | ($left:expr, $right:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/test_utils.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | ($left:expr, $right:expr, $tol:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 112 | ($left:expr_2021, $right:expr, $tol:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/test_utils.rs:112:25 [INFO] [stdout] | [INFO] [stdout] 112 | ($left:expr, $right:expr, $tol:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 112 | ($left:expr, $right:expr_2021, $tol:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/test_utils.rs:112:36 [INFO] [stdout] | [INFO] [stdout] 112 | ($left:expr, $right:expr, $tol:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 112 | ($left:expr, $right:expr, $tol:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::num::NonZero::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/graph/expr.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | id: NonZeroU32::new_unchecked(id as u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/graph/expr.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | unsafe fn new_unchecked(id: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::num::NonZero::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/graph/expr.rs:188:17 [INFO] [stdout] | [INFO] [stdout] 188 | id: NonZeroU32::new_unchecked(id as u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/graph/expr.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | unsafe fn new_unchecked(id: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:828:20 [INFO] [stdout] | [INFO] [stdout] 828 | if let Err(err) = m.apply(&mut module, &mut init_context) { [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/lib.rs:831:17 [INFO] [stdout] | [INFO] [stdout] 831 | } [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] 828 ~ match m.apply(&mut module, &mut init_context) { Err(err) => { [INFO] [stdout] 829 | error!("Failed to compile effect, error in init context: {:?}", err); [INFO] [stdout] 830 | return Err(ShaderGenerateError::Expr(err)); [INFO] [stdout] 831 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:890:24 [INFO] [stdout] | [INFO] [stdout] 890 | if let Err(err) = m.apply(&mut module, &mut update_context) { [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/lib.rs:896:21 [INFO] [stdout] | [INFO] [stdout] 896 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 890 ~ match m.apply(&mut module, &mut update_context) { Err(err) => { [INFO] [stdout] 891 | error!( [INFO] [stdout] ... [INFO] [stdout] 895 | return Err(ShaderGenerateError::Expr(err)); [INFO] [stdout] 896 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:969:24 [INFO] [stdout] | [INFO] [stdout] 969 | if let Some(grid_size) = render_context.sprite_grid_size { [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/lib.rs:977:21 [INFO] [stdout] | [INFO] [stdout] 977 | } 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] 969 ~ match render_context.sprite_grid_size { Some(grid_size) => { [INFO] [stdout] 970 | layout_flags |= LayoutFlags::FLIPBOOK; [INFO] [stdout] ... [INFO] [stdout] 976 | (flipbook_scale_code, flipbook_row_count_code) [INFO] [stdout] 977 ~ } _ => { [INFO] [stdout] 978 | (String::new(), String::new()) [INFO] [stdout] 979 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modifier/mod.rs:304:12 [INFO] [stdout] | [INFO] [stdout] 304 | if let Some(s) = self.expr_cache.get(&handle) { [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/modifier/mod.rs:306:9 [INFO] [stdout] | [INFO] [stdout] 306 | } 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] 304 ~ match self.expr_cache.get(&handle) { Some(s) => { [INFO] [stdout] 305 | Ok(s.clone()) [INFO] [stdout] 306 ~ } _ => { [INFO] [stdout] 307 | module.try_get(handle)?.eval(module, self).map(|s| { [INFO] [stdout] ... [INFO] [stdout] 310 | }) [INFO] [stdout] 311 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/modifier/mod.rs:480:12 [INFO] [stdout] | [INFO] [stdout] 480 | if let Some(s) = self.expr_cache.get(&handle) { [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/modifier/mod.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | } 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] 480 ~ match self.expr_cache.get(&handle) { Some(s) => { [INFO] [stdout] 481 | Ok(s.clone()) [INFO] [stdout] 482 ~ } _ => { [INFO] [stdout] 483 | module.try_get(handle)?.eval(module, self).map(|s| { [INFO] [stdout] ... [INFO] [stdout] 486 | }) [INFO] [stdout] 487 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/mod.rs:1849:16 [INFO] [stdout] | [INFO] [stdout] 1849 | if let Some(entry) = self.entity_map.remove(entity) { [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/render/mod.rs:1891:13 [INFO] [stdout] | [INFO] [stdout] 1891 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1849 ~ match self.entity_map.remove(entity) { Some(entry) => { [INFO] [stdout] 1850 | trace!( [INFO] [stdout] ... [INFO] [stdout] 1890 | } [INFO] [stdout] 1891 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/mod.rs:2270:16 [INFO] [stdout] | [INFO] [stdout] 2270 | if let Some(property_buffer) = input.property_buffer.as_ref() { [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/render/mod.rs:2273:13 [INFO] [stdout] | [INFO] [stdout] 2273 | } 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] 2270 ~ match input.property_buffer.as_ref() { Some(property_buffer) => { [INFO] [stdout] 2271 | trace!("Scheduled property upload to GPU"); [INFO] [stdout] 2272 | render_queue.write_buffer(property_buffer, 0, property_data); [INFO] [stdout] 2273 ~ } _ => { [INFO] [stdout] 2274 | error!("Cannot upload properties to GPU, no property buffer!"); [INFO] [stdout] 2275 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/mod.rs:3271:20 [INFO] [stdout] | [INFO] [stdout] 3271 | if let Some(gpu_image) = gpu_images.get(&effect_batches.image_handle) { [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/render/mod.rs:3289:17 [INFO] [stdout] | [INFO] [stdout] 3289 | } 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] 3271 ~ match gpu_images.get(&effect_batches.image_handle) { Some(gpu_image) => { [INFO] [stdout] 3272 | let bind_group = render_device.create_bind_group( [INFO] [stdout] ... [INFO] [stdout] 3288 | .insert(effect_batches.image_handle.id(), bind_group); [INFO] [stdout] 3289 ~ } _ => { [INFO] [stdout] 3290 | // Texture is not ready; skip for now... [INFO] [stdout] 3291 | trace!("GPU image not yet available; skipping batch for now."); [INFO] [stdout] 3292 | continue; [INFO] [stdout] 3293 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/mod.rs:3404:12 [INFO] [stdout] | [INFO] [stdout] 3404 | if let Some(bind_group) = effect_bind_groups [INFO] [stdout] | _____________^ - [INFO] [stdout] | | ___________________________________| [INFO] [stdout] 3405 | || .images [INFO] [stdout] | ||___________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 3406 | | .get(&effect_batches.image_handle.id()) [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/render/mod.rs:3409:9 [INFO] [stdout] | [INFO] [stdout] 3409 | } 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] 3404 ~ match effect_bind_groups [INFO] [stdout] 3405 | .images [INFO] [stdout] 3406 | .get(&effect_batches.image_handle.id()) [INFO] [stdout] 3407 ~ { Some(bind_group) => { [INFO] [stdout] 3408 | pass.set_bind_group(2, bind_group, &[]); [INFO] [stdout] 3409 ~ } _ => { [INFO] [stdout] 3410 | // Texture not ready; skip this drawing for now [INFO] [stdout] ... [INFO] [stdout] 3415 | return; // continue; [INFO] [stdout] 3416 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/mod.rs:3750:16 [INFO] [stdout] | [INFO] [stdout] 3750 | if let Some(indirect_dispatch_pipeline) = &effects_meta.indirect_dispatch_pipeline { [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/render/mod.rs:3782:13 [INFO] [stdout] | [INFO] [stdout] 3782 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 3750 ~ match &effects_meta.indirect_dispatch_pipeline { Some(indirect_dispatch_pipeline) => { [INFO] [stdout] 3751 | trace!("record commands for indirect dispatch pipeline..."); [INFO] [stdout] ... [INFO] [stdout] 3781 | ); [INFO] [stdout] 3782 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/buffer_table.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 259 | if let Some(ab) = self.buffer.as_mut() { [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/render/buffer_table.rs:262:9 [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] 259 ~ match self.buffer.as_mut() { Some(ab) => { [INFO] [stdout] 260 | ab.old_buffer = None; [INFO] [stdout] 261 | ab.old_size = 0; [INFO] [stdout] 262 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/buffer_table.rs:383:16 [INFO] [stdout] | [INFO] [stdout] 383 | if let Some(ab) = self.buffer.as_mut() { [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/render/buffer_table.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | } 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] 383 ~ match self.buffer.as_mut() { Some(ab) => { [INFO] [stdout] 384 | // If there's any data currently in the GPU buffer, we need to copy it on next [INFO] [stdout] ... [INFO] [stdout] 391 | ab.size = size; [INFO] [stdout] 392 ~ } _ => { [INFO] [stdout] 393 | self.buffer = Some(AllocatedBuffer { [INFO] [stdout] ... [INFO] [stdout] 398 | }); [INFO] [stdout] 399 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/buffer_table.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some(ab) = self.buffer.as_ref() { [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/render/buffer_table.rs:478:9 [INFO] [stdout] | [INFO] [stdout] 478 | } 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] 414 ~ match self.buffer.as_ref() { Some(ab) => { [INFO] [stdout] 415 | let buffer = ab.old_buffer.as_ref().unwrap_or(&ab.buffer); [INFO] [stdout] ... [INFO] [stdout] 477 | } [INFO] [stdout] 478 ~ } _ => { [INFO] [stdout] 479 | debug_assert!(self.pending_values.is_empty()); [INFO] [stdout] 480 | debug_assert!(self.extra_pending_values.is_empty()); [INFO] [stdout] 481 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/buffer_table.rs:517:12 [INFO] [stdout] | [INFO] [stdout] 517 | if let Some(old_buffer) = ab.old_buffer.as_ref() { [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/render/buffer_table.rs:520:9 [INFO] [stdout] | [INFO] [stdout] 520 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 517 ~ match ab.old_buffer.as_ref() { Some(old_buffer) => { [INFO] [stdout] 518 | trace!("Copy old buffer id {:?} of size {} bytes into newly-allocated buffer {:?} of size {} bytes.", old_buffer.id(), ab.old_size, ab.buffer.id(), ab.size); [INFO] [stdout] 519 | encoder.copy_buffer_to_buffer(old_buffer, 0, &ab.buffer, 0, ab.old_size as u64); [INFO] [stdout] 520 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/effect_cache.rs:849:16 [INFO] [stdout] | [INFO] [stdout] 849 | if let Some(effect_buffer) = &self.buffers[indices.buffer_index as usize] { [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/render/effect_cache.rs:851:13 [INFO] [stdout] | [INFO] [stdout] 851 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 849 ~ match &self.buffers[indices.buffer_index as usize] { Some(effect_buffer) => { [INFO] [stdout] 850 | return effect_buffer.sim_bind_group(); [INFO] [stdout] 851 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/effect_cache.rs:863:12 [INFO] [stdout] | [INFO] [stdout] 863 | if let Some(cached_effect_indices) = self.effects.get(&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/render/effect_cache.rs:869:9 [INFO] [stdout] | [INFO] [stdout] 869 | } 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] 863 ~ match self.effects.get(&id) { Some(cached_effect_indices) => { [INFO] [stdout] 864 | if let Some(buffer) = &self.buffers[cached_effect_indices.buffer_index as usize] { [INFO] [stdout] ... [INFO] [stdout] 868 | } [INFO] [stdout] 869 ~ } _ => { [INFO] [stdout] 870 | None [INFO] [stdout] 871 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/effect_cache.rs:864:16 [INFO] [stdout] | [INFO] [stdout] 864 | if let Some(buffer) = &self.buffers[cached_effect_indices.buffer_index as usize] { [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/render/effect_cache.rs:866:13 [INFO] [stdout] | [INFO] [stdout] 866 | } 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] 864 ~ match &self.buffers[cached_effect_indices.buffer_index as usize] { Some(buffer) => { [INFO] [stdout] 865 | buffer.properties_buffer() [INFO] [stdout] 866 ~ } _ => { [INFO] [stdout] 867 | None [INFO] [stdout] 868 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/shader_cache.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if let Some(handle) = self.cache.get(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/render/shader_cache.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | } 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] 37 ~ match self.cache.get(source) { Some(handle) => { [INFO] [stdout] 38 | handle.clone() [INFO] [stdout] 39 ~ } _ => { [INFO] [stdout] 40 | let mut hasher = bevy::utils::AHasher::default(); [INFO] [stdout] ... [INFO] [stdout] 56 | handle [INFO] [stdout] 57 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 03s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking bevy_hanabi v0.12.2 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gradient.rs:698:58 [INFO] [stdout] | [INFO] [stdout] 698 | ret.push((i as f32 / (count - 1) as f32, rng.gen().into())); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 698 | ret.push((i as f32 / (count - 1) as f32, rng.r#gen().into())); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gradient.rs:698:58 [INFO] [stdout] | [INFO] [stdout] 698 | ret.push((i as f32 / (count - 1) as f32, rng.gen().into())); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 698 | ret.push((i as f32 / (count - 1) as f32, rng.r#gen().into())); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/gradient.rs:694:34 [INFO] [stdout] | [INFO] [stdout] 694 | return vec![(0., rng.gen().into())]; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 694 | return vec![(0., rng.r#gen().into())]; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::num::NonZero::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/graph/expr.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | id: NonZeroU32::new_unchecked(id as u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/graph/expr.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | unsafe fn new_unchecked(id: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | warnings, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: `#[deny(unsafe_op_in_unsafe_fn)]` implied by `#[deny(warnings)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::num::NonZero::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/graph/expr.rs:188:17 [INFO] [stdout] | [INFO] [stdout] 188 | id: NonZeroU32::new_unchecked(id as u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/graph/expr.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | unsafe fn new_unchecked(id: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::num::NonZero::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/graph/expr.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | id: NonZeroU32::new_unchecked(id as u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/graph/expr.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | unsafe fn new_unchecked(id: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | warnings, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] = note: `#[deny(unsafe_op_in_unsafe_fn)]` implied by `#[deny(warnings)]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `std::num::NonZero::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/graph/expr.rs:188:17 [INFO] [stdout] | [INFO] [stdout] 188 | id: NonZeroU32::new_unchecked(id as u32), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/graph/expr.rs:185:5 [INFO] [stdout] | [INFO] [stdout] 185 | unsafe fn new_unchecked(id: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `bevy_hanabi` (lib) due to 4 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 4 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `bevy_hanabi` (lib test) due to 5 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" "49c3974f0c1fd6ec2efedcc410ee59294efb2fffd15fc7f951f4c44ca1b93ece", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "49c3974f0c1fd6ec2efedcc410ee59294efb2fffd15fc7f951f4c44ca1b93ece", kill_on_drop: false }` [INFO] [stdout] 49c3974f0c1fd6ec2efedcc410ee59294efb2fffd15fc7f951f4c44ca1b93ece