[INFO] fetching crate lightyear 0.17.1... [INFO] checking lightyear-0.17.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate lightyear 0.17.1 into /workspace/builds/worker-4-tc2/source [INFO] validating manifest of crates.io crate lightyear 0.17.1 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 lightyear 0.17.1 [INFO] finished tweaking crates.io crate lightyear 0.17.1 [INFO] tweaked toml for crates.io crate lightyear 0.17.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 553 packages to latest compatible versions [INFO] [stderr] Adding accesskit v0.14.0 (available: v0.16.1) [INFO] [stderr] Adding accesskit_consumer v0.22.0 (available: v0.24.1) [INFO] [stderr] Adding accesskit_macos v0.15.0 (available: v0.17.1) [INFO] [stderr] Adding accesskit_windows v0.20.0 (available: v0.23.0) [INFO] [stderr] Adding accesskit_winit v0.20.4 (available: v0.22.1) [INFO] [stderr] Adding ash v0.37.3+1.3.251 (available: v0.38.0+1.3.281) [INFO] [stderr] Adding async-broadcast v0.5.1 (available: v0.7.1) [INFO] [stderr] Adding base64 v0.21.7 (available: v0.22.1) [INFO] [stderr] Adding bit-set v0.5.3 (available: v0.8.0) [INFO] [stderr] Adding bit-vec v0.6.3 (available: v0.8.0) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding calloop v0.13.0 (available: v0.14.1) [INFO] [stderr] Adding cfg_aliases v0.1.1 (available: v0.2.1) [INFO] [stderr] Adding chrono v0.4.34 (available: v0.4.38) [INFO] [stderr] Adding convert_case v0.4.0 (available: v0.6.0) [INFO] [stderr] Adding core-foundation v0.9.4 (available: v0.10.0) [INFO] [stderr] Adding core-graphics v0.23.2 (available: v0.24.0) [INFO] [stderr] Adding core-graphics-types v0.1.3 (available: v0.2.0) [INFO] [stderr] Adding d3d12 v0.20.0 (available: v22.0.0) [INFO] [stderr] Adding dashmap v5.5.3 (available: v6.1.0) [INFO] [stderr] Adding derive_more v0.99.18 (available: v1.0.0) [INFO] [stderr] Adding encase v0.8.0 (available: v0.10.0) [INFO] [stderr] Adding encase_derive v0.8.0 (available: v0.10.0) [INFO] [stderr] Adding encase_derive_impl v0.8.0 (available: v0.10.0) [INFO] [stderr] Adding endian-type v0.1.2 (available: v0.2.0) [INFO] [stderr] Adding event-listener v2.5.3 (available: v5.3.1) [INFO] [stderr] Adding fixedbitset v0.4.2 (available: v0.5.7) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding gilrs v0.10.10 (available: v0.11.0) [INFO] [stderr] Adding gilrs-core v0.5.15 (available: v0.6.0) [INFO] [stderr] Adding glam v0.27.0 (available: v0.29.0) [INFO] [stderr] Adding glow v0.13.1 (available: v0.14.1) [INFO] [stderr] Adding glutin_wgl_sys v0.5.0 (available: v0.6.0) [INFO] [stderr] Adding gpu-allocator v0.25.0 (available: v0.27.0) [INFO] [stderr] Adding grid v0.14.0 (available: v0.15.0) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [INFO] [stderr] Adding hashbrown v0.13.1 (available: v0.13.2) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding hexasphere v12.0.0 (available: v15.0.0) [INFO] [stderr] Adding idna v0.5.0 (available: v1.0.2) [INFO] [stderr] Adding indexmap v1.9.3 (available: v2.5.0) [INFO] [stderr] Adding inotify v0.10.2 (available: v0.11.0) [INFO] [stderr] Adding jni-sys v0.3.0 (available: v0.4.0) [INFO] [stderr] Adding libloading v0.7.4 (available: v0.8.5) [INFO] [stderr] Adding libredox v0.0.2 (available: v0.1.3) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding malloc_buf v0.0.6 (available: v1.0.0) [INFO] [stderr] Adding matchers v0.1.0 (available: v0.2.0) [INFO] [stderr] Adding metal v0.28.0 (available: v0.29.0) [INFO] [stderr] Adding metrics v0.21.1 (available: v0.23.0) [INFO] [stderr] Adding metrics v0.22.3 (available: v0.23.0) [INFO] [stderr] Adding metrics-tracing-context v0.15.0 (available: v0.16.0) [INFO] [stderr] Adding metrics-util v0.15.1 (available: v0.17.0) [INFO] [stderr] Adding metrics-util v0.16.3 (available: v0.17.0) [INFO] [stderr] Adding mock_instant v0.4.0 (available: v0.5.1) [INFO] [stderr] Adding naga v0.20.0 (available: v22.1.0) [INFO] [stderr] Adding naga_oil v0.14.0 (available: v0.15.0) [INFO] [stderr] Adding ndk-sys v0.5.0+25.2.9519653 (available: v0.6.0+11769913) [INFO] [stderr] Adding nu-ansi-term v0.46.0 (available: v0.50.1) [INFO] [stderr] Adding ordered-float v3.9.2 (available: v4.3.0) [INFO] [stderr] Adding quanta v0.11.1 (available: v0.12.3) [INFO] [stderr] Adding quinn v0.10.2 (available: v0.11.5) [INFO] [stderr] Adding quinn-proto v0.10.6 (available: v0.11.8) [INFO] [stderr] Adding quinn-udp v0.4.1 (available: v0.5.5) [INFO] [stderr] Adding radium v0.7.0 (available: v1.1.0) [INFO] [stderr] Adding raw-cpuid v10.7.0 (available: v11.1.0) [INFO] [stderr] Adding redox_syscall v0.4.1 (available: v0.5.6) [INFO] [stderr] Adding regex-automata v0.1.10 (available: v0.4.7) [INFO] [stderr] Adding regex-syntax v0.6.29 (available: v0.8.4) [INFO] [stderr] Adding ring v0.16.20 (available: v0.17.8) [INFO] [stderr] Adding rustc-hash v1.1.0 (available: v2.0.0) [INFO] [stderr] Adding rustls v0.21.12 (available: v0.23.13) [INFO] [stderr] Adding rustls-native-certs v0.6.3 (available: v0.8.0) [INFO] [stderr] Adding rustls-native-certs v0.7.3 (available: v0.8.0) [INFO] [stderr] Adding rustls-pemfile v1.0.4 (available: v2.1.3) [INFO] [stderr] Adding rustls-webpki v0.101.7 (available: v0.102.8) [INFO] [stderr] Adding security-framework v2.11.1 (available: v3.0.0) [INFO] [stderr] Adding sketches-ddsketch v0.2.2 (available: v0.3.0) [INFO] [stderr] Adding smol_str v0.2.2 (available: v0.3.1) [INFO] [stderr] Adding spin v0.5.2 (available: v0.9.8) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding tokio-tungstenite v0.23.1 (available: v0.24.0) [INFO] [stderr] Adding tungstenite v0.23.0 (available: v0.24.0) [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [INFO] [stderr] Adding untrusted v0.7.1 (available: v0.9.0) [INFO] [stderr] Adding virtue v0.0.13 (available: v0.0.17) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding wgpu v0.20.1 (available: v22.1.0) [INFO] [stderr] Adding wgpu-core v0.21.1 (available: v22.1.0) [INFO] [stderr] Adding wgpu-hal v0.21.1 (available: v22.0.0) [INFO] [stderr] Adding wgpu-types v0.20.0 (available: v22.0.0) [INFO] [stderr] Adding windows v0.52.0 (available: v0.58.0) [INFO] [stderr] Adding windows v0.54.0 (available: v0.58.0) [INFO] [stderr] Adding windows-core v0.52.0 (available: v0.58.0) [INFO] [stderr] Adding windows-core v0.54.0 (available: v0.58.0) [INFO] [stderr] Adding windows-implement v0.53.0 (available: v0.58.0) [INFO] [stderr] Adding windows-interface v0.53.0 (available: v0.58.0) [INFO] [stderr] Adding windows-result v0.1.2 (available: v0.2.0) [INFO] [stderr] Adding windows-strings v0.1.0 (available: v0.2.0) [INFO] [stderr] Adding windows-sys v0.45.0 (available: v0.59.0) [INFO] [stderr] Adding windows-sys v0.48.0 (available: v0.59.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding windows-targets v0.42.2 (available: v0.52.6) [INFO] [stderr] Adding windows-targets v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_gnullvm v0.42.2 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_msvc v0.42.2 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_gnu v0.42.2 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_msvc v0.42.2 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnu v0.42.2 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnullvm v0.42.2 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_msvc v0.42.2 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding wtransport v0.1.14 (available: v0.3.1) [INFO] [stderr] Adding wtransport-proto v0.1.14 (available: v0.3.1) [INFO] [stderr] Adding wyz v0.5.1 (available: v0.6.1) [INFO] [stderr] Adding xwt-web-sys v0.12.0 (available: v0.13.0) [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-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] d0e95399afc591ec79ce50ae940d3b34c4ae858f80d1df3f3a1af9ff3e1967a2 [INFO] running `Command { std: "docker" "start" "-a" "d0e95399afc591ec79ce50ae940d3b34c4ae858f80d1df3f3a1af9ff3e1967a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d0e95399afc591ec79ce50ae940d3b34c4ae858f80d1df3f3a1af9ff3e1967a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d0e95399afc591ec79ce50ae940d3b34c4ae858f80d1df3f3a1af9ff3e1967a2", kill_on_drop: false }` [INFO] [stdout] d0e95399afc591ec79ce50ae940d3b34c4ae858f80d1df3f3a1af9ff3e1967a2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] b1a1edf3285be3e7af7f7e9e88a9aae89796fbfc421f52aa3502097bcace5f03 [INFO] running `Command { std: "docker" "start" "-a" "b1a1edf3285be3e7af7f7e9e88a9aae89796fbfc421f52aa3502097bcace5f03", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (4 fixes) [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling winnow v0.6.20 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Compiling typeid v1.0.2 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Compiling indexmap v2.5.0 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Compiling uuid v1.10.0 [INFO] [stderr] Checking bytemuck v1.18.0 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Checking event-listener v5.3.1 [INFO] [stderr] Checking web-time v1.1.0 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking bevy_ptr v0.14.2 [INFO] [stderr] Checking futures-lite v2.3.0 [INFO] [stderr] Checking async-task v4.7.1 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Checking event-listener-strategy v0.5.2 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking nonmax v0.5.5 [INFO] [stderr] Checking async-channel v2.3.1 [INFO] [stderr] Checking fixedbitset v0.5.7 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.93 [INFO] [stderr] Compiling bumpalo v3.16.0 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking async-executor v1.13.1 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Compiling wasm-bindgen v0.2.93 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking bevy_tasks v0.14.2 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Compiling toml_edit v0.22.22 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking accesskit v0.14.0 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Compiling portable-atomic v1.8.0 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking const-fnv1a-hash v1.1.0 [INFO] [stderr] Checking cpufeatures v0.2.14 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Checking universal-hash v0.5.1 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking raw-cpuid v11.1.0 [INFO] [stderr] Compiling virtue v0.0.13 [INFO] [stderr] Checking opaque-debug v0.3.1 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking poly1305 v0.8.0 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Compiling bincode_derive v2.0.0-rc.3 [INFO] [stderr] Checking chacha20 v0.9.1 [INFO] [stderr] Checking aead v0.5.2 [INFO] [stderr] Compiling bevy_macro_utils v0.14.2 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.93 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking quanta v0.12.3 [INFO] [stderr] Checking spinning_top v0.3.0 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Checking nonzero_ext v0.3.0 [INFO] [stderr] Checking futures-timer v3.0.3 [INFO] [stderr] Checking no-std-compat v0.4.1 [INFO] [stderr] Checking wyz v0.5.1 [INFO] [stderr] Checking chrono v0.4.34 [INFO] [stderr] Checking chacha20poly1305 v0.10.1 [INFO] [stderr] Checking seahash v4.1.0 [INFO] [stderr] Checking funty v2.0.0 [INFO] [stderr] Checking self_cell v1.0.4 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking ringbuffer v0.15.0 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking mock_instant v0.5.1 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.93 [INFO] [stderr] Checking bitvec v1.0.1 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling bevy_utils_proc_macros v0.14.2 [INFO] [stderr] Compiling bevy_reflect_derive v0.14.2 [INFO] [stderr] Compiling bevy_ecs_macros v0.14.2 [INFO] [stderr] Compiling bevy_derive v0.14.2 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.93 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Compiling bevy_state_macros v0.14.2 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking js-sys v0.3.70 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking console_error_panic_hook v0.1.7 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.43 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Compiling enum_dispatch v0.3.13 [INFO] [stderr] Checking async-compat v0.2.4 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.43 [INFO] [stderr] Checking wasm-bindgen-test v0.3.43 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Checking glam v0.27.0 [INFO] [stderr] Checking erased-serde v0.4.5 [INFO] [stderr] Checking bytes v1.7.2 [INFO] [stderr] Checking bincode v2.0.0-rc.3 [INFO] [stderr] Compiling lightyear_macros v0.17.1 [INFO] [stderr] Checking bevy_utils v0.14.2 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking governor v0.6.3 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking bevy_reflect v0.14.2 [INFO] [stderr] Checking bevy_ecs v0.14.2 [INFO] [stderr] Checking bevy_math v0.14.2 [INFO] [stderr] Checking bevy_app v0.14.2 [INFO] [stderr] Checking bevy_core v0.14.2 [INFO] [stderr] Checking bevy_a11y v0.14.2 [INFO] [stderr] Checking bevy_time v0.14.2 [INFO] [stderr] Checking bevy_input v0.14.2 [INFO] [stderr] Checking bevy_log v0.14.2 [INFO] [stderr] Checking bevy_window v0.14.2 [INFO] [stderr] Checking bevy_hierarchy v0.14.2 [INFO] [stderr] Checking bevy_state v0.14.2 [INFO] [stderr] Checking bevy_transform v0.14.2 [INFO] [stderr] Checking bevy_diagnostic v0.14.2 [INFO] [stderr] Checking bevy_internal v0.14.2 [INFO] [stderr] Checking bevy v0.14.2 [INFO] [stderr] Checking lightyear v0.17.1 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `lightyear` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/protocol/serialize.rs [INFO] [stderr] * src/shared/events/connection.rs [INFO] [stderr] * src/transport/io.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/transport/io.rs:42:38 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn split(&mut self) -> (&mut impl PacketSender + use, &mut impl PacketReceiver + use) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 42 | pub fn split(&mut self) -> (&mut (impl PacketSender + use), &mut impl PacketReceiver + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/transport/io.rs:42:71 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn split(&mut self) -> (&mut impl PacketSender + use, &mut impl PacketReceiver + use) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 42 | pub fn split(&mut self) -> (&mut impl PacketSender + use, &mut (impl PacketReceiver + use)) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/shared/events/connection.rs:247:51 [INFO] [stderr] | [INFO] [stderr] 244 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] ... [INFO] [stderr] 247 | ) -> Box + '_>; [INFO] [stderr] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/shared/events/connection.rs:255:50 [INFO] [stderr] | [INFO] [stderr] 252 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] ... [INFO] [stderr] 255 | ) -> Box + '_> { [INFO] [stderr] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/protocol/serialize.rs:243:19 [INFO] [stderr] | [INFO] [stderr] 242 | ) -> Result<(), SerializationError> { unsafe { [INFO] [stderr] | ------ because it's nested under this `unsafe` block [INFO] [stderr] 243 | let fns = unsafe { self.typed::() }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/protocol/serialize.rs:267:19 [INFO] [stderr] | [INFO] [stderr] 266 | ) -> Result { unsafe { [INFO] [stderr] | ------ because it's nested under this `unsafe` block [INFO] [stderr] 267 | let fns = unsafe { self.typed::() }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 4 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/shared/time_manager.rs:231:17 [INFO] [stdout] | [INFO] [stdout] 231 | let gen = (self.elapsed.as_nanos() / period.as_nanos()) as u16; [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/shared/time_manager.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | gen.saturating_add(1) [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/shared/time_manager.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | gen.saturating_sub(1) [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/shared/time_manager.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | 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] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/client/prediction/rollback.rs:13:29 [INFO] [stdout] | [INFO] [stdout] 13 | use tracing::{debug, error, info, trace, trace_span}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/shared/events/connection.rs:247:51 [INFO] [stdout] | [INFO] [stdout] 244 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 247 | ) -> Box + '_>; [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/shared/events/connection.rs:255:50 [INFO] [stdout] | [INFO] [stdout] 252 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 255 | ) -> Box + '_> { [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:716:16 [INFO] [stdout] | [INFO] [stdout] 716 | Ok((delta_fns.clone)(data)) [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/protocol/component.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | / pub(crate) unsafe fn erased_clone( [INFO] [stdout] 708 | | &self, [INFO] [stdout] 709 | | data: Ptr, [INFO] [stdout] 710 | | kind: ComponentKind, [INFO] [stdout] 711 | | ) -> Result, ComponentError> { [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 is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:729:13 [INFO] [stdout] | [INFO] [stdout] 729 | (delta_fns.drop)(data); [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/protocol/component.rs:720:9 [INFO] [stdout] | [INFO] [stdout] 720 | / pub(crate) unsafe fn erased_drop( [INFO] [stdout] 721 | | &self, [INFO] [stdout] 722 | | data: NonNull, [INFO] [stdout] 723 | | kind: ComponentKind, [INFO] [stdout] 724 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:749:25 [INFO] [stdout] | [INFO] [stdout] 749 | let delta = (delta_fns.diff)(start_tick, start, new); [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/protocol/component.rs:734:9 [INFO] [stdout] | [INFO] [stdout] 734 | / pub(crate) unsafe fn serialize_diff( [INFO] [stdout] 735 | | &self, [INFO] [stdout] 736 | | start_tick: Tick, [INFO] [stdout] 737 | | start: Ptr, [INFO] [stdout] ... | [INFO] [stdout] 742 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 743 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:750:35 [INFO] [stdout] | [INFO] [stdout] 750 | self.erased_serialize(Ptr::new(delta), writer, delta_fns.delta_kind, entity_map)?; [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:752:13 [INFO] [stdout] | [INFO] [stdout] 752 | (delta_fns.drop_delta_message)(delta); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:769:25 [INFO] [stdout] | [INFO] [stdout] 769 | let delta = (delta_fns.diff_from_base)(component_data); [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/protocol/component.rs:757:9 [INFO] [stdout] | [INFO] [stdout] 757 | / pub(crate) unsafe fn serialize_diff_from_base_value( [INFO] [stdout] 758 | | &self, [INFO] [stdout] 759 | | component_data: Ptr, [INFO] [stdout] 760 | | writer: &mut Writer, [INFO] [stdout] ... | [INFO] [stdout] 763 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 764 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:770:35 [INFO] [stdout] | [INFO] [stdout] 770 | self.erased_serialize(Ptr::new(delta), writer, delta_fns.delta_kind, entity_map)?; [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:772:13 [INFO] [stdout] | [INFO] [stdout] 772 | (delta_fns.drop_delta_message)(delta); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | let cloned: C = data.deref::().clone(); [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/protocol/delta.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe fn erased_clone(data: Ptr) -> NonNull { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | let delta = C::diff(previous.deref::(), present.deref::()); [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/protocol/delta.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / unsafe fn erased_diff( [INFO] [stdout] 26 | | previous_tick: Tick, [INFO] [stdout] 27 | | previous: Ptr, [INFO] [stdout] 28 | | present: Ptr, [INFO] [stdout] 29 | | ) -> NonNull { [INFO] [stdout] | |________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:30:48 [INFO] [stdout] | [INFO] [stdout] 30 | let delta = C::diff(previous.deref::(), present.deref::()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:41:32 [INFO] [stdout] | [INFO] [stdout] 41 | let delta = C::diff(&base, other.deref::()); [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/protocol/delta.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe fn erased_base_diff(other: Ptr) -> NonNull { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | C::apply_diff(data.deref_mut::(), delta.deref::()); [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/protocol/delta.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | unsafe fn erased_apply_diff(data: PtrMut, delta: Ptr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:54:42 [INFO] [stdout] | [INFO] [stdout] 54 | C::apply_diff(data.deref_mut::(), delta.deref::()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let _ = Box::from_raw(data.cast::().as_ptr()); [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/protocol/delta.rs:57:1 [INFO] [stdout] | [INFO] [stdout] 57 | unsafe fn erased_drop(data: NonNull) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `protocol::serialize::ErasedSerializeFns::typed` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:71:31 [INFO] [stdout] | [INFO] [stdout] 71 | let typed_serialize_fns = erased_serialize_fn.typed::(); [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/protocol/serialize.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | / unsafe fn erased_serialize_fn( [INFO] [stdout] 66 | | erased_serialize_fn: &ErasedSerializeFns, [INFO] [stdout] 67 | | message: Ptr, [INFO] [stdout] 68 | | writer: &mut Writer, [INFO] [stdout] 69 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 70 | | ) -> Result<(), SerializationError> { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | message.deref::(), [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | std::mem::transmute(erased_serialize_fn.erased_clone.unwrap()), [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:84:23 [INFO] [stdout] | [INFO] [stdout] 84 | let message = message.deref::(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 130 | let message = message.deref_mut::(); [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/protocol/serialize.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | / unsafe fn erased_map_entities( [INFO] [stdout] 127 | | message: PtrMut, [INFO] [stdout] 128 | | entity_map: &mut EntityMap, [INFO] [stdout] 129 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:139:19 [INFO] [stdout] | [INFO] [stdout] 139 | let message = message.deref_mut::(); [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/protocol/serialize.rs:135:1 [INFO] [stdout] | [INFO] [stdout] 135 | / unsafe fn erased_send_map_entities( [INFO] [stdout] 136 | | message: PtrMut, [INFO] [stdout] 137 | | entity_map: &mut SendEntityMap, [INFO] [stdout] 138 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:148:19 [INFO] [stdout] | [INFO] [stdout] 148 | let message = message.deref_mut::(); [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/protocol/serialize.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / unsafe fn erased_receive_map_entities( [INFO] [stdout] 145 | | message: PtrMut, [INFO] [stdout] 146 | | entity_map: &mut ReceiveEntityMap, [INFO] [stdout] 147 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:250:17 [INFO] [stdout] | [INFO] [stdout] 250 | std::mem::transmute(self.erased_clone.unwrap()), [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/protocol/serialize.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | / pub(crate) unsafe fn serialize( [INFO] [stdout] 238 | | &self, [INFO] [stdout] 239 | | message: &M, [INFO] [stdout] 240 | | writer: &mut Writer, [INFO] [stdout] 241 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 242 | | ) -> Result<(), SerializationError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:270:13 [INFO] [stdout] | [INFO] [stdout] 270 | map_entities(PtrMut::from(&mut message), entity_map); [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/protocol/serialize.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 262 | / pub(crate) unsafe fn deserialize( [INFO] [stdout] 263 | | &self, [INFO] [stdout] 264 | | reader: &mut Reader, [INFO] [stdout] 265 | | entity_map: &mut ReceiveEntityMap, [INFO] [stdout] 266 | | ) -> Result { [INFO] [stdout] | |______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:117:26 [INFO] [stdout] | [INFO] [stdout] 117 | let column = table.get_column(component_id).unwrap_unchecked(); [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/shared/replication/archetypes.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | / pub(crate) unsafe fn get_erased_component<'w>( [INFO] [stdout] 109 | | table: &'w Table, [INFO] [stdout] 110 | | sparse_sets: &'w SparseSets, [INFO] [stdout] 111 | | entity: &ArchetypeEntity, [INFO] [stdout] 112 | | storage_type: StorageType, [INFO] [stdout] 113 | | component_id: ComponentId, [INFO] [stdout] 114 | | ) -> (Ptr<'w>, ComponentTicks) { [INFO] [stdout] | |______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ecs::storage::Column::get_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:118:29 [INFO] [stdout] | [INFO] [stdout] 118 | let component = column.get_data_unchecked(entity.table_row()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ecs::storage::Column::get_ticks_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | let ticks = column.get_ticks_unchecked(entity.table_row()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:124:30 [INFO] [stdout] | [INFO] [stdout] 124 | let sparse_set = sparse_sets.get(component_id).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:125:29 [INFO] [stdout] | [INFO] [stdout] 125 | let component = sparse_set.get(entity.id()).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:126:25 [INFO] [stdout] | [INFO] [stdout] 126 | let ticks = sparse_set.get_ticks(entity.id()).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::ManuallyDrop::::take` is unsafe and requires unsafe block [INFO] [stdout] --> src/utils/pool.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | ManuallyDrop::take(&mut self.data) [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/utils/pool.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 158 | unsafe fn take(&mut self) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/receivers/ordered_reliable.rs:58:24 [INFO] [stdout] | [INFO] [stdout] 58 | if let Some(res) = self.fragment_receiver.receive_fragment( [INFO] [stdout] | ________________________^ - [INFO] [stdout] | |________________________________________| [INFO] [stdout] 59 | || fragment, [INFO] [stdout] 60 | || message.remote_sent_tick, [INFO] [stdout] 61 | || None, [INFO] [stdout] 62 | || ) { [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] | [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/channel/receivers/ordered_reliable.rs:64:21 [INFO] [stdout] | [INFO] [stdout] 64 | } [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] 58 ~ match self.fragment_receiver.receive_fragment( [INFO] [stdout] 59 | fragment, [INFO] [stdout] 60 | message.remote_sent_tick, [INFO] [stdout] 61 | None, [INFO] [stdout] 62 ~ ) { Some(res) => { [INFO] [stdout] 63 | entry.insert(res); [INFO] [stdout] 64 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/receivers/sequenced_reliable.rs:64:24 [INFO] [stdout] | [INFO] [stdout] 64 | if let Some(res) = self.fragment_receiver.receive_fragment( [INFO] [stdout] | ________________________^ - [INFO] [stdout] | |________________________________________| [INFO] [stdout] 65 | || fragment, [INFO] [stdout] 66 | || message.remote_sent_tick, [INFO] [stdout] 67 | || None, [INFO] [stdout] 68 | || ) { [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] | [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/channel/receivers/sequenced_reliable.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match self.fragment_receiver.receive_fragment( [INFO] [stdout] 65 | fragment, [INFO] [stdout] 66 | message.remote_sent_tick, [INFO] [stdout] 67 | None, [INFO] [stdout] 68 ~ ) { Some(res) => { [INFO] [stdout] 69 | entry.insert(res); [INFO] [stdout] 70 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/receivers/sequenced_unreliable.rs:70:20 [INFO] [stdout] | [INFO] [stdout] 70 | if let Some(res) = self.fragment_receiver.receive_fragment( [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |____________________________________| [INFO] [stdout] 71 | || fragment, [INFO] [stdout] 72 | || message.remote_sent_tick, [INFO] [stdout] 73 | || Some(self.current_time), [INFO] [stdout] 74 | || ) { [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] | [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/channel/receivers/sequenced_unreliable.rs:76:17 [INFO] [stdout] | [INFO] [stdout] 76 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ match self.fragment_receiver.receive_fragment( [INFO] [stdout] 71 | fragment, [INFO] [stdout] 72 | message.remote_sent_tick, [INFO] [stdout] 73 | Some(self.current_time), [INFO] [stdout] 74 ~ ) { Some(res) => { [INFO] [stdout] 75 | self.recv_message_buffer.push_back(res); [INFO] [stdout] 76 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/receivers/unordered_reliable.rs:68:24 [INFO] [stdout] | [INFO] [stdout] 68 | if let Some(res) = self.fragment_receiver.receive_fragment( [INFO] [stdout] | ________________________^ - [INFO] [stdout] | |________________________________________| [INFO] [stdout] 69 | || fragment, [INFO] [stdout] 70 | || message.remote_sent_tick, [INFO] [stdout] 71 | || None, [INFO] [stdout] 72 | || ) { [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] | [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/channel/receivers/unordered_reliable.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 68 ~ match self.fragment_receiver.receive_fragment( [INFO] [stdout] 69 | fragment, [INFO] [stdout] 70 | message.remote_sent_tick, [INFO] [stdout] 71 | None, [INFO] [stdout] 72 ~ ) { Some(res) => { [INFO] [stdout] 73 | // receive the message if we haven't received it already [INFO] [stdout] ... [INFO] [stdout] 77 | } [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/receivers/unordered_unreliable.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | if let Some(data) = self.fragment_receiver.receive_fragment( [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |_____________________________________| [INFO] [stdout] 46 | || fragment, [INFO] [stdout] 47 | || message.remote_sent_tick, [INFO] [stdout] 48 | || Some(self.current_time), [INFO] [stdout] 49 | || ) { [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] | [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/channel/receivers/unordered_unreliable.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 45 ~ match self.fragment_receiver.receive_fragment( [INFO] [stdout] 46 | fragment, [INFO] [stdout] 47 | message.remote_sent_tick, [INFO] [stdout] 48 | Some(self.current_time), [INFO] [stdout] 49 ~ ) { Some(data) => { [INFO] [stdout] 50 | self.recv_message_buffer.push_back(data); [INFO] [stdout] 51 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/senders/reliable.rs:278:12 [INFO] [stdout] | [INFO] [stdout] 278 | if let Some(unacked_message) = self.unacked_messages.get_mut(&message_ack.message_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/channel/senders/reliable.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match self.unacked_messages.get_mut(&message_ack.message_id) { Some(unacked_message) => { [INFO] [stdout] 279 | trace!( [INFO] [stdout] ... [INFO] [stdout] 311 | } [INFO] [stdout] 312 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/connection.rs:395:23 [INFO] [stdout] | [INFO] [stdout] 395 | while let Some((tick, single_data)) = channel.receiver.read_message() { [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/client/connection.rs:461:17 [INFO] [stdout] | [INFO] [stdout] 461 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/input/native.rs:340:8 [INFO] [stdout] | [INFO] [stdout] 340 | if let NetClientDispatch::Local(client) = &client.client { [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/client/input/native.rs:345:5 [INFO] [stdout] | [INFO] [stdout] 345 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 340 ~ match &client.client { NetClientDispatch::Local(client) => { [INFO] [stdout] 341 | let tick = tick_manager.tick(); [INFO] [stdout] ... [INFO] [stdout] 344 | server_input_events.send(event); [INFO] [stdout] 345 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/despawn.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(interpolated) = manager [INFO] [stdout] | _________^ - [INFO] [stdout] | | _________________________________| [INFO] [stdout] 33 | || .interpolated_entity_map [INFO] [stdout] 34 | || .get_mut() [INFO] [stdout] 35 | || .confirmed_to_interpolated [INFO] [stdout] | ||__________________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 36 | | .remove(&trigger.entity()) [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/client/interpolation/despawn.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 32 ~ match manager [INFO] [stdout] 33 | .interpolated_entity_map [INFO] [stdout] ... [INFO] [stdout] 36 | .remove(&trigger.entity()) [INFO] [stdout] 37 ~ { Some(interpolated) => { [INFO] [stdout] 38 | if let Some(entity_mut) = commands.get_entity(interpolated) { [INFO] [stdout] 39 | entity_mut.despawn_recursive(); [INFO] [stdout] 40 | } [INFO] [stdout] 41 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/interpolate.rs:174:16 [INFO] [stdout] | [INFO] [stdout] 174 | if let Some((start_tick, _)) = temp_start { [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/client/interpolation/interpolate.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 174 ~ match temp_start { Some((start_tick, _)) => { [INFO] [stdout] 175 | if current_interpolate_tick - start_tick < send_interval_delta_tick { [INFO] [stdout] ... [INFO] [stdout] 178 | // else (if it's been too long), reset the server tick to None [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/interpolate.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some((start_tick, start_value)) = &status.start { [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/client/interpolation/interpolate.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 232 ~ match &status.start { Some((start_tick, start_value)) => { [INFO] [stdout] 233 | trace!(is_end = ?status.end.is_some(), "start tick exists, checking if we need to insert the component"); [INFO] [stdout] ... [INFO] [stdout] 248 | } [INFO] [stdout] 249 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/interpolate.rs:235:16 [INFO] [stdout] | [INFO] [stdout] 235 | if let Some((end_tick, end_value)) = &status.end { [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/client/interpolation/interpolate.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | } 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] 235 ~ match &status.end { Some((end_tick, end_value)) => { [INFO] [stdout] 236 | assert!(status.current_tick < *end_tick); [INFO] [stdout] ... [INFO] [stdout] 241 | entity_commands.insert(value); [INFO] [stdout] 242 ~ } _ => { [INFO] [stdout] 243 | // we only have one update, but enough time has passed that we should add the component anyway [INFO] [stdout] ... [INFO] [stdout] 247 | } [INFO] [stdout] 248 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/interpolate.rs:261:12 [INFO] [stdout] | [INFO] [stdout] 261 | if let Some((start_tick, start_value)) = &status.start { [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/client/interpolation/interpolate.rs:273:9 [INFO] [stdout] | [INFO] [stdout] 273 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 261 ~ match &status.start { Some((start_tick, start_value)) => { [INFO] [stdout] 262 | if let Some((end_tick, end_value)) = &status.end { [INFO] [stdout] ... [INFO] [stdout] 272 | } [INFO] [stdout] 273 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/interpolate.rs:262:16 [INFO] [stdout] | [INFO] [stdout] 262 | if let Some((end_tick, end_value)) = &status.end { [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/client/interpolation/interpolate.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 262 ~ match &status.end { Some((end_tick, end_value)) => { [INFO] [stdout] 263 | debug!(?start_tick, interpolate_tick=?status.current_tick, ?end_tick, "doing interpolation!"); [INFO] [stdout] ... [INFO] [stdout] 271 | } [INFO] [stdout] 272 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/visual_interpolation.rs:186:12 [INFO] [stdout] | [INFO] [stdout] 186 | if let Some(current_value) = &interpolate_status.current_value { [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/client/interpolation/visual_interpolation.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 186 ~ match &interpolate_status.current_value { Some(current_value) => { [INFO] [stdout] 187 | trace!(?kind, "Restoring visual interpolation"); [INFO] [stdout] 188 | *component.bypass_change_detection() = current_value.clone(); [INFO] [stdout] 189 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/prediction/correction.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 125 | if let Some(correction) = std::mem::take(&mut correction.current_correction) { [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/client/prediction/correction.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | } 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] 125 ~ match std::mem::take(&mut correction.current_correction) { Some(correction) => { [INFO] [stdout] 126 | debug!("restoring corrected component: {:?}", kind); [INFO] [stdout] 127 | *component.bypass_change_detection() = correction; [INFO] [stdout] 128 ~ } _ => { [INFO] [stdout] 129 | debug!( [INFO] [stdout] ... [INFO] [stdout] 132 | ); [INFO] [stdout] 133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/prediction/despawn.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some(predicted) = manager [INFO] [stdout] | _________^ - [INFO] [stdout] | | ______________________________| [INFO] [stdout] 95 | || .predicted_entity_map [INFO] [stdout] 96 | || .get_mut() [INFO] [stdout] 97 | || .confirmed_to_predicted [INFO] [stdout] | ||_______________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 98 | | .remove(&trigger.entity()) [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/client/prediction/despawn.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match manager [INFO] [stdout] 95 | .predicted_entity_map [INFO] [stdout] ... [INFO] [stdout] 98 | .remove(&trigger.entity()) [INFO] [stdout] 99 ~ { Some(predicted) => { [INFO] [stdout] 100 | if let Some(entity_mut) = commands.get_entity(predicted) { [INFO] [stdout] 101 | entity_mut.despawn_recursive(); [INFO] [stdout] 102 | } [INFO] [stdout] 103 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/prediction/pre_prediction.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | if let Some(&predicted) = predicted_map.confirmed_to_predicted.get(&trigger.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/client/prediction/pre_prediction.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | } 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] 96 ~ match predicted_map.confirmed_to_predicted.get(&trigger.entity()) { Some(&predicted) => { [INFO] [stdout] 97 | let confirmed = trigger.entity(); [INFO] [stdout] ... [INFO] [stdout] 106 | }); [INFO] [stdout] 107 ~ } _ => { [INFO] [stdout] 108 | let predicted_entity = trigger.entity(); [INFO] [stdout] ... [INFO] [stdout] 148 | }); [INFO] [stdout] 149 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/prediction/rollback.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | if let RollbackState::ShouldRollback { [INFO] [stdout] | ____________^ [INFO] [stdout] 81 | | ref mut current_tick, [INFO] [stdout] 82 | | } = *self.state.write().deref_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/client/prediction/rollback.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 80 ~ match *self.state.write().deref_mut() [INFO] [stdout] 81 ~ { RollbackState::ShouldRollback { [INFO] [stdout] 82 + ref mut current_tick, [INFO] [stdout] 83 ~ } => { [INFO] [stdout] 84 | *current_tick += 1; [INFO] [stdout] 85 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/prediction/rollback.rs:399:12 [INFO] [stdout] | [INFO] [stdout] 399 | if let Some(entities) = prediction_manager.prespawn_hash_to_entities.remove(&hash) { [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/client/prediction/rollback.rs:401:9 [INFO] [stdout] | [INFO] [stdout] 401 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 399 ~ match prediction_manager.prespawn_hash_to_entities.remove(&hash) { Some(entities) => { [INFO] [stdout] 400 | entities_to_despawn.extend(entities); [INFO] [stdout] 401 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/io/config.rs:114:46 [INFO] [stdout] | [INFO] [stdout] 114 | let mut receiver: BoxedReceiver = if let Some(conditioner_config) = self.conditioner { [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/client/io/config.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | } 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] 114 ~ let mut receiver: BoxedReceiver = match self.conditioner { Some(conditioner_config) => { [INFO] [stdout] 115 | let conditioner = LinkConditioner::new(conditioner_config); [INFO] [stdout] 116 | Box::new(conditioner.wrap(receiver)) [INFO] [stdout] 117 ~ } _ => { [INFO] [stdout] 118 | Box::new(receiver) [INFO] [stdout] 119 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/message.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(message_list) = connection.received_messages.remove(&net) { [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/client/message.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 62 ~ match connection.received_messages.remove(&net) { Some(message_list) => { [INFO] [stdout] 63 | for message in message_list { [INFO] [stdout] ... [INFO] [stdout] 77 | } [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/networking.rs:179:11 [INFO] [stdout] | [INFO] [stdout] 179 | while let Some(packet) = netclient.recv() { [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/client/networking.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/networking.rs:308:12 [INFO] [stdout] | [INFO] [stdout] 308 | if let Some(receiver) = io.context.event_receiver.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/client/networking.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 308 ~ match io.context.event_receiver.as_mut() { Some(receiver) => { [INFO] [stdout] 309 | match receiver.try_recv() { [INFO] [stdout] ... [INFO] [stdout] 330 | } [INFO] [stdout] 331 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/netcode/client.rs:510:15 [INFO] [stdout] | [INFO] [stdout] 510 | while let Some((buf, addr)) = io.recv()? { [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/connection/netcode/client.rs:512:9 [INFO] [stdout] | [INFO] [stdout] 512 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/netcode/client.rs:675:16 [INFO] [stdout] | [INFO] [stdout] 675 | if let Some(io) = self.io.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/connection/netcode/client.rs:681:13 [INFO] [stdout] | [INFO] [stdout] 681 | } 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] 675 ~ match self.io.as_mut() { Some(io) => { [INFO] [stdout] 676 | // TODO: add context to errors? [INFO] [stdout] ... [INFO] [stdout] 680 | std::mem::take(&mut self.io); [INFO] [stdout] 681 ~ } _ => { [INFO] [stdout] 682 | self.client.reset(ClientState::Disconnected); [INFO] [stdout] 683 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/netcode/server.rs:452:12 [INFO] [stdout] | [INFO] [stdout] 452 | if let Some(cb) = self.cfg.on_connect.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/connection/netcode/server.rs:454:9 [INFO] [stdout] | [INFO] [stdout] 454 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 452 ~ match self.cfg.on_connect.as_mut() { Some(cb) => { [INFO] [stdout] 453 | cb(client_id, addr, &mut self.cfg.context) [INFO] [stdout] 454 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/netcode/server.rs:457:12 [INFO] [stdout] | [INFO] [stdout] 457 | if let Some(cb) = self.cfg.on_disconnect.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/connection/netcode/server.rs:459:9 [INFO] [stdout] | [INFO] [stdout] 459 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 457 ~ match self.cfg.on_disconnect.as_mut() { Some(cb) => { [INFO] [stdout] 458 | cb(client_id, addr, &mut self.cfg.context) [INFO] [stdout] 459 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/netcode/server.rs:806:15 [INFO] [stdout] | [INFO] [stdout] 806 | while let Some((buf, addr)) = receiver.recv().map_err(Error::from)? { [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/connection/netcode/server.rs:808:9 [INFO] [stdout] | [INFO] [stdout] 808 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/packet/packet_builder.rs:174:19 [INFO] [stdout] | [INFO] [stdout] 174 | while let Some(fragment_data) = fragment_messages.pop_front() { [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/packet/packet_builder.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/packet/packet_builder.rs:319:20 [INFO] [stdout] | [INFO] [stdout] 319 | if let Some(id) = message.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/packet/packet_builder.rs:327:17 [INFO] [stdout] | [INFO] [stdout] 327 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ match message.id { Some(id) => { [INFO] [stdout] 320 | packet.message_acks.push(( [INFO] [stdout] ... [INFO] [stdout] 326 | )); [INFO] [stdout] 327 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/packet/priority_manager.rs:185:15 [INFO] [stdout] | [INFO] [stdout] 185 | while let Some(buffered_message) = all_messages.pop() { [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/packet/priority_manager.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/component.rs:300:16 [INFO] [stdout] | [INFO] [stdout] 300 | if let Some(erased_fns) = self.serialize_fns_map.get_mut(&kind) { [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/protocol/component.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 300 ~ match self.serialize_fns_map.get_mut(&kind) { Some(erased_fns) => { [INFO] [stdout] 301 | erased_fns.add_map_entities::(); [INFO] [stdout] 302 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/message.rs:370:12 [INFO] [stdout] | [INFO] [stdout] 370 | if let Some(erased_fns) = self.serialize_fns_map.get_mut(&kind) { [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/protocol/message.rs:372:9 [INFO] [stdout] | [INFO] [stdout] 372 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 370 ~ match self.serialize_fns_map.get_mut(&kind) { Some(erased_fns) => { [INFO] [stdout] 371 | erased_fns.add_map_entities::(); [INFO] [stdout] 372 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/connection.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 263 | if let Entry::Vacant(e) = self.connections.entry(client_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/server/connection.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | } 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] 263 ~ match self.connections.entry(client_id) { Entry::Vacant(e) => { [INFO] [stdout] 264 | #[cfg(feature = "metrics")] [INFO] [stdout] ... [INFO] [stdout] 281 | e.insert(connection); [INFO] [stdout] 282 ~ } _ => { [INFO] [stdout] 283 | info!("Client {} was already in the connections list", client_id); [INFO] [stdout] 284 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/connection.rs:679:23 [INFO] [stdout] | [INFO] [stdout] 679 | while let Some((tick, single_data)) = channel.receiver.read_message() { [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/server/connection.rs:749:17 [INFO] [stdout] | [INFO] [stdout] 749 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/input/native.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | if let Some(message_list) = connection.received_input_messages.remove(&net) { [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/server/input/native.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match connection.received_input_messages.remove(&net) { Some(message_list) => { [INFO] [stdout] 115 | for (message_bytes, target, channel_kind) in message_list { [INFO] [stdout] ... [INFO] [stdout] 146 | } [INFO] [stdout] 147 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/io/config.rs:124:46 [INFO] [stdout] | [INFO] [stdout] 124 | let mut receiver: BoxedReceiver = if let Some(conditioner_config) = self.conditioner { [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/server/io/config.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | } 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] 124 ~ let mut receiver: BoxedReceiver = match self.conditioner { Some(conditioner_config) => { [INFO] [stdout] 125 | let conditioner = LinkConditioner::new(conditioner_config); [INFO] [stdout] 126 | Box::new(conditioner.wrap(receiver)) [INFO] [stdout] 127 ~ } _ => { [INFO] [stdout] 128 | Box::new(receiver) [INFO] [stdout] 129 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/message.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(message_list) = connection.received_messages.remove(&net) { [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/server/message.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 31 ~ match connection.received_messages.remove(&net) { Some(message_list) => { [INFO] [stdout] 32 | for (message_bytes, target, channel_kind) in message_list { [INFO] [stdout] ... [INFO] [stdout] 61 | } [INFO] [stdout] 62 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/clients.rs:53:24 [INFO] [stdout] | [INFO] [stdout] 53 | if let Ok(client_entity) = sender.client_entity(client_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/server/clients.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 66 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 53 ~ match sender.client_entity(client_id) { Ok(client_entity) => { [INFO] [stdout] 54 | if let Ok(mut controlled_entities) = client_query.get_mut(client_entity) { [INFO] [stdout] ... [INFO] [stdout] 65 | } [INFO] [stdout] 66 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/clients.rs:86:24 [INFO] [stdout] | [INFO] [stdout] 86 | if let Ok(client_entity) = sender.client_entity(client_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/server/clients.rs:99:21 [INFO] [stdout] | [INFO] [stdout] 99 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 86 ~ match sender.client_entity(client_id) { Ok(client_entity) => { [INFO] [stdout] 87 | if let Ok(mut controlled_entities) = client_query.get_mut(client_entity) { [INFO] [stdout] ... [INFO] [stdout] 98 | } [INFO] [stdout] 99 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/networking.rs:108:16 [INFO] [stdout] | [INFO] [stdout] 108 | if let Some(receiver) = &mut io.context.event_receiver { [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/server/networking.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 108 ~ match &mut io.context.event_receiver { Some(receiver) => { [INFO] [stdout] 109 | match receiver.try_recv() { [INFO] [stdout] ... [INFO] [stdout] 125 | } [INFO] [stdout] 126 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/networking.rs:177:15 [INFO] [stdout] | [INFO] [stdout] 177 | while let Some((payload, client_id)) = netserver.recv() { [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/server/networking.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/networking.rs:181:16 [INFO] [stdout] | [INFO] [stdout] 181 | if let Some(connection) = connection_manager.connections.get_mut(&client_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/server/networking.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | } 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] 181 ~ match connection_manager.connections.get_mut(&client_id) { Some(connection) => { [INFO] [stdout] 182 | connection [INFO] [stdout] ... [INFO] [stdout] 189 | .expect("could not receive packet"); [INFO] [stdout] 190 ~ } _ => { [INFO] [stdout] 191 | // it's still possible to receive some packets from a client that just disconnected. [INFO] [stdout] ... [INFO] [stdout] 200 | } [INFO] [stdout] 201 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/relevance/immediate.rs:166:24 [INFO] [stdout] | [INFO] [stdout] 166 | if let Some(vis) = cache.clients_cache.get_mut(&client) { [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/server/relevance/immediate.rs:169:21 [INFO] [stdout] | [INFO] [stdout] 169 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 166 ~ match cache.clients_cache.get_mut(&client) { Some(vis) => { [INFO] [stdout] 167 | trace!("lose relevance for entity {entity:?} and client {client:?}"); [INFO] [stdout] 168 | *vis = ClientRelevance::Lost; [INFO] [stdout] 169 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/relevance/room.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | if let Some(rooms) = self.data.client_to_rooms.remove(&client_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/server/relevance/room.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 174 ~ match self.data.client_to_rooms.remove(&client_id) { Some(rooms) => { [INFO] [stdout] 175 | for room_id in rooms { [INFO] [stdout] 176 | self.remove_client_internal(room_id, client_id); [INFO] [stdout] 177 | } [INFO] [stdout] 178 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/relevance/room.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 183 | if let Some(rooms) = self.data.entity_to_rooms.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/server/relevance/room.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match self.data.entity_to_rooms.remove(&entity) { Some(rooms) => { [INFO] [stdout] 184 | for room_id in rooms { [INFO] [stdout] 185 | self.remove_entity_internal(room_id, entity); [INFO] [stdout] 186 | } [INFO] [stdout] 187 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/delta.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 204 | if let Some(data) = self.data.get_mut(&replication_group) { [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/shared/replication/delta.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 204 ~ match self.data.get_mut(&replication_group) { Some(data) => { [INFO] [stdout] 205 | // we can remove all the keys older than the acked key [INFO] [stdout] ... [INFO] [stdout] 215 | *data = recent_data; [INFO] [stdout] 216 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/entity_map.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | if let Some(mapped) = self.0.get(&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/shared/replication/entity_map.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | } 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] 25 ~ match self.0.get(&entity) { Some(mapped) => { [INFO] [stdout] 26 | RemoteEntityMap::mark_mapped(*mapped) [INFO] [stdout] 27 ~ } _ => { [INFO] [stdout] 28 | entity [INFO] [stdout] 29 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/entity_map.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | if let Some(remote_entity) = self.local_to_remote.get(&local_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/shared/replication/entity_map.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | } 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] 129 ~ match self.local_to_remote.get(&local_entity) { Some(remote_entity) => { [INFO] [stdout] 130 | Self::mark_mapped(*remote_entity) [INFO] [stdout] 131 ~ } _ => { [INFO] [stdout] 132 | local_entity [INFO] [stdout] 133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/entity_map.rs:161:19 [INFO] [stdout] | [INFO] [stdout] 161 | } else if let Some(local) = self.remote_to_local.remove(&remote_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/shared/replication/entity_map.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 161 ~ } else { match self.remote_to_local.remove(&remote_entity) { Some(local) => { [INFO] [stdout] 162 | self.local_to_remote.remove(&local); [INFO] [stdout] 163 | return Some(local); [INFO] [stdout] 164 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/entity_map.rs:157:16 [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(remote) = self.local_to_remote.remove(&local) { [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/shared/replication/entity_map.rs:160:13 [INFO] [stdout] | [INFO] [stdout] 160 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 157 ~ match self.local_to_remote.remove(&local) { Some(remote) => { [INFO] [stdout] 158 | self.remote_to_local.remove(&remote); [INFO] [stdout] 159 | return Some(local); [INFO] [stdout] 160 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/receive.rs:307:20 [INFO] [stdout] | [INFO] [stdout] 307 | if let Some(local_entity) = self.remote_entity_map.remove_by_remote(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/shared/replication/receive.rs:317:17 [INFO] [stdout] | [INFO] [stdout] 317 | } 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] 307 ~ match self.remote_entity_map.remove_by_remote(entity) { Some(local_entity) => { [INFO] [stdout] 308 | if let Some(group) = self.group_channels.get_mut(&group_id) { [INFO] [stdout] ... [INFO] [stdout] 316 | self.remote_entity_to_group.remove(&entity); [INFO] [stdout] 317 ~ } _ => { [INFO] [stdout] 318 | error!("Received despawn for an entity that does not exist") [INFO] [stdout] 319 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/receive.rs:458:12 [INFO] [stdout] | [INFO] [stdout] 458 | if let Some(g) = self.group_channels.get(&group_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/shared/replication/receive.rs:469:9 [INFO] [stdout] | [INFO] [stdout] 469 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 458 ~ match self.group_channels.get(&group_id) { Some(g) => { [INFO] [stdout] 459 | g.remote_entities.iter().for_each(|remote_entity| { [INFO] [stdout] ... [INFO] [stdout] 468 | }); [INFO] [stdout] 469 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/receive.rs:460:20 [INFO] [stdout] | [INFO] [stdout] 460 | if let Some(mut local_entity_mut) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 461 | | self.remote_entity_map.get_by_remote(world, *remote_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/shared/replication/receive.rs:467:17 [INFO] [stdout] | [INFO] [stdout] 467 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 460 ~ match self.remote_entity_map.get_by_remote(world, *remote_entity) [INFO] [stdout] 461 ~ { Some(mut local_entity_mut) => { [INFO] [stdout] 462 | trace!(?remote_tick, "updating confirmed tick for entity"); [INFO] [stdout] ... [INFO] [stdout] 465 | } [INFO] [stdout] 466 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:126:16 [INFO] [stdout] | [INFO] [stdout] 126 | if let Some(channel) = self.group_channels.get_mut(&group_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/shared/replication/send.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 126 ~ match self.group_channels.get_mut(&group_id) { Some(channel) => { [INFO] [stdout] 127 | channel.send_tick = Some(bevy_tick); [INFO] [stdout] 128 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:147:15 [INFO] [stdout] | [INFO] [stdout] 147 | while let Ok(message_id) = self.updates_nack_receiver.try_recv() { [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/shared/replication/send.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(UpdateMessageMetadata { [INFO] [stdout] | ________________^ [INFO] [stdout] 150 | | group_id, [INFO] [stdout] 151 | | bevy_tick, [INFO] [stdout] 152 | | .. [INFO] [stdout] 153 | | }) = self.updates_message_id_to_group_id.remove(&message_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/shared/replication/send.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | } 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] 149 ~ match self.updates_message_id_to_group_id.remove(&message_id) [INFO] [stdout] 150 ~ { Some(UpdateMessageMetadata { [INFO] [stdout] 151 + group_id, [INFO] [stdout] 152 + bevy_tick, [INFO] [stdout] 153 + .. [INFO] [stdout] 154 ~ }) => { [INFO] [stdout] 155 | if let SendUpdatesMode::SinceLastSend = self.replication_config.send_updates_mode { [INFO] [stdout] ... [INFO] [stdout] 177 | } [INFO] [stdout] 178 ~ } _ => { [INFO] [stdout] 179 | // NOTE: this happens when a message-id is split between multiple packets (fragmented messages) [INFO] [stdout] 180 | trace!("Received an update message-id nack ({message_id:?}) but we don't know the corresponding group id"); [INFO] [stdout] 181 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:156:24 [INFO] [stdout] | [INFO] [stdout] 156 | if let Some(channel) = self.group_channels.get_mut(&group_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/shared/replication/send.rs:174:21 [INFO] [stdout] | [INFO] [stdout] 174 | } 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] 156 ~ match self.group_channels.get_mut(&group_id) { Some(channel) => { [INFO] [stdout] 157 | // when we know an update message has been lost, we need to reset our send_tick [INFO] [stdout] ... [INFO] [stdout] 173 | // for that tick [INFO] [stdout] 174 ~ } _ => { [INFO] [stdout] 175 | error!("Received an update message-id nack but the corresponding group channel does not exist"); [INFO] [stdout] 176 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:197:15 [INFO] [stdout] | [INFO] [stdout] 197 | while let Ok(message_id) = self.message_send_receiver.try_recv() { [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/shared/replication/send.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:198:16 [INFO] [stdout] | [INFO] [stdout] 198 | if let Some(UpdateMessageMetadata { [INFO] [stdout] | ________________^ [INFO] [stdout] 199 | | group_id, [INFO] [stdout] 200 | | bevy_tick, [INFO] [stdout] 201 | | .. [INFO] [stdout] 202 | | }) = self.updates_message_id_to_group_id.get(&message_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/shared/replication/send.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | } 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] 198 ~ match self.updates_message_id_to_group_id.get(&message_id) [INFO] [stdout] 199 ~ { Some(UpdateMessageMetadata { [INFO] [stdout] 200 + group_id, [INFO] [stdout] 201 + bevy_tick, [INFO] [stdout] 202 + .. [INFO] [stdout] 203 ~ }) => { [INFO] [stdout] 204 | if let Some(channel) = self.group_channels.get_mut(group_id) { [INFO] [stdout] ... [INFO] [stdout] 216 | } [INFO] [stdout] 217 ~ } _ => { [INFO] [stdout] 218 | error!(?message_id, [INFO] [stdout] 219 | "Received an send message-id notification but we don't know the corresponding group id" [INFO] [stdout] 220 | ); [INFO] [stdout] 221 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:204:20 [INFO] [stdout] | [INFO] [stdout] 204 | if let Some(channel) = self.group_channels.get_mut(group_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/shared/replication/send.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | } 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] 204 ~ match self.group_channels.get_mut(group_id) { Some(channel) => { [INFO] [stdout] 205 | // TODO: should we also reset the priority for replication-action messages? [INFO] [stdout] ... [INFO] [stdout] 213 | channel.accumulated_priority = 0.0; [INFO] [stdout] 214 ~ } _ => { [INFO] [stdout] 215 | error!(?message_id, ?group_id, "Received a send message-id notification but the corresponding group channel does not exist"); [INFO] [stdout] 216 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:234:15 [INFO] [stdout] | [INFO] [stdout] 234 | while let Ok(message_id) = self.updates_ack_receiver.try_recv() { [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/shared/replication/send.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:236:16 [INFO] [stdout] | [INFO] [stdout] 236 | if let Some(UpdateMessageMetadata { [INFO] [stdout] | ________________^ [INFO] [stdout] 237 | | group_id, [INFO] [stdout] 238 | | bevy_tick, [INFO] [stdout] 239 | | tick, [INFO] [stdout] 240 | | }) = self.updates_message_id_to_group_id.remove(&message_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/shared/replication/send.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | } 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] 236 ~ match self.updates_message_id_to_group_id.remove(&message_id) [INFO] [stdout] 237 ~ { Some(UpdateMessageMetadata { [INFO] [stdout] 238 + group_id, [INFO] [stdout] 239 + bevy_tick, [INFO] [stdout] 240 + tick, [INFO] [stdout] 241 ~ }) => { [INFO] [stdout] 242 | if let Some(channel) = self.group_channels.get_mut(&group_id) { [INFO] [stdout] ... [INFO] [stdout] 252 | } [INFO] [stdout] 253 ~ } _ => { [INFO] [stdout] 254 | error!("Received an update message-id ack but we don't know the corresponding group id"); [INFO] [stdout] 255 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:242:20 [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(channel) = self.group_channels.get_mut(&group_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/shared/replication/send.rs:250:17 [INFO] [stdout] | [INFO] [stdout] 250 | } 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] 242 ~ match self.group_channels.get_mut(&group_id) { Some(channel) => { [INFO] [stdout] 243 | // update the ack tick for the channel [INFO] [stdout] ... [INFO] [stdout] 249 | delta_manager.receive_ack(tick, group_id, component_registry); [INFO] [stdout] 250 ~ } _ => { [INFO] [stdout] 251 | error!("Received an update message-id ack but the corresponding group channel does not exist"); [INFO] [stdout] 252 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl transport::PacketSender` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/transport/io.rs:42:38 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn split(&mut self) -> (&mut impl PacketSender, &mut impl PacketReceiver) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/transport/io.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn split(&mut self) -> (&mut impl PacketSender, &mut impl PacketReceiver) { [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] 42 | pub fn split(&mut self) -> (&mut impl PacketSender + use, &mut impl PacketReceiver) { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl transport::PacketReceiver` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/transport/io.rs:42:62 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn split(&mut self) -> (&mut impl PacketSender, &mut impl PacketReceiver) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/transport/io.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn split(&mut self) -> (&mut impl PacketSender, &mut impl PacketReceiver) { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 42 | pub fn split(&mut self) -> (&mut impl PacketSender, &mut impl PacketReceiver + use) { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:57:16 [INFO] [stdout] | [INFO] [stdout] 57 | if let Some(container) = self.heap.peek() { [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/utils/ready_buffer.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 57 ~ match self.heap.peek() { Some(container) => { [INFO] [stdout] 58 | return Some((container.key.clone(), &container.item)); [INFO] [stdout] 59 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | if let Some(container) = self.heap.pop() { [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/utils/ready_buffer.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 68 ~ match self.heap.pop() { Some(container) => { [INFO] [stdout] 69 | return Some((container.key, container.item)); [INFO] [stdout] 70 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | while let Some(item_with_key) = self.heap.peek() { [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/utils/ready_buffer.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | while let Some(item_with_key) = self.heap.peek() { [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/utils/ready_buffer.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:111:16 [INFO] [stdout] | [INFO] [stdout] 111 | if let Some(v) = self.heap.pop().map(|item| (item.key, item.item)) { [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/utils/ready_buffer.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 111 ~ match self.heap.pop().map(|item| (item.key, item.item)) { Some(v) => { [INFO] [stdout] 112 | val.push(v); [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:125:15 [INFO] [stdout] | [INFO] [stdout] 125 | while let Some(item_with_key) = self.heap.pop() { [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/utils/ready_buffer.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 111 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `lightyear` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/protocol/serialize.rs [INFO] [stderr] * src/shared/events/connection.rs [INFO] [stderr] * src/transport/io.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/transport/io.rs:42:38 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn split(&mut self) -> (&mut impl PacketSender + use, &mut impl PacketReceiver + use) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 42 | pub fn split(&mut self) -> (&mut (impl PacketSender + use), &mut impl PacketReceiver + use) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: ambiguous `+` in a type [INFO] [stderr] --> src/transport/io.rs:42:71 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/shared/time_manager.rs:231:17 [INFO] [stdout] | [INFO] [stdout] 231 | let gen = (self.elapsed.as_nanos() / period.as_nanos()) as u16; [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] 42 | pub fn split(&mut self) -> (&mut impl PacketSender + use, &mut impl PacketReceiver + use) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 42 | pub fn split(&mut self) -> (&mut impl PacketSender + use, &mut (impl PacketReceiver + use)) { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/shared/events/connection.rs:247:51 [INFO] [stderr] | [INFO] [stderr] 244 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] ... [INFO] [stderr] 247 | ) -> Box + '_>; [INFO] [stderr] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/shared/events/connection.rs:255:50 [INFO] [stderr] | [INFO] [stderr] 252 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] ... [INFO] [stderr] 255 | ) -> Box + '_> { [INFO] [stderr] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/protocol/serialize.rs:243:19 [INFO] [stderr] | [INFO] [stderr] 242 | ) -> Result<(), SerializationError> { unsafe { [INFO] [stderr] | ------ because it's nested under this `unsafe` block [INFO] [stderr] 243 | let fns = unsafe { self.typed::() }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary `unsafe` block [INFO] [stderr] --> src/protocol/serialize.rs:267:19 [INFO] [stderr] | [INFO] [stderr] 266 | ) -> Result { unsafe { [INFO] [stderr] | ------ because it's nested under this `unsafe` block [INFO] [stderr] 267 | let fns = unsafe { self.typed::() }; [INFO] [stderr] | ^^^^^^ unnecessary `unsafe` block [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 4 warnings emitted [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/shared/time_manager.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | gen.saturating_add(1) [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/shared/time_manager.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | gen.saturating_sub(1) [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: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/shared/time_manager.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | 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] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/client/prediction/rollback.rs:13:29 [INFO] [stdout] | [INFO] [stdout] 13 | use tracing::{debug, error, info, trace, trace_span}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/shared/events/connection.rs:247:51 [INFO] [stdout] | [INFO] [stdout] 244 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 247 | ) -> Box + '_>; [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/shared/events/connection.rs:255:50 [INFO] [stdout] | [INFO] [stdout] 252 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 255 | ) -> Box + '_> { [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:716:16 [INFO] [stdout] | [INFO] [stdout] 716 | Ok((delta_fns.clone)(data)) [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/protocol/component.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | / pub(crate) unsafe fn erased_clone( [INFO] [stdout] 708 | | &self, [INFO] [stdout] 709 | | data: Ptr, [INFO] [stdout] 710 | | kind: ComponentKind, [INFO] [stdout] 711 | | ) -> Result, ComponentError> { [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 is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:729:13 [INFO] [stdout] | [INFO] [stdout] 729 | (delta_fns.drop)(data); [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/protocol/component.rs:720:9 [INFO] [stdout] | [INFO] [stdout] 720 | / pub(crate) unsafe fn erased_drop( [INFO] [stdout] 721 | | &self, [INFO] [stdout] 722 | | data: NonNull, [INFO] [stdout] 723 | | kind: ComponentKind, [INFO] [stdout] 724 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:749:25 [INFO] [stdout] | [INFO] [stdout] 749 | let delta = (delta_fns.diff)(start_tick, start, new); [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/protocol/component.rs:734:9 [INFO] [stdout] | [INFO] [stdout] 734 | / pub(crate) unsafe fn serialize_diff( [INFO] [stdout] 735 | | &self, [INFO] [stdout] 736 | | start_tick: Tick, [INFO] [stdout] 737 | | start: Ptr, [INFO] [stdout] ... | [INFO] [stdout] 742 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 743 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:750:35 [INFO] [stdout] | [INFO] [stdout] 750 | self.erased_serialize(Ptr::new(delta), writer, delta_fns.delta_kind, entity_map)?; [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:752:13 [INFO] [stdout] | [INFO] [stdout] 752 | (delta_fns.drop_delta_message)(delta); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:769:25 [INFO] [stdout] | [INFO] [stdout] 769 | let delta = (delta_fns.diff_from_base)(component_data); [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/protocol/component.rs:757:9 [INFO] [stdout] | [INFO] [stdout] 757 | / pub(crate) unsafe fn serialize_diff_from_base_value( [INFO] [stdout] 758 | | &self, [INFO] [stdout] 759 | | component_data: Ptr, [INFO] [stdout] 760 | | writer: &mut Writer, [INFO] [stdout] ... | [INFO] [stdout] 763 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 764 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:770:35 [INFO] [stdout] | [INFO] [stdout] 770 | self.erased_serialize(Ptr::new(delta), writer, delta_fns.delta_kind, entity_map)?; [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:772:13 [INFO] [stdout] | [INFO] [stdout] 772 | (delta_fns.drop_delta_message)(delta); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | let cloned: C = data.deref::().clone(); [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/protocol/delta.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe fn erased_clone(data: Ptr) -> NonNull { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | let delta = C::diff(previous.deref::(), present.deref::()); [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/protocol/delta.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / unsafe fn erased_diff( [INFO] [stdout] 26 | | previous_tick: Tick, [INFO] [stdout] 27 | | previous: Ptr, [INFO] [stdout] 28 | | present: Ptr, [INFO] [stdout] 29 | | ) -> NonNull { [INFO] [stdout] | |________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:30:48 [INFO] [stdout] | [INFO] [stdout] 30 | let delta = C::diff(previous.deref::(), present.deref::()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:41:32 [INFO] [stdout] | [INFO] [stdout] 41 | let delta = C::diff(&base, other.deref::()); [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/protocol/delta.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe fn erased_base_diff(other: Ptr) -> NonNull { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | C::apply_diff(data.deref_mut::(), delta.deref::()); [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/protocol/delta.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | unsafe fn erased_apply_diff(data: PtrMut, delta: Ptr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:54:42 [INFO] [stdout] | [INFO] [stdout] 54 | C::apply_diff(data.deref_mut::(), delta.deref::()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let _ = Box::from_raw(data.cast::().as_ptr()); [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/protocol/delta.rs:57:1 [INFO] [stdout] | [INFO] [stdout] 57 | unsafe fn erased_drop(data: NonNull) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `protocol::serialize::ErasedSerializeFns::typed` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:71:31 [INFO] [stdout] | [INFO] [stdout] 71 | let typed_serialize_fns = erased_serialize_fn.typed::(); [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/protocol/serialize.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | / unsafe fn erased_serialize_fn( [INFO] [stdout] 66 | | erased_serialize_fn: &ErasedSerializeFns, [INFO] [stdout] 67 | | message: Ptr, [INFO] [stdout] 68 | | writer: &mut Writer, [INFO] [stdout] 69 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 70 | | ) -> Result<(), SerializationError> { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | message.deref::(), [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | std::mem::transmute(erased_serialize_fn.erased_clone.unwrap()), [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:84:23 [INFO] [stdout] | [INFO] [stdout] 84 | let message = message.deref::(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 130 | let message = message.deref_mut::(); [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/protocol/serialize.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | / unsafe fn erased_map_entities( [INFO] [stdout] 127 | | message: PtrMut, [INFO] [stdout] 128 | | entity_map: &mut EntityMap, [INFO] [stdout] 129 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:139:19 [INFO] [stdout] | [INFO] [stdout] 139 | let message = message.deref_mut::(); [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/protocol/serialize.rs:135:1 [INFO] [stdout] | [INFO] [stdout] 135 | / unsafe fn erased_send_map_entities( [INFO] [stdout] 136 | | message: PtrMut, [INFO] [stdout] 137 | | entity_map: &mut SendEntityMap, [INFO] [stdout] 138 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:148:19 [INFO] [stdout] | [INFO] [stdout] 148 | let message = message.deref_mut::(); [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/protocol/serialize.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / unsafe fn erased_receive_map_entities( [INFO] [stdout] 145 | | message: PtrMut, [INFO] [stdout] 146 | | entity_map: &mut ReceiveEntityMap, [INFO] [stdout] 147 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:250:17 [INFO] [stdout] | [INFO] [stdout] 250 | std::mem::transmute(self.erased_clone.unwrap()), [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/protocol/serialize.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | / pub(crate) unsafe fn serialize( [INFO] [stdout] 238 | | &self, [INFO] [stdout] 239 | | message: &M, [INFO] [stdout] 240 | | writer: &mut Writer, [INFO] [stdout] 241 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 242 | | ) -> Result<(), SerializationError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:270:13 [INFO] [stdout] | [INFO] [stdout] 270 | map_entities(PtrMut::from(&mut message), entity_map); [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/protocol/serialize.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 262 | / pub(crate) unsafe fn deserialize( [INFO] [stdout] 263 | | &self, [INFO] [stdout] 264 | | reader: &mut Reader, [INFO] [stdout] 265 | | entity_map: &mut ReceiveEntityMap, [INFO] [stdout] 266 | | ) -> Result { [INFO] [stdout] | |______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:117:26 [INFO] [stdout] | [INFO] [stdout] 117 | let column = table.get_column(component_id).unwrap_unchecked(); [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/shared/replication/archetypes.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | / pub(crate) unsafe fn get_erased_component<'w>( [INFO] [stdout] 109 | | table: &'w Table, [INFO] [stdout] 110 | | sparse_sets: &'w SparseSets, [INFO] [stdout] 111 | | entity: &ArchetypeEntity, [INFO] [stdout] 112 | | storage_type: StorageType, [INFO] [stdout] 113 | | component_id: ComponentId, [INFO] [stdout] 114 | | ) -> (Ptr<'w>, ComponentTicks) { [INFO] [stdout] | |______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ecs::storage::Column::get_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:118:29 [INFO] [stdout] | [INFO] [stdout] 118 | let component = column.get_data_unchecked(entity.table_row()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ecs::storage::Column::get_ticks_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | let ticks = column.get_ticks_unchecked(entity.table_row()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:124:30 [INFO] [stdout] | [INFO] [stdout] 124 | let sparse_set = sparse_sets.get(component_id).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:125:29 [INFO] [stdout] | [INFO] [stdout] 125 | let component = sparse_set.get(entity.id()).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:126:25 [INFO] [stdout] | [INFO] [stdout] 126 | let ticks = sparse_set.get_ticks(entity.id()).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::ManuallyDrop::::take` is unsafe and requires unsafe block [INFO] [stdout] --> src/utils/pool.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | ManuallyDrop::take(&mut self.data) [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/utils/pool.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 158 | unsafe fn take(&mut self) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/receivers/ordered_reliable.rs:58:24 [INFO] [stdout] | [INFO] [stdout] 58 | if let Some(res) = self.fragment_receiver.receive_fragment( [INFO] [stdout] | ________________________^ - [INFO] [stdout] | |________________________________________| [INFO] [stdout] 59 | || fragment, [INFO] [stdout] 60 | || message.remote_sent_tick, [INFO] [stdout] 61 | || None, [INFO] [stdout] 62 | || ) { [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] | [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/channel/receivers/ordered_reliable.rs:64:21 [INFO] [stdout] | [INFO] [stdout] 64 | } [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] 58 ~ match self.fragment_receiver.receive_fragment( [INFO] [stdout] 59 | fragment, [INFO] [stdout] 60 | message.remote_sent_tick, [INFO] [stdout] 61 | None, [INFO] [stdout] 62 ~ ) { Some(res) => { [INFO] [stdout] 63 | entry.insert(res); [INFO] [stdout] 64 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/receivers/sequenced_reliable.rs:64:24 [INFO] [stdout] | [INFO] [stdout] 64 | if let Some(res) = self.fragment_receiver.receive_fragment( [INFO] [stdout] | ________________________^ - [INFO] [stdout] | |________________________________________| [INFO] [stdout] 65 | || fragment, [INFO] [stdout] 66 | || message.remote_sent_tick, [INFO] [stdout] 67 | || None, [INFO] [stdout] 68 | || ) { [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] | [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/channel/receivers/sequenced_reliable.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match self.fragment_receiver.receive_fragment( [INFO] [stdout] 65 | fragment, [INFO] [stdout] 66 | message.remote_sent_tick, [INFO] [stdout] 67 | None, [INFO] [stdout] 68 ~ ) { Some(res) => { [INFO] [stdout] 69 | entry.insert(res); [INFO] [stdout] 70 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/receivers/sequenced_unreliable.rs:70:20 [INFO] [stdout] | [INFO] [stdout] 70 | if let Some(res) = self.fragment_receiver.receive_fragment( [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |____________________________________| [INFO] [stdout] 71 | || fragment, [INFO] [stdout] 72 | || message.remote_sent_tick, [INFO] [stdout] 73 | || Some(self.current_time), [INFO] [stdout] 74 | || ) { [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] | [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/channel/receivers/sequenced_unreliable.rs:76:17 [INFO] [stdout] | [INFO] [stdout] 76 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ match self.fragment_receiver.receive_fragment( [INFO] [stdout] 71 | fragment, [INFO] [stdout] 72 | message.remote_sent_tick, [INFO] [stdout] 73 | Some(self.current_time), [INFO] [stdout] 74 ~ ) { Some(res) => { [INFO] [stdout] 75 | self.recv_message_buffer.push_back(res); [INFO] [stdout] 76 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/receivers/unordered_reliable.rs:68:24 [INFO] [stdout] | [INFO] [stdout] 68 | if let Some(res) = self.fragment_receiver.receive_fragment( [INFO] [stdout] | ________________________^ - [INFO] [stdout] | |________________________________________| [INFO] [stdout] 69 | || fragment, [INFO] [stdout] 70 | || message.remote_sent_tick, [INFO] [stdout] 71 | || None, [INFO] [stdout] 72 | || ) { [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] | [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/channel/receivers/unordered_reliable.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 68 ~ match self.fragment_receiver.receive_fragment( [INFO] [stdout] 69 | fragment, [INFO] [stdout] 70 | message.remote_sent_tick, [INFO] [stdout] 71 | None, [INFO] [stdout] 72 ~ ) { Some(res) => { [INFO] [stdout] 73 | // receive the message if we haven't received it already [INFO] [stdout] ... [INFO] [stdout] 77 | } [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/receivers/unordered_unreliable.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | if let Some(data) = self.fragment_receiver.receive_fragment( [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |_____________________________________| [INFO] [stdout] 46 | || fragment, [INFO] [stdout] 47 | || message.remote_sent_tick, [INFO] [stdout] 48 | || Some(self.current_time), [INFO] [stdout] 49 | || ) { [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] | [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/channel/receivers/unordered_unreliable.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 45 ~ match self.fragment_receiver.receive_fragment( [INFO] [stdout] 46 | fragment, [INFO] [stdout] 47 | message.remote_sent_tick, [INFO] [stdout] 48 | Some(self.current_time), [INFO] [stdout] 49 ~ ) { Some(data) => { [INFO] [stdout] 50 | self.recv_message_buffer.push_back(data); [INFO] [stdout] 51 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/senders/reliable.rs:278:12 [INFO] [stdout] | [INFO] [stdout] 278 | if let Some(unacked_message) = self.unacked_messages.get_mut(&message_ack.message_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/channel/senders/reliable.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match self.unacked_messages.get_mut(&message_ack.message_id) { Some(unacked_message) => { [INFO] [stdout] 279 | trace!( [INFO] [stdout] ... [INFO] [stdout] 311 | } [INFO] [stdout] 312 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/connection.rs:395:23 [INFO] [stdout] | [INFO] [stdout] 395 | while let Some((tick, single_data)) = channel.receiver.read_message() { [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/client/connection.rs:461:17 [INFO] [stdout] | [INFO] [stdout] 461 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/input/native.rs:340:8 [INFO] [stdout] | [INFO] [stdout] 340 | if let NetClientDispatch::Local(client) = &client.client { [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/client/input/native.rs:345:5 [INFO] [stdout] | [INFO] [stdout] 345 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 340 ~ match &client.client { NetClientDispatch::Local(client) => { [INFO] [stdout] 341 | let tick = tick_manager.tick(); [INFO] [stdout] ... [INFO] [stdout] 344 | server_input_events.send(event); [INFO] [stdout] 345 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/despawn.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | if let Some(interpolated) = manager [INFO] [stdout] | _________^ - [INFO] [stdout] | | _________________________________| [INFO] [stdout] 33 | || .interpolated_entity_map [INFO] [stdout] 34 | || .get_mut() [INFO] [stdout] 35 | || .confirmed_to_interpolated [INFO] [stdout] | ||__________________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 36 | | .remove(&trigger.entity()) [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/client/interpolation/despawn.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 32 ~ match manager [INFO] [stdout] 33 | .interpolated_entity_map [INFO] [stdout] ... [INFO] [stdout] 36 | .remove(&trigger.entity()) [INFO] [stdout] 37 ~ { Some(interpolated) => { [INFO] [stdout] 38 | if let Some(entity_mut) = commands.get_entity(interpolated) { [INFO] [stdout] 39 | entity_mut.despawn_recursive(); [INFO] [stdout] 40 | } [INFO] [stdout] 41 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/interpolate.rs:174:16 [INFO] [stdout] | [INFO] [stdout] 174 | if let Some((start_tick, _)) = temp_start { [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/client/interpolation/interpolate.rs:179:13 [INFO] [stdout] | [INFO] [stdout] 179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 174 ~ match temp_start { Some((start_tick, _)) => { [INFO] [stdout] 175 | if current_interpolate_tick - start_tick < send_interval_delta_tick { [INFO] [stdout] ... [INFO] [stdout] 178 | // else (if it's been too long), reset the server tick to None [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/interpolate.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some((start_tick, start_value)) = &status.start { [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/client/interpolation/interpolate.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 232 ~ match &status.start { Some((start_tick, start_value)) => { [INFO] [stdout] 233 | trace!(is_end = ?status.end.is_some(), "start tick exists, checking if we need to insert the component"); [INFO] [stdout] ... [INFO] [stdout] 248 | } [INFO] [stdout] 249 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/interpolate.rs:235:16 [INFO] [stdout] | [INFO] [stdout] 235 | if let Some((end_tick, end_value)) = &status.end { [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/client/interpolation/interpolate.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | } 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] 235 ~ match &status.end { Some((end_tick, end_value)) => { [INFO] [stdout] 236 | assert!(status.current_tick < *end_tick); [INFO] [stdout] ... [INFO] [stdout] 241 | entity_commands.insert(value); [INFO] [stdout] 242 ~ } _ => { [INFO] [stdout] 243 | // we only have one update, but enough time has passed that we should add the component anyway [INFO] [stdout] ... [INFO] [stdout] 247 | } [INFO] [stdout] 248 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/interpolate.rs:261:12 [INFO] [stdout] | [INFO] [stdout] 261 | if let Some((start_tick, start_value)) = &status.start { [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/client/interpolation/interpolate.rs:273:9 [INFO] [stdout] | [INFO] [stdout] 273 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 261 ~ match &status.start { Some((start_tick, start_value)) => { [INFO] [stdout] 262 | if let Some((end_tick, end_value)) = &status.end { [INFO] [stdout] ... [INFO] [stdout] 272 | } [INFO] [stdout] 273 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/interpolate.rs:262:16 [INFO] [stdout] | [INFO] [stdout] 262 | if let Some((end_tick, end_value)) = &status.end { [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/client/interpolation/interpolate.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 262 ~ match &status.end { Some((end_tick, end_value)) => { [INFO] [stdout] 263 | debug!(?start_tick, interpolate_tick=?status.current_tick, ?end_tick, "doing interpolation!"); [INFO] [stdout] ... [INFO] [stdout] 271 | } [INFO] [stdout] 272 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/interpolation/visual_interpolation.rs:186:12 [INFO] [stdout] | [INFO] [stdout] 186 | if let Some(current_value) = &interpolate_status.current_value { [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/client/interpolation/visual_interpolation.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 186 ~ match &interpolate_status.current_value { Some(current_value) => { [INFO] [stdout] 187 | trace!(?kind, "Restoring visual interpolation"); [INFO] [stdout] 188 | *component.bypass_change_detection() = current_value.clone(); [INFO] [stdout] 189 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/prediction/correction.rs:125:12 [INFO] [stdout] | [INFO] [stdout] 125 | if let Some(correction) = std::mem::take(&mut correction.current_correction) { [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/client/prediction/correction.rs:128:9 [INFO] [stdout] | [INFO] [stdout] 128 | } 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] 125 ~ match std::mem::take(&mut correction.current_correction) { Some(correction) => { [INFO] [stdout] 126 | debug!("restoring corrected component: {:?}", kind); [INFO] [stdout] 127 | *component.bypass_change_detection() = correction; [INFO] [stdout] 128 ~ } _ => { [INFO] [stdout] 129 | debug!( [INFO] [stdout] ... [INFO] [stdout] 132 | ); [INFO] [stdout] 133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/prediction/despawn.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some(predicted) = manager [INFO] [stdout] | _________^ - [INFO] [stdout] | | ______________________________| [INFO] [stdout] 95 | || .predicted_entity_map [INFO] [stdout] 96 | || .get_mut() [INFO] [stdout] 97 | || .confirmed_to_predicted [INFO] [stdout] | ||_______________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 98 | | .remove(&trigger.entity()) [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/client/prediction/despawn.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match manager [INFO] [stdout] 95 | .predicted_entity_map [INFO] [stdout] ... [INFO] [stdout] 98 | .remove(&trigger.entity()) [INFO] [stdout] 99 ~ { Some(predicted) => { [INFO] [stdout] 100 | if let Some(entity_mut) = commands.get_entity(predicted) { [INFO] [stdout] 101 | entity_mut.despawn_recursive(); [INFO] [stdout] 102 | } [INFO] [stdout] 103 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/prediction/pre_prediction.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | if let Some(&predicted) = predicted_map.confirmed_to_predicted.get(&trigger.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/client/prediction/pre_prediction.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | } 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] 96 ~ match predicted_map.confirmed_to_predicted.get(&trigger.entity()) { Some(&predicted) => { [INFO] [stdout] 97 | let confirmed = trigger.entity(); [INFO] [stdout] ... [INFO] [stdout] 106 | }); [INFO] [stdout] 107 ~ } _ => { [INFO] [stdout] 108 | let predicted_entity = trigger.entity(); [INFO] [stdout] ... [INFO] [stdout] 148 | }); [INFO] [stdout] 149 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/prediction/rollback.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | if let RollbackState::ShouldRollback { [INFO] [stdout] | ____________^ [INFO] [stdout] 81 | | ref mut current_tick, [INFO] [stdout] 82 | | } = *self.state.write().deref_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/client/prediction/rollback.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 80 ~ match *self.state.write().deref_mut() [INFO] [stdout] 81 ~ { RollbackState::ShouldRollback { [INFO] [stdout] 82 + ref mut current_tick, [INFO] [stdout] 83 ~ } => { [INFO] [stdout] 84 | *current_tick += 1; [INFO] [stdout] 85 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/prediction/rollback.rs:399:12 [INFO] [stdout] | [INFO] [stdout] 399 | if let Some(entities) = prediction_manager.prespawn_hash_to_entities.remove(&hash) { [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/client/prediction/rollback.rs:401:9 [INFO] [stdout] | [INFO] [stdout] 401 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 399 ~ match prediction_manager.prespawn_hash_to_entities.remove(&hash) { Some(entities) => { [INFO] [stdout] 400 | entities_to_despawn.extend(entities); [INFO] [stdout] 401 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/io/config.rs:114:46 [INFO] [stdout] | [INFO] [stdout] 114 | let mut receiver: BoxedReceiver = if let Some(conditioner_config) = self.conditioner { [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/client/io/config.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | } 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] 114 ~ let mut receiver: BoxedReceiver = match self.conditioner { Some(conditioner_config) => { [INFO] [stdout] 115 | let conditioner = LinkConditioner::new(conditioner_config); [INFO] [stdout] 116 | Box::new(conditioner.wrap(receiver)) [INFO] [stdout] 117 ~ } _ => { [INFO] [stdout] 118 | Box::new(receiver) [INFO] [stdout] 119 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/message.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(message_list) = connection.received_messages.remove(&net) { [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/client/message.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 62 ~ match connection.received_messages.remove(&net) { Some(message_list) => { [INFO] [stdout] 63 | for message in message_list { [INFO] [stdout] ... [INFO] [stdout] 77 | } [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/networking.rs:179:11 [INFO] [stdout] | [INFO] [stdout] 179 | while let Some(packet) = netclient.recv() { [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/client/networking.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/networking.rs:308:12 [INFO] [stdout] | [INFO] [stdout] 308 | if let Some(receiver) = io.context.event_receiver.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/client/networking.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 308 ~ match io.context.event_receiver.as_mut() { Some(receiver) => { [INFO] [stdout] 309 | match receiver.try_recv() { [INFO] [stdout] ... [INFO] [stdout] 330 | } [INFO] [stdout] 331 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/netcode/client.rs:510:15 [INFO] [stdout] | [INFO] [stdout] 510 | while let Some((buf, addr)) = io.recv()? { [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/connection/netcode/client.rs:512:9 [INFO] [stdout] | [INFO] [stdout] 512 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/netcode/client.rs:675:16 [INFO] [stdout] | [INFO] [stdout] 675 | if let Some(io) = self.io.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/connection/netcode/client.rs:681:13 [INFO] [stdout] | [INFO] [stdout] 681 | } 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] 675 ~ match self.io.as_mut() { Some(io) => { [INFO] [stdout] 676 | // TODO: add context to errors? [INFO] [stdout] ... [INFO] [stdout] 680 | std::mem::take(&mut self.io); [INFO] [stdout] 681 ~ } _ => { [INFO] [stdout] 682 | self.client.reset(ClientState::Disconnected); [INFO] [stdout] 683 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/netcode/server.rs:452:12 [INFO] [stdout] | [INFO] [stdout] 452 | if let Some(cb) = self.cfg.on_connect.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/connection/netcode/server.rs:454:9 [INFO] [stdout] | [INFO] [stdout] 454 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 452 ~ match self.cfg.on_connect.as_mut() { Some(cb) => { [INFO] [stdout] 453 | cb(client_id, addr, &mut self.cfg.context) [INFO] [stdout] 454 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/netcode/server.rs:457:12 [INFO] [stdout] | [INFO] [stdout] 457 | if let Some(cb) = self.cfg.on_disconnect.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/connection/netcode/server.rs:459:9 [INFO] [stdout] | [INFO] [stdout] 459 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 457 ~ match self.cfg.on_disconnect.as_mut() { Some(cb) => { [INFO] [stdout] 458 | cb(client_id, addr, &mut self.cfg.context) [INFO] [stdout] 459 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/connection/netcode/server.rs:806:15 [INFO] [stdout] | [INFO] [stdout] 806 | while let Some((buf, addr)) = receiver.recv().map_err(Error::from)? { [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/connection/netcode/server.rs:808:9 [INFO] [stdout] | [INFO] [stdout] 808 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/packet/packet_builder.rs:174:19 [INFO] [stdout] | [INFO] [stdout] 174 | while let Some(fragment_data) = fragment_messages.pop_front() { [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/packet/packet_builder.rs:227:13 [INFO] [stdout] | [INFO] [stdout] 227 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/packet/packet_builder.rs:319:20 [INFO] [stdout] | [INFO] [stdout] 319 | if let Some(id) = message.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/packet/packet_builder.rs:327:17 [INFO] [stdout] | [INFO] [stdout] 327 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ match message.id { Some(id) => { [INFO] [stdout] 320 | packet.message_acks.push(( [INFO] [stdout] ... [INFO] [stdout] 326 | )); [INFO] [stdout] 327 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/packet/priority_manager.rs:185:15 [INFO] [stdout] | [INFO] [stdout] 185 | while let Some(buffered_message) = all_messages.pop() { [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/packet/priority_manager.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/component.rs:300:16 [INFO] [stdout] | [INFO] [stdout] 300 | if let Some(erased_fns) = self.serialize_fns_map.get_mut(&kind) { [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/protocol/component.rs:302:13 [INFO] [stdout] | [INFO] [stdout] 302 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 300 ~ match self.serialize_fns_map.get_mut(&kind) { Some(erased_fns) => { [INFO] [stdout] 301 | erased_fns.add_map_entities::(); [INFO] [stdout] 302 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/protocol/message.rs:370:12 [INFO] [stdout] | [INFO] [stdout] 370 | if let Some(erased_fns) = self.serialize_fns_map.get_mut(&kind) { [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/protocol/message.rs:372:9 [INFO] [stdout] | [INFO] [stdout] 372 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 370 ~ match self.serialize_fns_map.get_mut(&kind) { Some(erased_fns) => { [INFO] [stdout] 371 | erased_fns.add_map_entities::(); [INFO] [stdout] 372 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/connection.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 263 | if let Entry::Vacant(e) = self.connections.entry(client_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/server/connection.rs:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | } 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] 263 ~ match self.connections.entry(client_id) { Entry::Vacant(e) => { [INFO] [stdout] 264 | #[cfg(feature = "metrics")] [INFO] [stdout] ... [INFO] [stdout] 281 | e.insert(connection); [INFO] [stdout] 282 ~ } _ => { [INFO] [stdout] 283 | info!("Client {} was already in the connections list", client_id); [INFO] [stdout] 284 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/connection.rs:679:23 [INFO] [stdout] | [INFO] [stdout] 679 | while let Some((tick, single_data)) = channel.receiver.read_message() { [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/server/connection.rs:749:17 [INFO] [stdout] | [INFO] [stdout] 749 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/input/native.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | if let Some(message_list) = connection.received_input_messages.remove(&net) { [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/server/input/native.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match connection.received_input_messages.remove(&net) { Some(message_list) => { [INFO] [stdout] 115 | for (message_bytes, target, channel_kind) in message_list { [INFO] [stdout] ... [INFO] [stdout] 146 | } [INFO] [stdout] 147 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/io/config.rs:124:46 [INFO] [stdout] | [INFO] [stdout] 124 | let mut receiver: BoxedReceiver = if let Some(conditioner_config) = self.conditioner { [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/server/io/config.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | } 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] 124 ~ let mut receiver: BoxedReceiver = match self.conditioner { Some(conditioner_config) => { [INFO] [stdout] 125 | let conditioner = LinkConditioner::new(conditioner_config); [INFO] [stdout] 126 | Box::new(conditioner.wrap(receiver)) [INFO] [stdout] 127 ~ } _ => { [INFO] [stdout] 128 | Box::new(receiver) [INFO] [stdout] 129 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/message.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | if let Some(message_list) = connection.received_messages.remove(&net) { [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/server/message.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 62 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 31 ~ match connection.received_messages.remove(&net) { Some(message_list) => { [INFO] [stdout] 32 | for (message_bytes, target, channel_kind) in message_list { [INFO] [stdout] ... [INFO] [stdout] 61 | } [INFO] [stdout] 62 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/clients.rs:53:24 [INFO] [stdout] | [INFO] [stdout] 53 | if let Ok(client_entity) = sender.client_entity(client_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/server/clients.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 66 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 53 ~ match sender.client_entity(client_id) { Ok(client_entity) => { [INFO] [stdout] 54 | if let Ok(mut controlled_entities) = client_query.get_mut(client_entity) { [INFO] [stdout] ... [INFO] [stdout] 65 | } [INFO] [stdout] 66 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/clients.rs:86:24 [INFO] [stdout] | [INFO] [stdout] 86 | if let Ok(client_entity) = sender.client_entity(client_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/server/clients.rs:99:21 [INFO] [stdout] | [INFO] [stdout] 99 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 86 ~ match sender.client_entity(client_id) { Ok(client_entity) => { [INFO] [stdout] 87 | if let Ok(mut controlled_entities) = client_query.get_mut(client_entity) { [INFO] [stdout] ... [INFO] [stdout] 98 | } [INFO] [stdout] 99 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/networking.rs:108:16 [INFO] [stdout] | [INFO] [stdout] 108 | if let Some(receiver) = &mut io.context.event_receiver { [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/server/networking.rs:126:13 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 108 ~ match &mut io.context.event_receiver { Some(receiver) => { [INFO] [stdout] 109 | match receiver.try_recv() { [INFO] [stdout] ... [INFO] [stdout] 125 | } [INFO] [stdout] 126 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/networking.rs:177:15 [INFO] [stdout] | [INFO] [stdout] 177 | while let Some((payload, client_id)) = netserver.recv() { [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/server/networking.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/networking.rs:181:16 [INFO] [stdout] | [INFO] [stdout] 181 | if let Some(connection) = connection_manager.connections.get_mut(&client_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/server/networking.rs:190:13 [INFO] [stdout] | [INFO] [stdout] 190 | } 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] 181 ~ match connection_manager.connections.get_mut(&client_id) { Some(connection) => { [INFO] [stdout] 182 | connection [INFO] [stdout] ... [INFO] [stdout] 189 | .expect("could not receive packet"); [INFO] [stdout] 190 ~ } _ => { [INFO] [stdout] 191 | // it's still possible to receive some packets from a client that just disconnected. [INFO] [stdout] ... [INFO] [stdout] 200 | } [INFO] [stdout] 201 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/relevance/immediate.rs:166:24 [INFO] [stdout] | [INFO] [stdout] 166 | if let Some(vis) = cache.clients_cache.get_mut(&client) { [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/server/relevance/immediate.rs:169:21 [INFO] [stdout] | [INFO] [stdout] 169 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 166 ~ match cache.clients_cache.get_mut(&client) { Some(vis) => { [INFO] [stdout] 167 | trace!("lose relevance for entity {entity:?} and client {client:?}"); [INFO] [stdout] 168 | *vis = ClientRelevance::Lost; [INFO] [stdout] 169 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/relevance/room.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | if let Some(rooms) = self.data.client_to_rooms.remove(&client_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/server/relevance/room.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 174 ~ match self.data.client_to_rooms.remove(&client_id) { Some(rooms) => { [INFO] [stdout] 175 | for room_id in rooms { [INFO] [stdout] 176 | self.remove_client_internal(room_id, client_id); [INFO] [stdout] 177 | } [INFO] [stdout] 178 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/server/relevance/room.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 183 | if let Some(rooms) = self.data.entity_to_rooms.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/server/relevance/room.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match self.data.entity_to_rooms.remove(&entity) { Some(rooms) => { [INFO] [stdout] 184 | for room_id in rooms { [INFO] [stdout] 185 | self.remove_entity_internal(room_id, entity); [INFO] [stdout] 186 | } [INFO] [stdout] 187 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/delta.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 204 | if let Some(data) = self.data.get_mut(&replication_group) { [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/shared/replication/delta.rs:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 204 ~ match self.data.get_mut(&replication_group) { Some(data) => { [INFO] [stdout] 205 | // we can remove all the keys older than the acked key [INFO] [stdout] ... [INFO] [stdout] 215 | *data = recent_data; [INFO] [stdout] 216 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/entity_map.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | if let Some(mapped) = self.0.get(&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/shared/replication/entity_map.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | } 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] 25 ~ match self.0.get(&entity) { Some(mapped) => { [INFO] [stdout] 26 | RemoteEntityMap::mark_mapped(*mapped) [INFO] [stdout] 27 ~ } _ => { [INFO] [stdout] 28 | entity [INFO] [stdout] 29 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/entity_map.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | if let Some(remote_entity) = self.local_to_remote.get(&local_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/shared/replication/entity_map.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | } 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] 129 ~ match self.local_to_remote.get(&local_entity) { Some(remote_entity) => { [INFO] [stdout] 130 | Self::mark_mapped(*remote_entity) [INFO] [stdout] 131 ~ } _ => { [INFO] [stdout] 132 | local_entity [INFO] [stdout] 133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/entity_map.rs:161:19 [INFO] [stdout] | [INFO] [stdout] 161 | } else if let Some(local) = self.remote_to_local.remove(&remote_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/shared/replication/entity_map.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 161 ~ } else { match self.remote_to_local.remove(&remote_entity) { Some(local) => { [INFO] [stdout] 162 | self.local_to_remote.remove(&local); [INFO] [stdout] 163 | return Some(local); [INFO] [stdout] 164 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/entity_map.rs:157:16 [INFO] [stdout] | [INFO] [stdout] 157 | if let Some(remote) = self.local_to_remote.remove(&local) { [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/shared/replication/entity_map.rs:160:13 [INFO] [stdout] | [INFO] [stdout] 160 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 157 ~ match self.local_to_remote.remove(&local) { Some(remote) => { [INFO] [stdout] 158 | self.remote_to_local.remove(&remote); [INFO] [stdout] 159 | return Some(local); [INFO] [stdout] 160 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/receive.rs:458:12 [INFO] [stdout] | [INFO] [stdout] 458 | if let Some(g) = self.group_channels.get(&group_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/shared/replication/receive.rs:469:9 [INFO] [stdout] | [INFO] [stdout] 469 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 458 ~ match self.group_channels.get(&group_id) { Some(g) => { [INFO] [stdout] 459 | g.remote_entities.iter().for_each(|remote_entity| { [INFO] [stdout] ... [INFO] [stdout] 468 | }); [INFO] [stdout] 469 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/receive.rs:460:20 [INFO] [stdout] | [INFO] [stdout] 460 | if let Some(mut local_entity_mut) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 461 | | self.remote_entity_map.get_by_remote(world, *remote_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/shared/replication/receive.rs:467:17 [INFO] [stdout] | [INFO] [stdout] 467 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 460 ~ match self.remote_entity_map.get_by_remote(world, *remote_entity) [INFO] [stdout] 461 ~ { Some(mut local_entity_mut) => { [INFO] [stdout] 462 | trace!(?remote_tick, "updating confirmed tick for entity"); [INFO] [stdout] ... [INFO] [stdout] 465 | } [INFO] [stdout] 466 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:147:15 [INFO] [stdout] | [INFO] [stdout] 147 | while let Ok(message_id) = self.updates_nack_receiver.try_recv() { [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/shared/replication/send.rs:182:9 [INFO] [stdout] | [INFO] [stdout] 182 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(UpdateMessageMetadata { [INFO] [stdout] | ________________^ [INFO] [stdout] 150 | | group_id, [INFO] [stdout] 151 | | bevy_tick, [INFO] [stdout] 152 | | .. [INFO] [stdout] 153 | | }) = self.updates_message_id_to_group_id.remove(&message_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/shared/replication/send.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | } 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] 149 ~ match self.updates_message_id_to_group_id.remove(&message_id) [INFO] [stdout] 150 ~ { Some(UpdateMessageMetadata { [INFO] [stdout] 151 + group_id, [INFO] [stdout] 152 + bevy_tick, [INFO] [stdout] 153 + .. [INFO] [stdout] 154 ~ }) => { [INFO] [stdout] 155 | if let SendUpdatesMode::SinceLastSend = self.replication_config.send_updates_mode { [INFO] [stdout] ... [INFO] [stdout] 177 | } [INFO] [stdout] 178 ~ } _ => { [INFO] [stdout] 179 | // NOTE: this happens when a message-id is split between multiple packets (fragmented messages) [INFO] [stdout] 180 | trace!("Received an update message-id nack ({message_id:?}) but we don't know the corresponding group id"); [INFO] [stdout] 181 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:156:24 [INFO] [stdout] | [INFO] [stdout] 156 | if let Some(channel) = self.group_channels.get_mut(&group_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/shared/replication/send.rs:174:21 [INFO] [stdout] | [INFO] [stdout] 174 | } 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] 156 ~ match self.group_channels.get_mut(&group_id) { Some(channel) => { [INFO] [stdout] 157 | // when we know an update message has been lost, we need to reset our send_tick [INFO] [stdout] ... [INFO] [stdout] 173 | // for that tick [INFO] [stdout] 174 ~ } _ => { [INFO] [stdout] 175 | error!("Received an update message-id nack but the corresponding group channel does not exist"); [INFO] [stdout] 176 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:197:15 [INFO] [stdout] | [INFO] [stdout] 197 | while let Ok(message_id) = self.message_send_receiver.try_recv() { [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/shared/replication/send.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:198:16 [INFO] [stdout] | [INFO] [stdout] 198 | if let Some(UpdateMessageMetadata { [INFO] [stdout] | ________________^ [INFO] [stdout] 199 | | group_id, [INFO] [stdout] 200 | | bevy_tick, [INFO] [stdout] 201 | | .. [INFO] [stdout] 202 | | }) = self.updates_message_id_to_group_id.get(&message_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/shared/replication/send.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | } 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] 198 ~ match self.updates_message_id_to_group_id.get(&message_id) [INFO] [stdout] 199 ~ { Some(UpdateMessageMetadata { [INFO] [stdout] 200 + group_id, [INFO] [stdout] 201 + bevy_tick, [INFO] [stdout] 202 + .. [INFO] [stdout] 203 ~ }) => { [INFO] [stdout] 204 | if let Some(channel) = self.group_channels.get_mut(group_id) { [INFO] [stdout] ... [INFO] [stdout] 216 | } [INFO] [stdout] 217 ~ } _ => { [INFO] [stdout] 218 | error!(?message_id, [INFO] [stdout] 219 | "Received an send message-id notification but we don't know the corresponding group id" [INFO] [stdout] 220 | ); [INFO] [stdout] 221 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:204:20 [INFO] [stdout] | [INFO] [stdout] 204 | if let Some(channel) = self.group_channels.get_mut(group_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/shared/replication/send.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | } 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] 204 ~ match self.group_channels.get_mut(group_id) { Some(channel) => { [INFO] [stdout] 205 | // TODO: should we also reset the priority for replication-action messages? [INFO] [stdout] ... [INFO] [stdout] 213 | channel.accumulated_priority = 0.0; [INFO] [stdout] 214 ~ } _ => { [INFO] [stdout] 215 | error!(?message_id, ?group_id, "Received a send message-id notification but the corresponding group channel does not exist"); [INFO] [stdout] 216 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:234:15 [INFO] [stdout] | [INFO] [stdout] 234 | while let Ok(message_id) = self.updates_ack_receiver.try_recv() { [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/shared/replication/send.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:236:16 [INFO] [stdout] | [INFO] [stdout] 236 | if let Some(UpdateMessageMetadata { [INFO] [stdout] | ________________^ [INFO] [stdout] 237 | | group_id, [INFO] [stdout] 238 | | bevy_tick, [INFO] [stdout] 239 | | tick, [INFO] [stdout] 240 | | }) = self.updates_message_id_to_group_id.remove(&message_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/shared/replication/send.rs:253:13 [INFO] [stdout] | [INFO] [stdout] 253 | } 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] 236 ~ match self.updates_message_id_to_group_id.remove(&message_id) [INFO] [stdout] 237 ~ { Some(UpdateMessageMetadata { [INFO] [stdout] 238 + group_id, [INFO] [stdout] 239 + bevy_tick, [INFO] [stdout] 240 + tick, [INFO] [stdout] 241 ~ }) => { [INFO] [stdout] 242 | if let Some(channel) = self.group_channels.get_mut(&group_id) { [INFO] [stdout] ... [INFO] [stdout] 252 | } [INFO] [stdout] 253 ~ } _ => { [INFO] [stdout] 254 | error!("Received an update message-id ack but we don't know the corresponding group id"); [INFO] [stdout] 255 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/shared/replication/send.rs:242:20 [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(channel) = self.group_channels.get_mut(&group_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/shared/replication/send.rs:250:17 [INFO] [stdout] | [INFO] [stdout] 250 | } 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] 242 ~ match self.group_channels.get_mut(&group_id) { Some(channel) => { [INFO] [stdout] 243 | // update the ack tick for the channel [INFO] [stdout] ... [INFO] [stdout] 249 | delta_manager.receive_ack(tick, group_id, component_registry); [INFO] [stdout] 250 ~ } _ => { [INFO] [stdout] 251 | error!("Received an update message-id ack but the corresponding group channel does not exist"); [INFO] [stdout] 252 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl transport::PacketSender` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/transport/io.rs:42:38 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn split(&mut self) -> (&mut impl PacketSender, &mut impl PacketReceiver) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/transport/io.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn split(&mut self) -> (&mut impl PacketSender, &mut impl PacketReceiver) { [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] 42 | pub fn split(&mut self) -> (&mut impl PacketSender + use, &mut impl PacketReceiver) { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl transport::PacketReceiver` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/transport/io.rs:42:62 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn split(&mut self) -> (&mut impl PacketSender, &mut impl PacketReceiver) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/transport/io.rs:42:18 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn split(&mut self) -> (&mut impl PacketSender, &mut impl PacketReceiver) { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 42 | pub fn split(&mut self) -> (&mut impl PacketSender, &mut impl PacketReceiver + use) { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:57:16 [INFO] [stdout] | [INFO] [stdout] 57 | if let Some(container) = self.heap.peek() { [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/utils/ready_buffer.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 57 ~ match self.heap.peek() { Some(container) => { [INFO] [stdout] 58 | return Some((container.key.clone(), &container.item)); [INFO] [stdout] 59 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | if let Some(container) = self.heap.pop() { [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/utils/ready_buffer.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 68 ~ match self.heap.pop() { Some(container) => { [INFO] [stdout] 69 | return Some((container.key, container.item)); [INFO] [stdout] 70 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:84:15 [INFO] [stdout] | [INFO] [stdout] 84 | while let Some(item_with_key) = self.heap.peek() { [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/utils/ready_buffer.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | while let Some(item_with_key) = self.heap.peek() { [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/utils/ready_buffer.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:111:16 [INFO] [stdout] | [INFO] [stdout] 111 | if let Some(v) = self.heap.pop().map(|item| (item.key, item.item)) { [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/utils/ready_buffer.rs:113:13 [INFO] [stdout] | [INFO] [stdout] 113 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 111 ~ match self.heap.pop().map(|item| (item.key, item.item)) { Some(v) => { [INFO] [stdout] 112 | val.push(v); [INFO] [stdout] 113 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/ready_buffer.rs:125:15 [INFO] [stdout] | [INFO] [stdout] 125 | while let Some(item_with_key) = self.heap.pop() { [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/utils/ready_buffer.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 109 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 55.04s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking lightyear v0.17.1 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/shared/time_manager.rs:231:17 [INFO] [stdout] | [INFO] [stdout] 231 | let gen = (self.elapsed.as_nanos() / period.as_nanos()) as u16; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 231 | let r#gen = (self.elapsed.as_nanos() / period.as_nanos()) as u16; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/shared/time_manager.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | gen.saturating_add(1) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/shared/time_manager.rs:231:17 [INFO] [stdout] | [INFO] [stdout] 231 | let gen = (self.elapsed.as_nanos() / period.as_nanos()) as u16; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 231 | let r#gen = (self.elapsed.as_nanos() / period.as_nanos()) as u16; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/shared/time_manager.rs:239:17 [INFO] [stdout] | [INFO] [stdout] 239 | gen.saturating_add(1) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/shared/time_manager.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | gen.saturating_sub(1) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/shared/time_manager.rs:242:17 [INFO] [stdout] | [INFO] [stdout] 242 | gen.saturating_sub(1) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/shared/time_manager.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | gen [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/shared/time_manager.rs:245:17 [INFO] [stdout] | [INFO] [stdout] 245 | gen [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/client/prediction/rollback.rs:13:29 [INFO] [stdout] | [INFO] [stdout] 13 | use tracing::{debug, error, info, trace, trace_span}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/shared/events/connection.rs:247:51 [INFO] [stdout] | [INFO] [stdout] 244 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 247 | ) -> Box + '_>; [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/shared/events/connection.rs:255:50 [INFO] [stdout] | [INFO] [stdout] 252 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 255 | ) -> Box + '_> { [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/client/prediction/rollback.rs:13:29 [INFO] [stdout] | [INFO] [stdout] 13 | use tracing::{debug, error, info, trace, trace_span}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/shared/events/connection.rs:247:51 [INFO] [stdout] | [INFO] [stdout] 244 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 247 | ) -> Box + '_>; [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/shared/events/connection.rs:255:50 [INFO] [stdout] | [INFO] [stdout] 252 | fn iter_component_remove<'a, 'b: 'a, C: Component>( [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 255 | ) -> Box + '_> { [INFO] [stdout] | ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:716:16 [INFO] [stdout] | [INFO] [stdout] 716 | Ok((delta_fns.clone)(data)) [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/protocol/component.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | / pub(crate) unsafe fn erased_clone( [INFO] [stdout] 708 | | &self, [INFO] [stdout] 709 | | data: Ptr, [INFO] [stdout] 710 | | kind: ComponentKind, [INFO] [stdout] 711 | | ) -> Result, ComponentError> { [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:729:13 [INFO] [stdout] | [INFO] [stdout] 729 | (delta_fns.drop)(data); [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/protocol/component.rs:720:9 [INFO] [stdout] | [INFO] [stdout] 720 | / pub(crate) unsafe fn erased_drop( [INFO] [stdout] 721 | | &self, [INFO] [stdout] 722 | | data: NonNull, [INFO] [stdout] 723 | | kind: ComponentKind, [INFO] [stdout] 724 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:749:25 [INFO] [stdout] | [INFO] [stdout] 749 | let delta = (delta_fns.diff)(start_tick, start, new); [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/protocol/component.rs:734:9 [INFO] [stdout] | [INFO] [stdout] 734 | / pub(crate) unsafe fn serialize_diff( [INFO] [stdout] 735 | | &self, [INFO] [stdout] 736 | | start_tick: Tick, [INFO] [stdout] 737 | | start: Ptr, [INFO] [stdout] ... | [INFO] [stdout] 742 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 743 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:750:35 [INFO] [stdout] | [INFO] [stdout] 750 | self.erased_serialize(Ptr::new(delta), writer, delta_fns.delta_kind, entity_map)?; [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:752:13 [INFO] [stdout] | [INFO] [stdout] 752 | (delta_fns.drop_delta_message)(delta); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:769:25 [INFO] [stdout] | [INFO] [stdout] 769 | let delta = (delta_fns.diff_from_base)(component_data); [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/protocol/component.rs:757:9 [INFO] [stdout] | [INFO] [stdout] 757 | / pub(crate) unsafe fn serialize_diff_from_base_value( [INFO] [stdout] 758 | | &self, [INFO] [stdout] 759 | | component_data: Ptr, [INFO] [stdout] 760 | | writer: &mut Writer, [INFO] [stdout] ... | [INFO] [stdout] 763 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 764 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:770:35 [INFO] [stdout] | [INFO] [stdout] 770 | self.erased_serialize(Ptr::new(delta), writer, delta_fns.delta_kind, entity_map)?; [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:772:13 [INFO] [stdout] | [INFO] [stdout] 772 | (delta_fns.drop_delta_message)(delta); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | let cloned: C = data.deref::().clone(); [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/protocol/delta.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe fn erased_clone(data: Ptr) -> NonNull { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | let delta = C::diff(previous.deref::(), present.deref::()); [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/protocol/delta.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / unsafe fn erased_diff( [INFO] [stdout] 26 | | previous_tick: Tick, [INFO] [stdout] 27 | | previous: Ptr, [INFO] [stdout] 28 | | present: Ptr, [INFO] [stdout] 29 | | ) -> NonNull { [INFO] [stdout] | |________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:30:48 [INFO] [stdout] | [INFO] [stdout] 30 | let delta = C::diff(previous.deref::(), present.deref::()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:41:32 [INFO] [stdout] | [INFO] [stdout] 41 | let delta = C::diff(&base, other.deref::()); [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/protocol/delta.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe fn erased_base_diff(other: Ptr) -> NonNull { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | C::apply_diff(data.deref_mut::(), delta.deref::()); [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/protocol/delta.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | unsafe fn erased_apply_diff(data: PtrMut, delta: Ptr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:54:42 [INFO] [stdout] | [INFO] [stdout] 54 | C::apply_diff(data.deref_mut::(), delta.deref::()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let _ = Box::from_raw(data.cast::().as_ptr()); [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/protocol/delta.rs:57:1 [INFO] [stdout] | [INFO] [stdout] 57 | unsafe fn erased_drop(data: NonNull) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `protocol::serialize::ErasedSerializeFns::typed` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:71:31 [INFO] [stdout] | [INFO] [stdout] 71 | let typed_serialize_fns = erased_serialize_fn.typed::(); [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/protocol/serialize.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | / unsafe fn erased_serialize_fn( [INFO] [stdout] 66 | | erased_serialize_fn: &ErasedSerializeFns, [INFO] [stdout] 67 | | message: Ptr, [INFO] [stdout] 68 | | writer: &mut Writer, [INFO] [stdout] 69 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 70 | | ) -> Result<(), SerializationError> { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | message.deref::(), [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | std::mem::transmute(erased_serialize_fn.erased_clone.unwrap()), [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:84:23 [INFO] [stdout] | [INFO] [stdout] 84 | let message = message.deref::(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 130 | let message = message.deref_mut::(); [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/protocol/serialize.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | / unsafe fn erased_map_entities( [INFO] [stdout] 127 | | message: PtrMut, [INFO] [stdout] 128 | | entity_map: &mut EntityMap, [INFO] [stdout] 129 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:139:19 [INFO] [stdout] | [INFO] [stdout] 139 | let message = message.deref_mut::(); [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/protocol/serialize.rs:135:1 [INFO] [stdout] | [INFO] [stdout] 135 | / unsafe fn erased_send_map_entities( [INFO] [stdout] 136 | | message: PtrMut, [INFO] [stdout] 137 | | entity_map: &mut SendEntityMap, [INFO] [stdout] 138 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:148:19 [INFO] [stdout] | [INFO] [stdout] 148 | let message = message.deref_mut::(); [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/protocol/serialize.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / unsafe fn erased_receive_map_entities( [INFO] [stdout] 145 | | message: PtrMut, [INFO] [stdout] 146 | | entity_map: &mut ReceiveEntityMap, [INFO] [stdout] 147 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:250:17 [INFO] [stdout] | [INFO] [stdout] 250 | std::mem::transmute(self.erased_clone.unwrap()), [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/protocol/serialize.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | / pub(crate) unsafe fn serialize( [INFO] [stdout] 238 | | &self, [INFO] [stdout] 239 | | message: &M, [INFO] [stdout] 240 | | writer: &mut Writer, [INFO] [stdout] 241 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 242 | | ) -> Result<(), SerializationError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:270:13 [INFO] [stdout] | [INFO] [stdout] 270 | map_entities(PtrMut::from(&mut message), entity_map); [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/protocol/serialize.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 262 | / pub(crate) unsafe fn deserialize( [INFO] [stdout] 263 | | &self, [INFO] [stdout] 264 | | reader: &mut Reader, [INFO] [stdout] 265 | | entity_map: &mut ReceiveEntityMap, [INFO] [stdout] 266 | | ) -> Result { [INFO] [stdout] | |______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:117:26 [INFO] [stdout] | [INFO] [stdout] 117 | let column = table.get_column(component_id).unwrap_unchecked(); [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/shared/replication/archetypes.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | / pub(crate) unsafe fn get_erased_component<'w>( [INFO] [stdout] 109 | | table: &'w Table, [INFO] [stdout] 110 | | sparse_sets: &'w SparseSets, [INFO] [stdout] 111 | | entity: &ArchetypeEntity, [INFO] [stdout] 112 | | storage_type: StorageType, [INFO] [stdout] 113 | | component_id: ComponentId, [INFO] [stdout] 114 | | ) -> (Ptr<'w>, ComponentTicks) { [INFO] [stdout] | |______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ecs::storage::Column::get_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:118:29 [INFO] [stdout] | [INFO] [stdout] 118 | let component = column.get_data_unchecked(entity.table_row()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ecs::storage::Column::get_ticks_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | let ticks = column.get_ticks_unchecked(entity.table_row()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:124:30 [INFO] [stdout] | [INFO] [stdout] 124 | let sparse_set = sparse_sets.get(component_id).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:125:29 [INFO] [stdout] | [INFO] [stdout] 125 | let component = sparse_set.get(entity.id()).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:126:25 [INFO] [stdout] | [INFO] [stdout] 126 | let ticks = sparse_set.get_ticks(entity.id()).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::ManuallyDrop::::take` is unsafe and requires unsafe block [INFO] [stdout] --> src/utils/pool.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | ManuallyDrop::take(&mut self.data) [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/utils/pool.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 158 | unsafe fn take(&mut self) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `lightyear` (lib) due to 5 previous errors; 34 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:716:16 [INFO] [stdout] | [INFO] [stdout] 716 | Ok((delta_fns.clone)(data)) [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/protocol/component.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | / pub(crate) unsafe fn erased_clone( [INFO] [stdout] 708 | | &self, [INFO] [stdout] 709 | | data: Ptr, [INFO] [stdout] 710 | | kind: ComponentKind, [INFO] [stdout] 711 | | ) -> Result, ComponentError> { [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:729:13 [INFO] [stdout] | [INFO] [stdout] 729 | (delta_fns.drop)(data); [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/protocol/component.rs:720:9 [INFO] [stdout] | [INFO] [stdout] 720 | / pub(crate) unsafe fn erased_drop( [INFO] [stdout] 721 | | &self, [INFO] [stdout] 722 | | data: NonNull, [INFO] [stdout] 723 | | kind: ComponentKind, [INFO] [stdout] 724 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:749:25 [INFO] [stdout] | [INFO] [stdout] 749 | let delta = (delta_fns.diff)(start_tick, start, new); [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/protocol/component.rs:734:9 [INFO] [stdout] | [INFO] [stdout] 734 | / pub(crate) unsafe fn serialize_diff( [INFO] [stdout] 735 | | &self, [INFO] [stdout] 736 | | start_tick: Tick, [INFO] [stdout] 737 | | start: Ptr, [INFO] [stdout] ... | [INFO] [stdout] 742 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 743 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:750:35 [INFO] [stdout] | [INFO] [stdout] 750 | self.erased_serialize(Ptr::new(delta), writer, delta_fns.delta_kind, entity_map)?; [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:752:13 [INFO] [stdout] | [INFO] [stdout] 752 | (delta_fns.drop_delta_message)(delta); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:769:25 [INFO] [stdout] | [INFO] [stdout] 769 | let delta = (delta_fns.diff_from_base)(component_data); [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/protocol/component.rs:757:9 [INFO] [stdout] | [INFO] [stdout] 757 | / pub(crate) unsafe fn serialize_diff_from_base_value( [INFO] [stdout] 758 | | &self, [INFO] [stdout] 759 | | component_data: Ptr, [INFO] [stdout] 760 | | writer: &mut Writer, [INFO] [stdout] ... | [INFO] [stdout] 763 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 764 | | ) -> Result<(), ComponentError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::new` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:770:35 [INFO] [stdout] | [INFO] [stdout] 770 | self.erased_serialize(Ptr::new(delta), writer, delta_fns.delta_kind, entity_map)?; [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/component.rs:772:13 [INFO] [stdout] | [INFO] [stdout] 772 | (delta_fns.drop_delta_message)(delta); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:17:21 [INFO] [stdout] | [INFO] [stdout] 17 | let cloned: C = data.deref::().clone(); [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/protocol/delta.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | unsafe fn erased_clone(data: Ptr) -> NonNull { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:30:25 [INFO] [stdout] | [INFO] [stdout] 30 | let delta = C::diff(previous.deref::(), present.deref::()); [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/protocol/delta.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | / unsafe fn erased_diff( [INFO] [stdout] 26 | | previous_tick: Tick, [INFO] [stdout] 27 | | previous: Ptr, [INFO] [stdout] 28 | | present: Ptr, [INFO] [stdout] 29 | | ) -> NonNull { [INFO] [stdout] | |________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:30:48 [INFO] [stdout] | [INFO] [stdout] 30 | let delta = C::diff(previous.deref::(), present.deref::()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:41:32 [INFO] [stdout] | [INFO] [stdout] 41 | let delta = C::diff(&base, other.deref::()); [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/protocol/delta.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe fn erased_base_diff(other: Ptr) -> NonNull { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | C::apply_diff(data.deref_mut::(), delta.deref::()); [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/protocol/delta.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | unsafe fn erased_apply_diff(data: PtrMut, delta: Ptr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:54:42 [INFO] [stdout] | [INFO] [stdout] 54 | C::apply_diff(data.deref_mut::(), delta.deref::()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::::from_raw` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/delta.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | let _ = Box::from_raw(data.cast::().as_ptr()); [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/protocol/delta.rs:57:1 [INFO] [stdout] | [INFO] [stdout] 57 | unsafe fn erased_drop(data: NonNull) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `protocol::serialize::ErasedSerializeFns::typed` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:71:31 [INFO] [stdout] | [INFO] [stdout] 71 | let typed_serialize_fns = erased_serialize_fn.typed::(); [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/protocol/serialize.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | / unsafe fn erased_serialize_fn( [INFO] [stdout] 66 | | erased_serialize_fn: &ErasedSerializeFns, [INFO] [stdout] 67 | | message: Ptr, [INFO] [stdout] 68 | | writer: &mut Writer, [INFO] [stdout] 69 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 70 | | ) -> Result<(), SerializationError> { [INFO] [stdout] | |___________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | message.deref::(), [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 78 | std::mem::transmute(erased_serialize_fn.erased_clone.unwrap()), [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::Ptr::<'a, A>::deref` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:84:23 [INFO] [stdout] | [INFO] [stdout] 84 | let message = message.deref::(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:130:19 [INFO] [stdout] | [INFO] [stdout] 130 | let message = message.deref_mut::(); [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/protocol/serialize.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | / unsafe fn erased_map_entities( [INFO] [stdout] 127 | | message: PtrMut, [INFO] [stdout] 128 | | entity_map: &mut EntityMap, [INFO] [stdout] 129 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:139:19 [INFO] [stdout] | [INFO] [stdout] 139 | let message = message.deref_mut::(); [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/protocol/serialize.rs:135:1 [INFO] [stdout] | [INFO] [stdout] 135 | / unsafe fn erased_send_map_entities( [INFO] [stdout] 136 | | message: PtrMut, [INFO] [stdout] 137 | | entity_map: &mut SendEntityMap, [INFO] [stdout] 138 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ptr::PtrMut::<'a, A>::deref_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:148:19 [INFO] [stdout] | [INFO] [stdout] 148 | let message = message.deref_mut::(); [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/protocol/serialize.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / unsafe fn erased_receive_map_entities( [INFO] [stdout] 145 | | message: PtrMut, [INFO] [stdout] 146 | | entity_map: &mut ReceiveEntityMap, [INFO] [stdout] 147 | | ) { [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:250:17 [INFO] [stdout] | [INFO] [stdout] 250 | std::mem::transmute(self.erased_clone.unwrap()), [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/protocol/serialize.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | / pub(crate) unsafe fn serialize( [INFO] [stdout] 238 | | &self, [INFO] [stdout] 239 | | message: &M, [INFO] [stdout] 240 | | writer: &mut Writer, [INFO] [stdout] 241 | | entity_map: Option<&mut SendEntityMap>, [INFO] [stdout] 242 | | ) -> Result<(), SerializationError> { [INFO] [stdout] | |_______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function is unsafe and requires unsafe block [INFO] [stdout] --> src/protocol/serialize.rs:270:13 [INFO] [stdout] | [INFO] [stdout] 270 | map_entities(PtrMut::from(&mut message), entity_map); [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/protocol/serialize.rs:262:5 [INFO] [stdout] | [INFO] [stdout] 262 | / pub(crate) unsafe fn deserialize( [INFO] [stdout] 263 | | &self, [INFO] [stdout] 264 | | reader: &mut Reader, [INFO] [stdout] 265 | | entity_map: &mut ReceiveEntityMap, [INFO] [stdout] 266 | | ) -> Result { [INFO] [stdout] | |______________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:117:26 [INFO] [stdout] | [INFO] [stdout] 117 | let column = table.get_column(component_id).unwrap_unchecked(); [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/shared/replication/archetypes.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | / pub(crate) unsafe fn get_erased_component<'w>( [INFO] [stdout] 109 | | table: &'w Table, [INFO] [stdout] 110 | | sparse_sets: &'w SparseSets, [INFO] [stdout] 111 | | entity: &ArchetypeEntity, [INFO] [stdout] 112 | | storage_type: StorageType, [INFO] [stdout] 113 | | component_id: ComponentId, [INFO] [stdout] 114 | | ) -> (Ptr<'w>, ComponentTicks) { [INFO] [stdout] | |______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ecs::storage::Column::get_data_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:118:29 [INFO] [stdout] | [INFO] [stdout] 118 | let component = column.get_data_unchecked(entity.table_row()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `bevy::bevy_ecs::storage::Column::get_ticks_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | let ticks = column.get_ticks_unchecked(entity.table_row()); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:124:30 [INFO] [stdout] | [INFO] [stdout] 124 | let sparse_set = sparse_sets.get(component_id).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:125:29 [INFO] [stdout] | [INFO] [stdout] 125 | let component = sparse_set.get(entity.id()).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::option::Option::::unwrap_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/shared/replication/archetypes.rs:126:25 [INFO] [stdout] | [INFO] [stdout] 126 | let ticks = sparse_set.get_ticks(entity.id()).unwrap_unchecked(); [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] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::mem::ManuallyDrop::::take` is unsafe and requires unsafe block [INFO] [stdout] --> src/utils/pool.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | ManuallyDrop::take(&mut self.data) [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/utils/pool.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 158 | unsafe fn take(&mut self) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `lightyear` (lib test) due to 5 previous errors; 34 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "b1a1edf3285be3e7af7f7e9e88a9aae89796fbfc421f52aa3502097bcace5f03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b1a1edf3285be3e7af7f7e9e88a9aae89796fbfc421f52aa3502097bcace5f03", kill_on_drop: false }` [INFO] [stdout] b1a1edf3285be3e7af7f7e9e88a9aae89796fbfc421f52aa3502097bcace5f03