[INFO] cloning repository https://github.com/clockworklabs/SpacetimeDB [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/clockworklabs/SpacetimeDB" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclockworklabs%2FSpacetimeDB", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclockworklabs%2FSpacetimeDB'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 53758420ec3f03cda7927457e2d7803b7bc9ed5f [INFO] checking clockworklabs/SpacetimeDB/53758420ec3f03cda7927457e2d7803b7bc9ed5f against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclockworklabs%2FSpacetimeDB" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/clockworklabs/SpacetimeDB 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] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/clockworklabs/SpacetimeDB [INFO] finished tweaking git repo https://github.com/clockworklabs/SpacetimeDB [INFO] tweaked toml for git repo https://github.com/clockworklabs/SpacetimeDB written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/clockworklabs/SpacetimeDB already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: /workspace/builds/worker-4-tc2/source/crates/standalone/Cargo.toml: unused manifest key: bin.0.plugin [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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0347faa830ecee6d044d4c7e7f9cd1d72a706f05418782f33d8e6155f882e79a [INFO] running `Command { std: "docker" "start" "-a" "0347faa830ecee6d044d4c7e7f9cd1d72a706f05418782f33d8e6155f882e79a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0347faa830ecee6d044d4c7e7f9cd1d72a706f05418782f33d8e6155f882e79a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0347faa830ecee6d044d4c7e7f9cd1d72a706f05418782f33d8e6155f882e79a", kill_on_drop: false }` [INFO] [stdout] 0347faa830ecee6d044d4c7e7f9cd1d72a706f05418782f33d8e6155f882e79a [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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 709d2932eebf67d101b2ef04b8abeed9044c9aa06999435258f3f62752c002a3 [INFO] running `Command { std: "docker" "start" "-a" "709d2932eebf67d101b2ef04b8abeed9044c9aa06999435258f3f62752c002a3", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating crates/bench/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/client-api/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/client-api-messages/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/lib/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/bindings-macro/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/primitives/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/data-structures/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/metrics/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/sats/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/core/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/commitlog/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed crates/commitlog/Cargo.toml (1 fix) [INFO] [stderr] Migrating crates/durability/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/schema/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/cli/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed crates/cli/Cargo.toml (1 fix) [INFO] [stderr] Migrating crates/fs-utils/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/standalone/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/testing/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/snapshot/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/table/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/vm/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/bindings-sys/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/bindings/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/planner/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/sql-parser/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/sdk/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/sqltest/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating modules/benchmarks/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating modules/perf-test/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating modules/rust-wasm-test/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating modules/quickstart-chat/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating modules/sdk-test/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating modules/sdk-test-connect-disconnect/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating modules/spacetimedb-quickstart/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/sdk/tests/test-client/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/sdk/tests/test-counter/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating crates/sdk/tests/connect_disconnect_client/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Migrating tools/upgrade-version/Cargo.toml from 2021 edition to 2024 [INFO] [stderr] warning: /tmp/fixit/crates/standalone/Cargo.toml: unused manifest key: bin.0.plugin [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Compiling thiserror v1.0.64 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling libm v0.2.8 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking bytes v1.7.2 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling rustix v0.38.37 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling cc v1.1.21 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking gimli v0.31.0 [INFO] [stderr] Checking object v0.36.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking nohash-hasher v0.2.0 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Compiling protobuf v2.28.0 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Compiling prometheus v0.13.4 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Compiling blake3 v1.5.4 [INFO] [stderr] Checking addr2line v0.24.1 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking unarray v0.1.4 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking constant_time_eq v0.3.1 [INFO] [stderr] Checking keccak v0.1.5 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Checking arrayref v0.3.9 [INFO] [stderr] Checking sha3 v0.10.8 [INFO] [stderr] Checking decorum v0.3.1 [INFO] [stderr] Checking second-stack v0.3.5 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Checking tinyvec v1.8.0 [INFO] [stderr] Compiling spacetimedb-primitives v0.12.0 (/tmp/fixit/crates/primitives) [INFO] [stderr] Migrating crates/primitives/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Checking backtrace v0.3.74 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_primitives` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/primitives/src/col_list.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/primitives/src/col_list.rs:26:8 [INFO] [stderr] | [INFO] [stderr] 26 | ($($elem:expr_2021),* $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/primitives/src/col_list.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | ($($elem:expr),* $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | ($($elem:expr_2021),* $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling bytemuck_derive v1.7.1 [INFO] [stderr] Compiling derive_more v0.99.18 [INFO] [stderr] Compiling enum-as-inner v0.6.1 [INFO] [stderr] Compiling spacetimedb-bindings-macro v0.12.0 (/tmp/fixit/crates/bindings-macro) [INFO] [stderr] Migrating crates/bindings-macro/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Compiling proptest-derive v0.4.0 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking bytemuck v1.18.0 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking spacetimedb-metrics v0.12.0 (/tmp/fixit/crates/metrics) [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Migrating crates/metrics/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_bindings_macro` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/bindings-macro/src/lib.rs [INFO] [stderr] * crates/bindings-macro/src/macros.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:26:66 [INFO] [stderr] | [INFO] [stderr] 26 | (@match $acc:tt, $comparisons:tt, $meta:ident { $sym:path => $body:expr_2021, $($rest:tt)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:30:31 [INFO] [stderr] | [INFO] [stderr] 30 | (@match ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident {}) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:37:30 [INFO] [stderr] | [INFO] [stderr] 37 | (@case ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident, $binding:tt, $sym:path, $body:expr_2021, { $($rest:tt)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:37:95 [INFO] [stderr] | [INFO] [stderr] 37 | (@case ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident, $binding:tt, $sym:path, $body:expr_2021, { $($rest:tt)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> crates/bindings-macro/src/lib.rs:570:103 [INFO] [stderr] | [INFO] [stderr] 570 | fn validate<'a>(&'a self, table_name: &str, cols: &'a [Column<'a>]) -> syn::Result> { [INFO] [stderr] | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:26:72 [INFO] [stdout] | [INFO] [stdout] 26 | (@match $acc:tt, $comparisons:tt, $meta:ident { $sym:path => $body:expr, $($rest:tt)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | (@match $acc:tt, $comparisons:tt, $meta:ident { $sym:path => $body:expr_2021, $($rest:tt)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:30:44 [INFO] [stdout] | [INFO] [stdout] 30 | (@match ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident {}) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | (@match ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident {}) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:37:43 [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident, $binding:tt, $sym:path, $body:expr, { $($rest:tt)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident, $binding:tt, $sym:path, $body:expr, { $($rest:tt)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:37:96 [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident, $binding:tt, $sym:path, $body:expr, { $($rest:tt)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident, $binding:tt, $sym:path, $body:expr_2021, { $($rest:tt)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:570:103 [INFO] [stdout] | [INFO] [stdout] 570 | fn validate<'a>(&'a self, table_name: &str, cols: &'a [Column<'a>]) -> syn::Result> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ 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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | if let syn::Pat::Ident(i) = &*arg.pat { [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] --> crates/bindings-macro/src/lib.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | } else { [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] 347 ~ match &*arg.pat { syn::Pat::Ident(i) => { [INFO] [stdout] 348 | let name = i.ident.to_string(); [INFO] [stdout] 349 | quote!(Some(#name)) [INFO] [stdout] 350 ~ } _ => { [INFO] [stdout] 351 | quote!(None) [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:425:8 [INFO] [stdout] | [INFO] [stdout] 425 | if let syn::Data::Struct(struct_data) = &mut item.data { [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] --> crates/bindings-macro/src/lib.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 435 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 425 ~ match &mut item.data { syn::Data::Struct(struct_data) => { [INFO] [stdout] 426 | if let syn::Fields::Named(fields) = &mut struct_data.fields { [INFO] [stdout] ... [INFO] [stdout] 434 | } [INFO] [stdout] 435 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:426:12 [INFO] [stdout] | [INFO] [stdout] 426 | if let syn::Fields::Named(fields) = &mut struct_data.fields { [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] --> crates/bindings-macro/src/lib.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 426 ~ match &mut struct_data.fields { syn::Fields::Named(fields) => { [INFO] [stdout] 427 | let extra_fields: syn::FieldsNamed = parse_quote!({ [INFO] [stdout] ... [INFO] [stdout] 433 | fields.named.extend(extra_fields.named); [INFO] [stdout] 434 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/module.rs:341:20 [INFO] [stdout] | [INFO] [stdout] 341 | if let (Some(member), Some(ty)) = (&var.member, var.ty) { [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] --> crates/bindings-macro/src/module.rs:345:17 [INFO] [stdout] | [INFO] [stdout] 345 | } 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] 341 ~ match (&var.member, var.ty) { (Some(member), Some(ty)) => { [INFO] [stdout] 342 | quote! { [INFO] [stdout] 343 | __Variant::#ident => Ok(#name::#ident { #member: #spacetimedb_lib::de::VariantAccess::deserialize::<#ty>(__access)? }), [INFO] [stdout] 344 | } [INFO] [stdout] 345 ~ } _ => { [INFO] [stdout] 346 | quote! { [INFO] [stdout] ... [INFO] [stdout] 351 | } [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/module.rs:442:20 [INFO] [stdout] | [INFO] [stdout] 442 | if let (Some(member), Some(ty)) = (&var.member, var.ty) { [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] --> crates/bindings-macro/src/module.rs:446:17 [INFO] [stdout] | [INFO] [stdout] 446 | } 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] 442 ~ match (&var.member, var.ty) { (Some(member), Some(ty)) => { [INFO] [stdout] 443 | quote_spanned! {ty.span()=> [INFO] [stdout] 444 | Self::#name { #member: __variant } => __serializer.serialize_variant::<#ty>(#tag, Some(#name_str), __variant), [INFO] [stdout] 445 | } [INFO] [stdout] 446 ~ } _ => { [INFO] [stdout] 447 | quote! { [INFO] [stdout] 448 | Self::#name => __serializer.serialize_variant(#tag, Some(#name_str), &()), [INFO] [stdout] 449 | } [INFO] [stdout] 450 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_metrics` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/metrics/src/typed_prometheus.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:6:42 [INFO] [stderr] | [INFO] [stderr] 6 | ... $(#[name = $name:ident] #[help = $help:expr_2021] $(#[labels($($labels:ident: $labelty:ty),*)])? $(#[buckets($($bucket:literal),*)]... [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:61:14 [INFO] [stderr] | [INFO] [stderr] 61 | ($ty:ty, $name:expr_2021, $help:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:61:31 [INFO] [stderr] | [INFO] [stderr] 61 | ($ty:ty, $name:expr_2021, $help:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:64:14 [INFO] [stderr] | [INFO] [stderr] 64 | ($ty:ty, $name:expr_2021, $help:expr_2021, $labels:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:64:31 [INFO] [stderr] | [INFO] [stderr] 64 | ($ty:ty, $name:expr_2021, $help:expr_2021, $labels:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:64:48 [INFO] [stderr] | [INFO] [stderr] 64 | ($ty:ty, $name:expr_2021, $help:expr_2021, $labels:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | ... $(#[name = $name:ident] #[help = $help:expr] $(#[labels($($labels:ident: $labelty:ty),*)])? $(#[buckets($($bucket:literal),*)])? $v... [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 6 | $(#[name = $name:ident] #[help = $help:expr_2021] $(#[labels($($labels:ident: $labelty:ty),*)])? $(#[buckets($($bucket:literal),*)])? $vis:vis $field:ident: $ty:ident,)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | ($ty:ty, $name:expr, $help:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 61 | ($ty:ty, $name:expr_2021, $help:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | ($ty:ty, $name:expr, $help:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 61 | ($ty:ty, $name:expr, $help:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr, $help:expr, $labels:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr_2021, $help:expr, $labels:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr, $help:expr, $labels:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr, $help:expr_2021, $labels:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:64:46 [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr, $help:expr, $labels:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr, $help:expr, $labels:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking cpufeatures v0.2.14 [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling openssl-src v300.3.2+3.3.2 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Compiling openssl-sys v0.9.103 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Compiling httparse v1.9.4 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Compiling openssl v0.10.66 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Checking clap_lex v0.7.2 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Compiling clap_derive v4.5.18 [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Compiling cranelift-isle v0.102.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking tokio-util v0.7.12 [INFO] [stderr] Compiling cranelift-codegen-shared v0.102.1 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking tower-layer v0.3.3 [INFO] [stderr] Compiling cranelift-codegen-meta v0.102.1 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Compiling crc32c v0.6.8 [INFO] [stderr] Compiling strum_macros v0.25.3 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking indexmap v2.5.0 [INFO] [stderr] Checking bytestring v1.3.1 [INFO] [stderr] Checking ethnum v1.5.0 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_primitives` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/primitives/src/col_list.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/primitives/src/col_list.rs:26:8 [INFO] [stderr] | [INFO] [stderr] 26 | ($($elem:expr_2021),* $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/primitives/src/col_list.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | ($($elem:expr),* $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | ($($elem:expr_2021),* $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetimedb-data-structures v0.12.0 (/tmp/fixit/crates/data-structures) [INFO] [stderr] Migrating crates/data-structures/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_data_structures` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/data-structures/src/error_stream.rs [INFO] [stderr] * crates/data-structures/src/slim_slice.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/data-structures/src/error_stream.rs:462:6 [INFO] [stderr] | [INFO] [stderr] 462 | ($result:expr_2021, $expected:pat => $cond:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/data-structures/src/error_stream.rs:462:42 [INFO] [stderr] | [INFO] [stderr] 462 | ($result:expr_2021, $expected:pat => $cond:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/data-structures/src/error_stream.rs:483:6 [INFO] [stderr] | [INFO] [stderr] 483 | ($result:expr_2021, $expected:pat) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/data-structures/src/slim_slice.rs:119:6 [INFO] [stderr] | [INFO] [stderr] 119 | ($thing:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/data-structures/src/error_stream.rs:462:14 [INFO] [stdout] | [INFO] [stdout] 462 | ($result:expr, $expected:pat => $cond:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 462 | ($result:expr_2021, $expected:pat => $cond:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/data-structures/src/error_stream.rs:462:43 [INFO] [stdout] | [INFO] [stdout] 462 | ($result:expr, $expected:pat => $cond:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 462 | ($result:expr, $expected:pat => $cond:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/data-structures/src/error_stream.rs:483:14 [INFO] [stdout] | [INFO] [stdout] 483 | ($result:expr, $expected:pat) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 483 | ($result:expr_2021, $expected:pat) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | ($thing:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 119 | ($thing:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:260:19 [INFO] [stdout] | [INFO] [stdout] 260 | let ptr = NonNull::new_unchecked(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] --> crates/data-structures/src/slim_slice.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | const unsafe fn from_len_ptr(len: usize, ptr: *mut T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:326:23 [INFO] [stdout] | [INFO] [stdout] 326 | let raw = SlimRawSlice::from_len_ptr(len, 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] --> crates/data-structures/src/slim_slice.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | pub unsafe fn from_boxed_unchecked(boxed: Box<[T]>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:866:23 [INFO] [stdout] | [INFO] [stdout] 866 | let raw = SlimRawSlice::from_len_ptr(len, 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] --> crates/data-structures/src/slim_slice.rs:862:9 [INFO] [stdout] | [INFO] [stdout] 862 | pub(super) const unsafe fn from_slice_unchecked(slice: &'a [T]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:1046:19 [INFO] [stdout] | [INFO] [stdout] 1046 | let raw = SlimRawSlice::from_len_ptr(slice.len(), slice.as_mut_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] --> crates/data-structures/src/slim_slice.rs:1044:5 [INFO] [stdout] | [INFO] [stdout] 1044 | unsafe fn from_slice_unchecked(slice: &'a mut [T]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking cranelift-entity v0.102.1 [INFO] [stderr] Checking gimli v0.28.1 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling cranelift-codegen v0.102.1 [INFO] [stderr] Compiling time-macros v0.2.18 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Checking deranged v0.3.11 [INFO] [stderr] Checking wasmparser v0.116.1 [INFO] [stderr] Checking strum v0.25.0 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking tempfile v3.12.0 [INFO] [stderr] Checking terminal_size v0.3.0 [INFO] [stderr] Checking atomic-waker v1.1.2 [INFO] [stderr] Checking clap_builder v4.5.18 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Checking proptest v1.5.0 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Checking arbitrary v1.3.2 [INFO] [stderr] Checking data-encoding v2.6.0 [INFO] [stderr] Checking slice-group-by v0.3.1 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking alloc-no-stdlib v2.0.4 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking alloc-stdlib v0.2.2 [INFO] [stderr] Checking cranelift-control v0.102.1 [INFO] [stderr] Checking regalloc2 v0.9.3 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking h2 v0.4.6 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Checking wasmtime-types v15.0.1 [INFO] [stderr] Checking clap v4.5.18 [INFO] [stderr] Checking cranelift-bforest v0.102.1 [INFO] [stderr] Checking toml v0.5.11 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Compiling zstd-sys v2.0.13+zstd.1.5.6 [INFO] [stderr] Compiling wasmtime-versioned-export-macros v15.0.1 [INFO] [stderr] Checking memmap2 v0.9.5 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking spacetimedb-sats v0.12.0 (/tmp/fixit/crates/sats) [INFO] [stderr] Migrating crates/sats/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking bumpalo v3.16.0 [INFO] [stderr] Checking similar v2.6.0 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking brotli-decompressor v2.5.1 [INFO] [stderr] Checking object v0.32.2 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Compiling async-trait v0.1.82 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking brotli v3.5.0 [INFO] [stderr] Checking hyper v1.4.1 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_sats` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/sats/src/de/impls.rs [INFO] [stderr] * crates/sats/src/product_value.rs [INFO] [stderr] * crates/sats/src/ser/impls.rs [INFO] [stderr] * crates/sats/src/typespace.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sats/src/de/impls.rs:32:70 [INFO] [stderr] | [INFO] [stderr] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, $de:ident => $body:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sats/src/product_value.rs:21:8 [INFO] [stderr] | [INFO] [stderr] 21 | [$($elems:expr_2021),*$(,)?] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sats/src/ser/impls.rs:32:86 [INFO] [stderr] | [INFO] [stderr] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, ($self:ident, $ser:ident) => $body:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sats/src/typespace.rs:277:69 [INFO] [stderr] | [INFO] [stderr] 277 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $stty:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sats/src/typespace.rs:288:82 [INFO] [stderr] | [INFO] [stderr] 288 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $ts:ident => $stty:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sats/src/de/impls.rs:32:76 [INFO] [stdout] | [INFO] [stdout] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, $de:ident => $body:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, $de:ident => $body:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sats/src/product_value.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | [$($elems:expr),*$(,)?] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 21 | [$($elems:expr_2021),*$(,)?] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sats/src/ser/impls.rs:32:92 [INFO] [stdout] | [INFO] [stdout] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, ($self:ident, $ser:ident) => $body:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, ($self:ident, $ser:ident) => $body:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sats/src/typespace.rs:277:75 [INFO] [stdout] | [INFO] [stdout] 277 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $stty:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 277 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $stty:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sats/src/typespace.rs:288:88 [INFO] [stdout] | [INFO] [stdout] 288 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $ts:ident => $stty:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 288 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $ts:ident => $stty:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/algebraic_type/fmt.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | if let Some(name) = &e.name { [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] --> crates/sats/src/algebraic_type/fmt.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | } else { [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] 46 ~ match &e.name { Some(name) => { [INFO] [stdout] 47 | write!(f, "{}", name)?; [INFO] [stdout] 48 ~ } _ => { [INFO] [stdout] 49 | write!(f, "{}", i)?; [INFO] [stdout] 50 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:213:12 [INFO] [stdout] | [INFO] [stdout] 213 | if let Some(one_of) = one_of_names(|n| expected.field_names(n)) { [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] --> crates/sats/src/de.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | } 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] 213 ~ match one_of_names(|n| expected.field_names(n)) { Some(one_of) => { [INFO] [stdout] 214 | Self::custom(format_args!("unknown {el_ty} `{field_name}`, expected {one_of}")) [INFO] [stdout] 215 ~ } _ => { [INFO] [stdout] 216 | Self::custom(format_args!("unknown {el_ty} `{field_name}`, there are no {el_ty}s")) [INFO] [stdout] 217 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:230:12 [INFO] [stdout] | [INFO] [stdout] 230 | if let Some(one_of) = one_of_names(|n| expected.variant_names(n)) { [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] --> crates/sats/src/de.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | } 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] 230 ~ match one_of_names(|n| expected.variant_names(n)) { Some(one_of) => { [INFO] [stdout] 231 | Self::custom(format_args!("unknown variant `{name}`, expected {one_of}",)) [INFO] [stdout] 232 ~ } _ => { [INFO] [stdout] 233 | Self::custom(format_args!("unknown variant `{name}`, there are no variants")) [INFO] [stdout] 234 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::fmt::Display + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:258:6 [INFO] [stdout] | [INFO] [stdout] 258 | ) -> impl fmt::Display + 'a { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> crates/sats/src/de.rs:253:23 [INFO] [stdout] | [INFO] [stdout] 253 | fn error_on_field<'a, 'de>( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 257 | prod: &impl ProductVisitor<'de>, [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] [INFO] [stdout] [INFO] [stdout] warning: `impl for<'a, 'b> Fn(&'a mut Formatter<'b>) -> Result<(), std::fmt::Error> + '_` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | ) -> FDisplay fmt::Result> { [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] --> crates/sats/src/de.rs:276:20 [INFO] [stdout] | [INFO] [stdout] 276 | fn fmt_invalid_len<'de>( [INFO] [stdout] | ^^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:688:11 [INFO] [stdout] | [INFO] [stdout] 688 | while let Some(x) = access.next_element()? { [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] --> crates/sats/src/de.rs:690:5 [INFO] [stdout] | [INFO] [stdout] 690 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:735:15 [INFO] [stdout] | [INFO] [stdout] 735 | while let Some(el) = vec.next_element()? { [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] --> crates/sats/src/de.rs:738:9 [INFO] [stdout] | [INFO] [stdout] 738 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de/serde.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 177 | if let Some(name) = self.visitor.product_name() { [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] --> crates/sats/src/de/serde.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | } 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] 177 ~ match self.visitor.product_name() { Some(name) => { [INFO] [stdout] 178 | write!(f, "a {name} tuple") [INFO] [stdout] 179 ~ } _ => { [INFO] [stdout] 180 | write!(f, "a {}-element tuple", self.visitor.product_len()) [INFO] [stdout] 181 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de/serde.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 237 | if let Some(one_of) = super::one_of_names(|n| self.visitor.field_names(n)) { [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] --> crates/sats/src/de/serde.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | } 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] 237 ~ match super::one_of_names(|n| self.visitor.field_names(n)) { Some(one_of) => { [INFO] [stdout] 238 | write!(f, "a tuple field ({one_of})") [INFO] [stdout] 239 ~ } _ => { [INFO] [stdout] 240 | f.write_str("a tuple field, but there are no fields") [INFO] [stdout] 241 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de/serde.rs:491:15 [INFO] [stdout] | [INFO] [stdout] 491 | while let Some(val) = seq.next_element()? { [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] --> crates/sats/src/de/serde.rs:493:9 [INFO] [stdout] | [INFO] [stdout] 493 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/sats/src/product_value.rs:174:31 [INFO] [stdout] | [INFO] [stdout] 174 | pub fn elements(&self) -> impl ExactSizeIterator> { [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] --> crates/sats/src/product_value.rs:174:21 [INFO] [stdout] | [INFO] [stdout] 174 | pub fn elements(&self) -> impl ExactSizeIterator> { [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] 174 | pub fn elements(&self) -> impl ExactSizeIterator> + use<'a> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetimedb-lib v0.12.0 (/tmp/fixit/crates/lib) [INFO] [stderr] Migrating crates/lib/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking hyper-util v0.1.8 [INFO] [stderr] Checking spacetimedb-commitlog v0.12.0 (/tmp/fixit/crates/commitlog) [INFO] [stderr] Checking wasmtime-environ v15.0.1 [INFO] [stderr] Checking sync_wrapper v1.0.1 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling zstd-safe v5.0.2+zstd.1.5.2 [INFO] [stderr] Checking leb128 v0.2.5 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Compiling wasmtime-runtime v15.0.1 [INFO] [stderr] Checking serde_spanned v0.6.7 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_lib` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/lib/src/filter.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/lib/src/filter.rs:76:12 [INFO] [stderr] | [INFO] [stderr] 76 | (@seed $first_seed:expr_2021 $(, $other_seed:expr_2021)?) => ($first_seed); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/lib/src/filter.rs:76:38 [INFO] [stderr] | [INFO] [stderr] 76 | (@seed $first_seed:expr_2021 $(, $other_seed:expr_2021)?) => ($first_seed); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/lib/src/filter.rs:78:47 [INFO] [stderr] | [INFO] [stderr] 78 | ($seed_ty:ident, $ty:ident { $($(#[seed = $seed:expr_2021])? $field:ident: $field_ty:ty),* $(,)? }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stderr] Migrating crates/commitlog/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/lib/src/filter.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | (@seed $first_seed:expr $(, $other_seed:expr)?) => ($first_seed); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 76 | (@seed $first_seed:expr_2021 $(, $other_seed:expr)?) => ($first_seed); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/lib/src/filter.rs:76:45 [INFO] [stdout] | [INFO] [stdout] 76 | (@seed $first_seed:expr $(, $other_seed:expr)?) => ($first_seed); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 76 | (@seed $first_seed:expr $(, $other_seed:expr_2021)?) => ($first_seed); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetimedb-schema v0.12.0 (/tmp/fixit/crates/schema) [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/lib/src/filter.rs:78:53 [INFO] [stdout] | [INFO] [stdout] 78 | ($seed_ty:ident, $ty:ident { $($(#[seed = $seed:expr])? $field:ident: $field_ty:ty),* $(,)? }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 78 | ($seed_ty:ident, $ty:ident { $($(#[seed = $seed:expr_2021])? $field:ident: $field_ty:ty),* $(,)? }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/lib/src/db/raw_def/v8.rs:192:35 [INFO] [stdout] | [INFO] [stdout] 192 | let col_name = if let Some(name) = col.name { [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] --> crates/lib/src/db/raw_def/v8.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | } else { [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] 192 ~ let col_name = match col.name { Some(name) => { [INFO] [stdout] 193 | name [INFO] [stdout] 194 ~ } _ => { [INFO] [stdout] 195 | format!("col_{pos}").into() [INFO] [stdout] 196 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetimedb-client-api-messages v0.12.0 (/tmp/fixit/crates/client-api-messages) [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Compiling tracy-client-sys v0.22.2 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking sqlparser v0.38.0 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Compiling cpp_demangle v0.3.5 [INFO] [stderr] Fixed crates/commitlog/src/commitlog.rs (4 fixes) [INFO] [stderr] Migrating crates/schema/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Fixed crates/commitlog/src/payload/txdata.rs (1 fix) [INFO] [stderr] Fixed crates/commitlog/src/lib.rs (4 fixes) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/commitlog/src/commitlog.rs:375:11 [INFO] [stdout] | [INFO] [stdout] 375 | while let Some(commit) = commits.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/commitlog/src/commitlog.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/commitlog/src/segment.rs:443:15 [INFO] [stdout] | [INFO] [stdout] 443 | while let Some(commit) = commit_meta(&mut reader, &sofar)? { [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] --> crates/commitlog/src/segment.rs:457:9 [INFO] [stdout] | [INFO] [stdout] 457 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking winnow v0.6.18 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/schema/src/schema.rs:523:9 [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr, $b:expr, $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr_2021, $b:expr, $msg:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_schema` [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/schema/src/schema.rs:523:18 [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr, $b:expr, $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr, $b:expr_2021, $msg:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/schema/src/schema.rs:523:29 [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr, $b:expr, $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr, $b:expr, $msg:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/auto_migrate.rs:251:12 [INFO] [stdout] | [INFO] [stdout] 251 | if let Some(new_schedule) = new.schedule.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/schema/src/auto_migrate.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | } [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] 251 ~ match new.schedule.as_ref() { Some(new_schedule) => { [INFO] [stdout] 252 | plan.steps.push(AutoMigrateStep::AddSchedule(new_schedule.key())); [INFO] [stdout] 253 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/def/validate/v8.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(col) = columns.as_singleton() { [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] --> crates/schema/src/def/validate/v8.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | } 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 columns.as_singleton() { Some(col) => { [INFO] [stdout] 243 | let replaced = primary_key.replace(col); [INFO] [stdout] ... [INFO] [stdout] 248 | } [INFO] [stdout] 249 ~ } _ => { [INFO] [stdout] 250 | // There is a primary key annotation on multiple columns. [INFO] [stdout] ... [INFO] [stdout] 254 | }); [INFO] [stdout] 255 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * crates/schema/src/schema.rs [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/def/validate/v9.rs:570:12 [INFO] [stdout] | [INFO] [stdout] 570 | if let RawConstraintDataV9::Unique(RawUniqueConstraintDataV9 { columns }) = data { [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] --> crates/schema/src/def/validate/v9.rs:580:9 [INFO] [stdout] | [INFO] [stdout] 580 | } 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] 570 ~ match data { RawConstraintDataV9::Unique(RawUniqueConstraintDataV9 { columns }) => { [INFO] [stdout] 571 | let columns: Result = self.validate_col_ids(&name, columns); [INFO] [stdout] ... [INFO] [stdout] 579 | }) [INFO] [stdout] 580 ~ } _ => { [INFO] [stdout] 581 | unimplemented!("Unknown constraint type") [INFO] [stdout] 582 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/def/validate/v9.rs:718:16 [INFO] [stdout] | [INFO] [stdout] 718 | if let Some(schedule) = &table.schedule { [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] --> crates/schema/src/def/validate/v9.rs:740:13 [INFO] [stdout] | [INFO] [stdout] 740 | } 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] 718 ~ match &table.schedule { Some(schedule) => { [INFO] [stdout] 719 | let reducer = reducers.get(&schedule.reducer_name); [INFO] [stdout] ... [INFO] [stdout] 739 | } [INFO] [stdout] 740 ~ } _ => { [INFO] [stdout] 741 | Ok(()) [INFO] [stdout] 742 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/schema.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 177 | if let Some(s) = self.schedule.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] --> crates/schema/src/schema.rs:179:9 [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] 177 ~ match self.schedule.as_mut() { Some(s) => { [INFO] [stdout] 178 | s.table_id = id; [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/schema.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 204 | if let Some(x) = self.sequences.iter_mut().find(|x| x.sequence_id == of.sequence_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] --> crates/schema/src/schema.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | } 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.sequences.iter_mut().find(|x| x.sequence_id == of.sequence_id) { Some(x) => { [INFO] [stdout] 205 | *x = of; [INFO] [stdout] 206 ~ } _ => { [INFO] [stdout] 207 | self.sequences.push(of); [INFO] [stdout] 208 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/schema.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 218 | if let Some(x) = self.indexes.iter_mut().find(|x| x.index_id == of.index_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] --> crates/schema/src/schema.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | } 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] 218 ~ match self.indexes.iter_mut().find(|x| x.index_id == of.index_id) { Some(x) => { [INFO] [stdout] 219 | *x = of; [INFO] [stdout] 220 ~ } _ => { [INFO] [stdout] 221 | self.indexes.push(of); [INFO] [stdout] 222 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/schema.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some(x) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | __________________________| [INFO] [stdout] 233 | || .constraints [INFO] [stdout] | ||________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 234 | | .iter_mut() [INFO] [stdout] 235 | | .find(|x| x.constraint_id == of.constraint_id) [INFO] [stdout] | |___________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/schema/src/schema.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | } 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] 232 ~ match self [INFO] [stdout] 233 | .constraints [INFO] [stdout] 234 | .iter_mut() [INFO] [stdout] 235 | .find(|x| x.constraint_id == of.constraint_id) [INFO] [stdout] 236 ~ { Some(x) => { [INFO] [stdout] 237 | *x = of; [INFO] [stdout] 238 ~ } _ => { [INFO] [stdout] 239 | self.constraints.push(of); [INFO] [stdout] 240 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/type_for_generate.rs:491:19 [INFO] [stdout] | [INFO] [stdout] 491 | } else if let Some(use_) = self.known_uses.get(&ref_) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/schema/src/type_for_generate.rs:494:9 [INFO] [stdout] | [INFO] [stdout] 494 | } 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] 491 ~ } else { match self.known_uses.get(&ref_) { Some(use_) => { [INFO] [stdout] 492 | // The ref is to a use which we have already seen. [INFO] [stdout] 493 | Ok(use_.clone()) [INFO] [stdout] 494 ~ } _ => { [INFO] [stdout] 495 | // We haven't processed it yet. It's either a ref to a valid use, or invalid. [INFO] [stdout] ... [INFO] [stdout] 525 | Ok(use_) [INFO] [stdout] 526 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/schema/src/schema.rs:523:6 [INFO] [stderr] | [INFO] [stderr] 523 | ($a:expr_2021, $b:expr_2021, $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/schema/src/schema.rs:523:20 [INFO] [stderr] | [INFO] [stderr] 523 | ($a:expr_2021, $b:expr_2021, $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/schema/src/schema.rs:523:34 [INFO] [stderr] | [INFO] [stderr] 523 | ($a:expr_2021, $b:expr_2021, $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stderr] Migrating crates/client-api-messages/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking spacetimedb-table v0.12.0 (/tmp/fixit/crates/table) [INFO] [stderr] Checking toml_edit v0.22.21 [INFO] [stderr] Checking wasm-encoder v0.36.2 [INFO] [stderr] Migrating crates/table/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking wasmtime-jit-debug v15.0.1 [INFO] [stderr] Checking memfd v0.6.4 [INFO] [stderr] Compiling enum-map-derive v0.17.0 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking wasmtime-asm-macros v15.0.1 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Checking rustls-pki-types v1.8.0 [INFO] [stderr] Checking wasmtime-wmemcheck v15.0.1 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking sptr v0.3.2 [INFO] [stderr] Compiling wasmtime-cache v15.0.1 [INFO] [stderr] Checking rustls-pemfile v2.1.3 [INFO] [stderr] Checking parking_lot_core v0.8.6 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_table` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/table/src/util.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/table/src/util.rs:19:14 [INFO] [stderr] | [INFO] [stderr] 19 | ($ty:ty, $size:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/table/src/util.rs:33:14 [INFO] [stderr] | [INFO] [stderr] 33 | ($ty:ty, $align:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/table/src/util.rs:19:20 [INFO] [stdout] | [INFO] [stdout] 19 | ($ty:ty, $size:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 19 | ($ty:ty, $size:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/table/src/util.rs:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | ($ty:ty, $align:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 33 | ($ty:ty, $align:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl FnOnce(PageOffset) -> PageOffset` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/table/src/page.rs:462:27 [INFO] [stdout] | [INFO] [stdout] 462 | fn adjuster(&self) -> impl FnOnce(PageOffset) -> PageOffset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> crates/table/src/page.rs:438:6 [INFO] [stdout] | [INFO] [stdout] 438 | impl<'page> VarView<'page> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 462 | fn adjuster(&self) -> impl FnOnce(PageOffset) -> PageOffset { [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] 462 | fn adjuster(&self) -> impl FnOnce(PageOffset) -> PageOffset + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/table/src/table.rs:185:16 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(mut conflicts) = index.get_rows_that_violate_unique_constraint(&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] --> crates/table/src/table.rs:189:13 [INFO] [stdout] | [INFO] [stdout] 189 | } [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] 185 ~ match index.get_rows_that_violate_unique_constraint(&value) { Some(mut conflicts) => { [INFO] [stdout] 186 | if conflicts.any(|ptr| !is_deleted(ptr)) { [INFO] [stdout] 187 | return Err(self.build_error_unique(index, cols, value)); [INFO] [stdout] 188 | } [INFO] [stdout] 189 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/table/src/table.rs:780:12 [INFO] [stdout] | [INFO] [stdout] 780 | if let Some(static_bsatn_layout) = &self.table.static_bsatn_layout { [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] --> crates/table/src/table.rs:787:9 [INFO] [stdout] | [INFO] [stdout] 787 | } 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] 780 ~ match &self.table.static_bsatn_layout { Some(static_bsatn_layout) => { [INFO] [stdout] 781 | // Use fast path, by first fetching the row data and then using the static layout. [INFO] [stdout] ... [INFO] [stdout] 786 | Ok(unsafe { static_bsatn_layout.serialize_row_into_vec(row) }) [INFO] [stdout] 787 ~ } _ => { [INFO] [stdout] 788 | bsatn::to_vec(self) [INFO] [stdout] 789 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/table/src/table.rs:798:12 [INFO] [stdout] | [INFO] [stdout] 798 | if let Some(static_bsatn_layout) = &self.table.static_bsatn_layout { [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] --> crates/table/src/table.rs:808:9 [INFO] [stdout] | [INFO] [stdout] 808 | } 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] 798 ~ match &self.table.static_bsatn_layout { Some(static_bsatn_layout) => { [INFO] [stdout] 799 | // Use fast path, by first fetching the row data and then using the static layout. [INFO] [stdout] ... [INFO] [stdout] 807 | Ok(()) [INFO] [stdout] 808 ~ } _ => { [INFO] [stdout] 809 | // Use the slower, but more general, `bsatn_from` serializer to write the row. [INFO] [stdout] 810 | bsatn::to_writer(buf, self) [INFO] [stdout] 811 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetimedb-vm v0.12.0 (/tmp/fixit/crates/vm) [INFO] [stderr] Migrating crates/vm/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking directories-next v2.0.0 [INFO] [stderr] Checking enum-map v2.7.3 [INFO] [stderr] Checking spacetimedb-durability v0.12.0 (/tmp/fixit/crates/durability) [INFO] [stderr] Checking cranelift-native v0.102.1 [INFO] [stderr] Checking cranelift-frontend v0.102.1 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:83:15 [INFO] [stdout] | [INFO] [stdout] 83 | while let Some(row) = self.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed crates/vm/src/expr.rs (4 fixes) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 127 | while let Some(v) = self.iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/durability/src/lib.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:201:19 [INFO] [stdout] | [INFO] [stdout] 201 | while let Some(row_rhs) = self.rhs.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed crates/vm/src/rel_ops.rs (1 fix) [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking wasmtime-cranelift-shared v15.0.1 [INFO] [stderr] Checking cranelift-wasm v0.102.1 [INFO] [stderr] Checking addr2line v0.21.0 [INFO] [stderr] Fixed crates/durability/src/imp/local.rs (4 fixes) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/durability/src/imp/local.rs:183:15 [INFO] [stdout] | [INFO] [stdout] 183 | while let Some(txdata) = self.rx.recv().await { [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] --> crates/durability/src/imp/local.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/durability/src/imp/local.rs:209:19 [INFO] [stdout] | [INFO] [stdout] 209 | while let Some(txdata) = retry.take() { [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] --> crates/durability/src/imp/local.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking serde_path_to_error v0.1.16 [INFO] [stderr] Checking spacetimedb-fs-utils v0.12.0 (/tmp/fixit/crates/fs-utils) [INFO] [stderr] Migrating crates/fs-utils/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking wasmtime-jit-icache-coherence v15.0.1 [INFO] [stderr] Checking encoding_rs v0.8.34 [INFO] [stderr] Checking ipnet v2.10.0 [INFO] [stderr] Fixed crates/fs-utils/src/lib.rs (2 fixes) [INFO] [stderr] Checking spin v0.5.2 [INFO] [stderr] Checking zstd v0.11.2+zstd.1.5.2 [INFO] [stderr] Checking untrusted v0.7.1 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking base64 v0.13.1 [INFO] [stderr] Checking wasmtime-cranelift v15.0.1 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking wasmtime-jit v15.0.1 [INFO] [stderr] Checking pem v1.1.1 [INFO] [stderr] Checking tracy-client v0.16.5 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Compiling serde_with_macros v3.9.0 [INFO] [stderr] Checking flate2 v1.0.33 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Checking simple_asn1 v0.6.2 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking match_cfg v0.1.0 [INFO] [stderr] Checking wasmtime v15.0.1 [INFO] [stderr] Checking tracing-tracy v0.10.5 [INFO] [stderr] Checking hostname v0.3.1 [INFO] [stderr] Checking sled v0.34.7 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking spacetimedb-snapshot v0.12.0 (/tmp/fixit/crates/snapshot) [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Migrating crates/snapshot/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking tracing-appender v0.2.3 [INFO] [stderr] Checking tracing-flame v0.2.0 [INFO] [stderr] Checking imara-diff v0.1.7 [INFO] [stderr] Checking email_address v0.2.9 [INFO] [stderr] Checking tokio-stream v0.1.16 [INFO] [stderr] Checking serde_with v3.9.0 [INFO] [stderr] Checking tracing-log v0.1.4 [INFO] [stderr] Checking jsonwebtoken v8.3.0 [INFO] [stderr] Fixed crates/snapshot/src/lib.rs (1 fix) [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Checking thin-vec v0.2.13 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Checking sync_wrapper v0.1.2 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking tower v0.5.1 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking axum-core v0.4.4 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking headers-core v0.3.0 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking matchit v0.7.3 [INFO] [stderr] Checking headers v0.4.0 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Compiling camino v1.1.9 [INFO] [stderr] Checking tower-http v0.5.2 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Checking cargo-platform v0.1.8 [INFO] [stderr] Compiling libmimalloc-sys v0.1.39 [INFO] [stderr] Checking os_pipe v1.2.1 [INFO] [stderr] Checking shared_child v1.0.1 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Checking colored v2.1.0 [INFO] [stderr] Checking duct v0.13.7 [INFO] [stderr] Checking cargo_metadata v0.17.0 [INFO] [stderr] Checking quick-xml v0.32.0 [INFO] [stderr] Checking nibble_vec v0.1.0 [INFO] [stderr] Checking endian-type v0.1.2 [INFO] [stderr] Compiling custom_debug_derive v0.5.1 [INFO] [stderr] Checking bytecount v0.6.8 [INFO] [stderr] Checking papergrid v0.10.0 [INFO] [stderr] Checking plist v1.7.0 [INFO] [stderr] Compiling wasmbin-derive v0.2.3 [INFO] [stderr] Checking custom_debug v0.5.1 [INFO] [stderr] Checking axum v0.7.6 [INFO] [stderr] Checking radix_trie v0.2.1 [INFO] [stderr] Compiling tabled_derive v0.6.0 [INFO] [stderr] Checking yaml-rust v0.4.5 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking fd-lock v3.0.13 [INFO] [stderr] Checking xattr v1.3.1 [INFO] [stderr] Checking fancy-regex v0.11.0 [INFO] [stderr] Checking filetime v0.2.25 [INFO] [stderr] Compiling spacetimedb-cli v0.12.0 (/tmp/fixit/crates/cli) [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Migrating crates/cli/build.rs from 2021 edition to 2024 [INFO] [stderr] Checking indicatif v0.16.2 [INFO] [stderr] Checking tar v0.4.41 [INFO] [stderr] Checking syntect v5.2.0 [INFO] [stderr] Checking wasmbin v0.6.0 [INFO] [stderr] Checking mimalloc v0.1.43 [INFO] [stderr] Checking convert_case v0.6.0 [INFO] [stderr] Checking spacetimedb-bindings-sys v0.12.0 (/tmp/fixit/crates/bindings-sys) [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Migrating crates/bindings-sys/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking tabled v0.14.0 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Fixed crates/bindings-sys/src/lib.rs (2 fixes) [INFO] [stderr] Checking anymap v0.12.1 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking fallible-iterator v0.2.0 [INFO] [stderr] Checking rustyline v12.0.0 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking spacetimedb v0.12.0 (/tmp/fixit/crates/bindings) [INFO] [stderr] Migrating crates/bindings/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking oorandom v11.1.4 [INFO] [stderr] Checking glob v0.3.1 [INFO] [stderr] Compiling libsqlite3-sys v0.26.0 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking os_str_bytes v6.6.1 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking clap_lex v0.2.4 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Compiling clap_derive v3.2.18 [INFO] [stderr] Checking axum-extra v0.9.4 [INFO] [stderr] Checking dashmap v6.1.0 [INFO] [stderr] Checking hashlink v0.8.4 [INFO] [stderr] Checking rgb v0.8.50 [INFO] [stderr] Checking num-format v0.4.4 [INFO] [stderr] Checking bitmaps v2.1.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking quick-xml v0.26.0 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking strsim v0.10.0 [INFO] [stderr] Checking str_stack v0.1.0 [INFO] [stderr] Checking textwrap v0.16.1 [INFO] [stderr] Checking which v4.4.2 [INFO] [stderr] Checking inferno v0.11.21 [INFO] [stderr] Checking sanitize-filename v0.5.0 [INFO] [stderr] Checking sized-chunks v0.6.5 [INFO] [stderr] Checking clap v3.2.23 [INFO] [stderr] Checking rand_xoshiro v0.6.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Compiling fs-err v2.11.0 [INFO] [stderr] Checking version-compare v0.1.1 [INFO] [stderr] Checking remove_dir_all v0.5.3 [INFO] [stderr] Compiling iai-callgrind-macros v0.1.0 (https://github.com/clockworklabs/iai-callgrind.git?branch=main#3e78f685) [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Checking md-5 v0.10.6 [INFO] [stderr] Checking utf8-width v0.1.7 [INFO] [stderr] Checking unicode-properties v0.1.2 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Checking stringprep v0.1.5 [INFO] [stderr] Checking byte-unit v4.0.19 [INFO] [stderr] Checking insta v1.40.0 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking postgres-protocol v0.6.7 [INFO] [stderr] Compiling enumset_derive v0.10.0 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking iai-callgrind-runner v0.8.0 (https://github.com/clockworklabs/iai-callgrind.git?branch=main#3e78f685) [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Compiling postgres-derive v0.4.6 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking owning_ref v0.4.1 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking enumset v1.1.5 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking siphasher v0.3.11 [INFO] [stderr] Checking postgres-types v0.2.8 [INFO] [stderr] Checking xi-unicode v0.3.0 [INFO] [stderr] Checking phf_shared v0.11.2 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/bindings/src/io.rs [INFO] [stderr] * crates/bindings/src/logger.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings/src/io.rs:49:6 [INFO] [stderr] | [INFO] [stderr] 49 | ($val:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings/src/io.rs:60:8 [INFO] [stderr] | [INFO] [stderr] 60 | ($($val:expr_2021),+ $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stderr] --> crates/bindings/src/logger.rs:14:29 [INFO] [stderr] | [INFO] [stderr] 14 | fn panic_hook(info: &panic::PanicInfo) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/logger.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [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 #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 8 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/logger.rs:80:3 [INFO] [stdout] | [INFO] [stdout] 80 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [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 #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 80 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/rt.rs:318:3 [INFO] [stdout] | [INFO] [stdout] 318 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [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 #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 318 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/rt.rs:366:3 [INFO] [stdout] | [INFO] [stdout] 366 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [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 #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 366 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings/src/io.rs:49:11 [INFO] [stdout] | [INFO] [stdout] 49 | ($val:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 49 | ($val:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings/src/io.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | ($($val:expr),+ $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 60 | ($($val:expr_2021),+ $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> crates/bindings/src/logger.rs:14:29 [INFO] [stdout] | [INFO] [stdout] 14 | fn panic_hook(info: &panic::PanicInfo) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator::Row>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/bindings/src/table.rs:369:41 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn filter(&self, b: B) -> impl Iterator [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] --> crates/bindings/src/table.rs:369:25 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn filter(&self, b: B) -> impl Iterator [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] 369 | pub fn filter(&self, b: B) -> impl Iterator + use [INFO] [stdout] | ++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking threadpool v1.8.1 [INFO] [stderr] Checking crossterm v0.25.0 [INFO] [stderr] Checking cursive_core v0.3.7 [INFO] [stderr] Compiling vte_generate_state_changes v0.1.2 [INFO] [stderr] Compiling rust_decimal v1.36.0 [INFO] [stderr] Checking vte v0.11.1 [INFO] [stderr] Checking libtest-mimic v0.6.1 [INFO] [stderr] Checking phf v0.11.2 [INFO] [stderr] Checking iai-callgrind v0.8.0 (https://github.com/clockworklabs/iai-callgrind.git?branch=main#3e78f685) [INFO] [stderr] Checking subst v0.3.5 [INFO] [stderr] Compiling enum-ordinalize v3.1.15 [INFO] [stderr] Checking test-counter v0.12.0 (/tmp/fixit/crates/sdk/tests/test-counter) [INFO] [stderr] Checking itertools v0.11.0 [INFO] [stderr] Migrating crates/sdk/tests/test-counter/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking owo-colors v3.5.0 [INFO] [stderr] Checking whoami v1.5.2 [INFO] [stderr] Compiling educe v0.4.23 [INFO] [stderr] Checking tokio-postgres v0.7.12 [INFO] [stderr] Checking cursive v0.20.0 [INFO] [stderr] Checking strip-ansi-escapes v0.2.0 [INFO] [stderr] Checking pg_interval v0.4.2 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Compiling serial_test_derive v2.0.0 [INFO] [stderr] Checking quick-xml v0.31.0 [INFO] [stderr] Checking rusqlite v0.29.0 [INFO] [stderr] Checking serial_test v2.0.0 [INFO] [stderr] Checking spacetimedb-sql-parser v0.12.0 (/tmp/fixit/crates/sql-parser) [INFO] [stderr] Migrating crates/sql-parser/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking quick-junit v0.3.6 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Checking typed-arena v2.0.2 [INFO] [stderr] Fixed crates/sql-parser/src/parser/sql.rs (2 fixes) [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking yansi v1.0.1 [INFO] [stderr] Checking sqllogictest v0.17.2 [INFO] [stderr] Checking pretty_assertions v1.4.1 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_primitives` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/primitives/src/col_list.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/primitives/src/col_list.rs:26:8 [INFO] [stderr] | [INFO] [stderr] 26 | ($($elem:expr_2021),* $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stderr] Migrating crates/vm/src/main.rs from 2021 edition to 2024 [INFO] [stderr] Checking spacetimedb-query-planner v0.12.0 (/tmp/fixit/crates/planner) [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/primitives/src/col_list.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | ($($elem:expr),* $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | ($($elem:expr_2021),* $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking sqllogictest-engines v0.17.2 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:83:15 [INFO] [stdout] | [INFO] [stdout] 83 | while let Some(row) = self.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/planner/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking spacetimedb-quickstart-module v0.1.0 (/tmp/fixit/modules/spacetimedb-quickstart) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 127 | while let Some(v) = self.iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:201:19 [INFO] [stdout] | [INFO] [stdout] 201 | while let Some(row_rhs) = self.rhs.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/vm/src/rel_ops.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_query_planner` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/planner/src/logical/mod.rs [INFO] [stderr] * crates/planner/src/logical/ty.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/planner/src/logical/mod.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | ($ty:ty, $size:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> crates/planner/src/logical/ty.rs:206:54 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn with_ctx<'a>(&'a self, ctx: &'a TyCtx) -> TypeWithCtx { [INFO] [stderr] | -- lifetime `'a` declared here ^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> crates/planner/src/logical/ty.rs:206:54 [INFO] [stdout] | [INFO] [stdout] 206 | pub fn with_ctx<'a>(&'a self, ctx: &'a TyCtx) -> TypeWithCtx { [INFO] [stdout] | -- lifetime `'a` declared here ^^^^^^^^^^^ 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: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/planner/src/logical/mod.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | ($ty:ty, $size:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($ty:ty, $size:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking sdk-test-module v0.1.0 (/tmp/fixit/modules/sdk-test) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/planner/src/logical/bind.rs:60:24 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(on) = join.on { [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] --> crates/planner/src/logical/bind.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | } [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] 60 ~ match join.on { Some(on) => { [INFO] [stdout] 61 | exprs.push(type_expr(ctx, &vars, on, Some(TyId::BOOL))?); [INFO] [stdout] 62 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/planner/src/logical/bind.rs:208:20 [INFO] [stdout] | [INFO] [stdout] 208 | if let Some(on) = join.on { [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] --> crates/planner/src/logical/bind.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 208 ~ match join.on { Some(on) => { [INFO] [stdout] 209 | exprs.push(type_expr(ctx, &vars, on, Some(TyId::BOOL))?); [INFO] [stdout] 210 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/planner/src/logical/ty.rs:114:20 [INFO] [stdout] | [INFO] [stdout] 114 | if let Type::Alg(s) = &self.types[i] { [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] --> crates/planner/src/logical/ty.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | } [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 &self.types[i] { Type::Alg(s) => { [INFO] [stdout] 115 | if s == t { [INFO] [stdout] 116 | return TyId(i as u32); [INFO] [stdout] 117 | } [INFO] [stdout] 118 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_query_planner` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/planner/src/logical/mod.rs [INFO] [stderr] * crates/planner/src/logical/ty.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/planner/src/logical/mod.rs:16:14 [INFO] [stderr] | [INFO] [stderr] 16 | ($ty:ty, $size:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> crates/planner/src/logical/ty.rs:206:54 [INFO] [stderr] | [INFO] [stderr] 206 | pub fn with_ctx<'a>(&'a self, ctx: &'a TyCtx) -> TypeWithCtx { [INFO] [stderr] | -- lifetime `'a` declared here ^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> crates/planner/src/logical/ty.rs:206:54 [INFO] [stdout] | [INFO] [stdout] 206 | pub fn with_ctx<'a>(&'a self, ctx: &'a TyCtx) -> TypeWithCtx { [INFO] [stdout] | -- lifetime `'a` declared here ^^^^^^^^^^^ 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: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/planner/src/logical/mod.rs:16:20 [INFO] [stdout] | [INFO] [stdout] 16 | ($ty:ty, $size:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 16 | ($ty:ty, $size:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/planner/src/logical/bind.rs:60:24 [INFO] [stdout] | [INFO] [stdout] 60 | if let Some(on) = join.on { [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] --> crates/planner/src/logical/bind.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | } [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] 60 ~ match join.on { Some(on) => { [INFO] [stdout] 61 | exprs.push(type_expr(ctx, &vars, on, Some(TyId::BOOL))?); [INFO] [stdout] 62 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/planner/src/logical/bind.rs:208:20 [INFO] [stdout] | [INFO] [stdout] 208 | if let Some(on) = join.on { [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] --> crates/planner/src/logical/bind.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 208 ~ match join.on { Some(on) => { [INFO] [stdout] 209 | exprs.push(type_expr(ctx, &vars, on, Some(TyId::BOOL))?); [INFO] [stdout] 210 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/planner/src/logical/ty.rs:114:20 [INFO] [stdout] | [INFO] [stdout] 114 | if let Type::Alg(s) = &self.types[i] { [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] --> crates/planner/src/logical/ty.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | } [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 &self.types[i] { Type::Alg(s) => { [INFO] [stdout] 115 | if s == t { [INFO] [stdout] 116 | return TyId(i as u32); [INFO] [stdout] 117 | } [INFO] [stdout] 118 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/lib/tests/serde.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_lib` [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/lib/src/filter.rs:76:24 [INFO] [stdout] | [INFO] [stdout] 76 | (@seed $first_seed:expr $(, $other_seed:expr)?) => ($first_seed); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 76 | (@seed $first_seed:expr_2021 $(, $other_seed:expr)?) => ($first_seed); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/lib/src/filter.rs:76:45 [INFO] [stdout] | [INFO] [stdout] 76 | (@seed $first_seed:expr $(, $other_seed:expr)?) => ($first_seed); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 76 | (@seed $first_seed:expr $(, $other_seed:expr_2021)?) => ($first_seed); [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/lib/src/filter.rs:78:53 [INFO] [stdout] | [INFO] [stdout] 78 | ($seed_ty:ident, $ty:ident { $($(#[seed = $seed:expr])? $field:ident: $field_ty:ty),* $(,)? }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 78 | ($seed_ty:ident, $ty:ident { $($(#[seed = $seed:expr_2021])? $field:ident: $field_ty:ty),* $(,)? }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/lib/src/db/raw_def/v8.rs:192:35 [INFO] [stdout] | [INFO] [stdout] 192 | let col_name = if let Some(name) = col.name { [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] --> crates/lib/src/db/raw_def/v8.rs:194:17 [INFO] [stdout] | [INFO] [stdout] 194 | } else { [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] 192 ~ let col_name = match col.name { Some(name) => { [INFO] [stdout] 193 | name [INFO] [stdout] 194 ~ } _ => { [INFO] [stdout] 195 | format!("col_{pos}").into() [INFO] [stdout] 196 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * crates/lib/src/filter.rs [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/lib/src/filter.rs:76:12 [INFO] [stderr] | [INFO] [stderr] 76 | (@seed $first_seed:expr_2021 $(, $other_seed:expr_2021)?) => ($first_seed); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/lib/src/filter.rs:76:38 [INFO] [stderr] | [INFO] [stderr] 76 | (@seed $first_seed:expr_2021 $(, $other_seed:expr_2021)?) => ($first_seed); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/lib/src/filter.rs:78:47 [INFO] [stderr] | [INFO] [stderr] 78 | ($seed_ty:ident, $ty:ident { $($(#[seed = $seed:expr_2021])? $field:ident: $field_ty:ty),* $(,)? }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `serde` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/lib/tests/serde.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/lib/tests/serde.rs:9:6 [INFO] [stderr] | [INFO] [stderr] 9 | ($schema:expr_2021, $json:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/lib/tests/serde.rs:9:25 [INFO] [stderr] | [INFO] [stderr] 9 | ($schema:expr_2021, $json:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stderr] Migrating modules/spacetimedb-quickstart/src/lib.rs from 2021 edition to 2024 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/lib/tests/serde.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | ($schema:expr, $json:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 9 | ($schema:expr_2021, $json:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking quickstart-chat-module v0.1.0 (/tmp/fixit/modules/quickstart-chat) [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/lib/tests/serde.rs:9:26 [INFO] [stdout] | [INFO] [stdout] 9 | ($schema:expr, $json:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 9 | ($schema:expr, $json:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/bindings/tests/deps.rs from 2021 edition to 2024 [INFO] [stderr] Migrating modules/sdk-test/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking benchmarks-module v0.1.0 (/tmp/fixit/modules/benchmarks) [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_bindings_macro` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/bindings-macro/src/lib.rs [INFO] [stderr] * crates/bindings-macro/src/macros.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:26:66 [INFO] [stderr] | [INFO] [stderr] 26 | (@match $acc:tt, $comparisons:tt, $meta:ident { $sym:path => $body:expr_2021, $($rest:tt)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:30:31 [INFO] [stderr] | [INFO] [stderr] 30 | (@match ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident {}) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:37:30 [INFO] [stderr] | [INFO] [stderr] 37 | (@case ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident, $binding:tt, $sym:path, $body:expr_2021, { $($rest:tt)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:37:95 [INFO] [stderr] | [INFO] [stderr] 37 | (@case ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident, $binding:tt, $sym:path, $body:expr_2021, { $($rest:tt)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> crates/bindings-macro/src/lib.rs:570:103 [INFO] [stderr] | [INFO] [stderr] 570 | fn validate<'a>(&'a self, table_name: &str, cols: &'a [Column<'a>]) -> syn::Result> { [INFO] [stderr] | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:26:72 [INFO] [stdout] | [INFO] [stdout] 26 | (@match $acc:tt, $comparisons:tt, $meta:ident { $sym:path => $body:expr, $($rest:tt)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | (@match $acc:tt, $comparisons:tt, $meta:ident { $sym:path => $body:expr_2021, $($rest:tt)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:30:44 [INFO] [stdout] | [INFO] [stdout] 30 | (@match ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident {}) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | (@match ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident {}) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:37:43 [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident, $binding:tt, $sym:path, $body:expr, { $($rest:tt)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident, $binding:tt, $sym:path, $body:expr, { $($rest:tt)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:37:96 [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident, $binding:tt, $sym:path, $body:expr, { $($rest:tt)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident, $binding:tt, $sym:path, $body:expr_2021, { $($rest:tt)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:570:103 [INFO] [stdout] | [INFO] [stdout] 570 | fn validate<'a>(&'a self, table_name: &str, cols: &'a [Column<'a>]) -> syn::Result> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ 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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | if let syn::Pat::Ident(i) = &*arg.pat { [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] --> crates/bindings-macro/src/lib.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | } else { [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] 347 ~ match &*arg.pat { syn::Pat::Ident(i) => { [INFO] [stdout] 348 | let name = i.ident.to_string(); [INFO] [stdout] 349 | quote!(Some(#name)) [INFO] [stdout] 350 ~ } _ => { [INFO] [stdout] 351 | quote!(None) [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:425:8 [INFO] [stdout] | [INFO] [stdout] 425 | if let syn::Data::Struct(struct_data) = &mut item.data { [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] --> crates/bindings-macro/src/lib.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 435 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 425 ~ match &mut item.data { syn::Data::Struct(struct_data) => { [INFO] [stdout] 426 | if let syn::Fields::Named(fields) = &mut struct_data.fields { [INFO] [stdout] ... [INFO] [stdout] 434 | } [INFO] [stdout] 435 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:426:12 [INFO] [stdout] | [INFO] [stdout] 426 | if let syn::Fields::Named(fields) = &mut struct_data.fields { [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] --> crates/bindings-macro/src/lib.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 426 ~ match &mut struct_data.fields { syn::Fields::Named(fields) => { [INFO] [stdout] 427 | let extra_fields: syn::FieldsNamed = parse_quote!({ [INFO] [stdout] ... [INFO] [stdout] 433 | fields.named.extend(extra_fields.named); [INFO] [stdout] 434 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/module.rs:341:20 [INFO] [stdout] | [INFO] [stdout] 341 | if let (Some(member), Some(ty)) = (&var.member, var.ty) { [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] --> crates/bindings-macro/src/module.rs:345:17 [INFO] [stdout] | [INFO] [stdout] 345 | } 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] 341 ~ match (&var.member, var.ty) { (Some(member), Some(ty)) => { [INFO] [stdout] 342 | quote! { [INFO] [stdout] 343 | __Variant::#ident => Ok(#name::#ident { #member: #spacetimedb_lib::de::VariantAccess::deserialize::<#ty>(__access)? }), [INFO] [stdout] 344 | } [INFO] [stdout] 345 ~ } _ => { [INFO] [stdout] 346 | quote! { [INFO] [stdout] ... [INFO] [stdout] 351 | } [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/module.rs:442:20 [INFO] [stdout] | [INFO] [stdout] 442 | if let (Some(member), Some(ty)) = (&var.member, var.ty) { [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] --> crates/bindings-macro/src/module.rs:446:17 [INFO] [stdout] | [INFO] [stdout] 446 | } 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] 442 ~ match (&var.member, var.ty) { (Some(member), Some(ty)) => { [INFO] [stdout] 443 | quote_spanned! {ty.span()=> [INFO] [stdout] 444 | Self::#name { #member: __variant } => __serializer.serialize_variant::<#ty>(#tag, Some(#name_str), __variant), [INFO] [stdout] 445 | } [INFO] [stdout] 446 ~ } _ => { [INFO] [stdout] 447 | quote! { [INFO] [stdout] 448 | Self::#name => __serializer.serialize_variant(#tag, Some(#name_str), &()), [INFO] [stdout] 449 | } [INFO] [stdout] 450 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetime-module v0.1.0 (/tmp/fixit/modules/sdk-test-connect-disconnect) [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_bindings_macro` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/bindings-macro/src/lib.rs [INFO] [stderr] * crates/bindings-macro/src/macros.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:26:66 [INFO] [stderr] | [INFO] [stderr] 26 | (@match $acc:tt, $comparisons:tt, $meta:ident { $sym:path => $body:expr_2021, $($rest:tt)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:30:31 [INFO] [stderr] | [INFO] [stderr] 30 | (@match ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident {}) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:37:30 [INFO] [stderr] | [INFO] [stderr] 37 | (@case ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident, $binding:tt, $sym:path, $body:expr_2021, { $($rest:tt)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings-macro/src/macros.rs:37:95 [INFO] [stderr] | [INFO] [stderr] 37 | (@case ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident, $binding:tt, $sym:path, $body:expr_2021, { $($rest:tt)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> crates/bindings-macro/src/lib.rs:570:103 [INFO] [stderr] | [INFO] [stderr] 570 | fn validate<'a>(&'a self, table_name: &str, cols: &'a [Column<'a>]) -> syn::Result> { [INFO] [stderr] | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stderr] Migrating modules/quickstart-chat/src/lib.rs from 2021 edition to 2024 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:26:72 [INFO] [stdout] | [INFO] [stdout] 26 | (@match $acc:tt, $comparisons:tt, $meta:ident { $sym:path => $body:expr, $($rest:tt)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | (@match $acc:tt, $comparisons:tt, $meta:ident { $sym:path => $body:expr_2021, $($rest:tt)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:30:44 [INFO] [stdout] | [INFO] [stdout] 30 | (@match ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident {}) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 30 | (@match ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident {}) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:37:43 [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident, $binding:tt, $sym:path, $body:expr, { $($rest:tt)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr_2021),*), $meta:ident, $binding:tt, $sym:path, $body:expr, { $($rest:tt)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings-macro/src/macros.rs:37:96 [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident, $binding:tt, $sym:path, $body:expr, { $($rest:tt)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 37 | (@case ($($acc:tt)*), ($($comparisons:expr),*), $meta:ident, $binding:tt, $sym:path, $body:expr_2021, { $($rest:tt)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:570:103 [INFO] [stdout] | [INFO] [stdout] 570 | fn validate<'a>(&'a self, table_name: &str, cols: &'a [Column<'a>]) -> syn::Result> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ 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: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | if let syn::Pat::Ident(i) = &*arg.pat { [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] --> crates/bindings-macro/src/lib.rs:350:9 [INFO] [stdout] | [INFO] [stdout] 350 | } else { [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] 347 ~ match &*arg.pat { syn::Pat::Ident(i) => { [INFO] [stdout] 348 | let name = i.ident.to_string(); [INFO] [stdout] 349 | quote!(Some(#name)) [INFO] [stdout] 350 ~ } _ => { [INFO] [stdout] 351 | quote!(None) [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:425:8 [INFO] [stdout] | [INFO] [stdout] 425 | if let syn::Data::Struct(struct_data) = &mut item.data { [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] --> crates/bindings-macro/src/lib.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 435 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 425 ~ match &mut item.data { syn::Data::Struct(struct_data) => { [INFO] [stdout] 426 | if let syn::Fields::Named(fields) = &mut struct_data.fields { [INFO] [stdout] ... [INFO] [stdout] 434 | } [INFO] [stdout] 435 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:426:12 [INFO] [stdout] | [INFO] [stdout] 426 | if let syn::Fields::Named(fields) = &mut struct_data.fields { [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] --> crates/bindings-macro/src/lib.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 434 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 426 ~ match &mut struct_data.fields { syn::Fields::Named(fields) => { [INFO] [stdout] 427 | let extra_fields: syn::FieldsNamed = parse_quote!({ [INFO] [stdout] ... [INFO] [stdout] 433 | fields.named.extend(extra_fields.named); [INFO] [stdout] 434 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/module.rs:341:20 [INFO] [stdout] | [INFO] [stdout] 341 | if let (Some(member), Some(ty)) = (&var.member, var.ty) { [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] --> crates/bindings-macro/src/module.rs:345:17 [INFO] [stdout] | [INFO] [stdout] 345 | } 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] 341 ~ match (&var.member, var.ty) { (Some(member), Some(ty)) => { [INFO] [stdout] 342 | quote! { [INFO] [stdout] 343 | __Variant::#ident => Ok(#name::#ident { #member: #spacetimedb_lib::de::VariantAccess::deserialize::<#ty>(__access)? }), [INFO] [stdout] 344 | } [INFO] [stdout] 345 ~ } _ => { [INFO] [stdout] 346 | quote! { [INFO] [stdout] ... [INFO] [stdout] 351 | } [INFO] [stdout] 352 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/bindings-macro/src/module.rs:442:20 [INFO] [stdout] | [INFO] [stdout] 442 | if let (Some(member), Some(ty)) = (&var.member, var.ty) { [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] --> crates/bindings-macro/src/module.rs:446:17 [INFO] [stdout] | [INFO] [stdout] 446 | } 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] 442 ~ match (&var.member, var.ty) { (Some(member), Some(ty)) => { [INFO] [stdout] 443 | quote_spanned! {ty.span()=> [INFO] [stdout] 444 | Self::#name { #member: __variant } => __serializer.serialize_variant::<#ty>(#tag, Some(#name_str), __variant), [INFO] [stdout] 445 | } [INFO] [stdout] 446 ~ } _ => { [INFO] [stdout] 447 | quote! { [INFO] [stdout] 448 | Self::#name => __serializer.serialize_variant(#tag, Some(#name_str), &()), [INFO] [stdout] 449 | } [INFO] [stdout] 450 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking rust-wasm-test-module v0.0.0 (/tmp/fixit/modules/rust-wasm-test) [INFO] [stderr] Checking perf-test-module v0.1.0 (/tmp/fixit/modules/perf-test) [INFO] [stderr] Migrating modules/benchmarks/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Migrating modules/sdk-test-connect-disconnect/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Migrating modules/rust-wasm-test/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Migrating modules/perf-test/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/bindings/src/io.rs [INFO] [stderr] * crates/bindings/src/logger.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings/src/io.rs:49:6 [INFO] [stderr] | [INFO] [stderr] 49 | ($val:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/bindings/src/io.rs:60:8 [INFO] [stderr] | [INFO] [stderr] 60 | ($($val:expr_2021),+ $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stderr] --> crates/bindings/src/logger.rs:14:29 [INFO] [stderr] | [INFO] [stderr] 14 | fn panic_hook(info: &panic::PanicInfo) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/logger.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [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 #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 8 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/logger.rs:80:3 [INFO] [stdout] | [INFO] [stdout] 80 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [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 #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 80 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/rt.rs:318:3 [INFO] [stdout] | [INFO] [stdout] 318 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [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 #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 318 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/rt.rs:366:3 [INFO] [stdout] | [INFO] [stdout] 366 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [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 #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 366 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings/src/io.rs:49:11 [INFO] [stdout] | [INFO] [stdout] 49 | ($val:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 49 | ($val:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/bindings/src/io.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | ($($val:expr),+ $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 60 | ($($val:expr_2021),+ $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> crates/bindings/src/logger.rs:14:29 [INFO] [stdout] | [INFO] [stdout] 14 | fn panic_hook(info: &panic::PanicInfo) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator::Row>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/bindings/src/table.rs:369:41 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn filter(&self, b: B) -> impl Iterator [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] --> crates/bindings/src/table.rs:369:25 [INFO] [stdout] | [INFO] [stdout] 369 | pub fn filter(&self, b: B) -> impl Iterator [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] 369 | pub fn filter(&self, b: B) -> impl Iterator + use [INFO] [stdout] | ++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking upgrade-version v0.1.0 (/tmp/fixit/tools/upgrade-version) [INFO] [stderr] Migrating crates/table/benches/pointer_map.rs from 2021 edition to 2024 [INFO] [stderr] Fixed crates/table/benches/pointer_map.rs (2 fixes) [INFO] [stderr] Migrating crates/table/benches/var_len_visitor.rs from 2021 edition to 2024 [INFO] [stderr] Migrating crates/table/benches/page.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_table` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/table/src/read_column.rs [INFO] [stderr] * crates/table/src/util.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/table/src/read_column.rs:460:24 [INFO] [stderr] | [INFO] [stderr] 460 | ($name:ident { $algebraic_type:expr_2021 => $rust_type:ty = $val:expr_2021 }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/table/src/read_column.rs:460:69 [INFO] [stderr] | [INFO] [stderr] 460 | ($name:ident { $algebraic_type:expr_2021 => $rust_type:ty = $val:expr_2021 }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/table/src/read_column.rs:474:26 [INFO] [stderr] | [INFO] [stderr] 474 | ($($name:ident { $algebraic_type:expr_2021 => $rust_type:ty = $val:expr_2021 };)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/table/src/read_column.rs:474:71 [INFO] [stderr] | [INFO] [stderr] 474 | ($($name:ident { $algebraic_type:expr_2021 => $rust_type:ty = $val:expr_2021 };)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/table/src/util.rs:19:14 [INFO] [stderr] | [INFO] [stderr] 19 | ($ty:ty, $size:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/table/src/util.rs:33:14 [INFO] [stderr] | [INFO] [stderr] 33 | ($ty:ty, $align:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/table/src/read_column.rs:460:40 [INFO] [stdout] | [INFO] [stdout] 460 | ($name:ident { $algebraic_type:expr => $rust_type:ty = $val:expr }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 460 | ($name:ident { $algebraic_type:expr_2021 => $rust_type:ty = $val:expr }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/table/src/read_column.rs:460:69 [INFO] [stdout] | [INFO] [stdout] 460 | ($name:ident { $algebraic_type:expr => $rust_type:ty = $val:expr }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 460 | ($name:ident { $algebraic_type:expr => $rust_type:ty = $val:expr_2021 }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/table/src/read_column.rs:474:42 [INFO] [stdout] | [INFO] [stdout] 474 | ($($name:ident { $algebraic_type:expr => $rust_type:ty = $val:expr };)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 474 | ($($name:ident { $algebraic_type:expr_2021 => $rust_type:ty = $val:expr };)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/table/src/read_column.rs:474:71 [INFO] [stdout] | [INFO] [stdout] 474 | ($($name:ident { $algebraic_type:expr => $rust_type:ty = $val:expr };)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 474 | ($($name:ident { $algebraic_type:expr => $rust_type:ty = $val:expr_2021 };)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/table/src/util.rs:19:20 [INFO] [stdout] | [INFO] [stdout] 19 | ($ty:ty, $size:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 19 | ($ty:ty, $size:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/table/src/util.rs:33:21 [INFO] [stdout] | [INFO] [stdout] 33 | ($ty:ty, $align:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 33 | ($ty:ty, $align:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/table/src/bflatn_to_bsatn_fast_path.rs:529:16 [INFO] [stdout] | [INFO] [stdout] 529 | if let Some(computed) = StaticBsatnLayout::for_row_type(&layout) { [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] --> crates/table/src/bflatn_to_bsatn_fast_path.rs:531:13 [INFO] [stdout] | [INFO] [stdout] 531 | } [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] 529 ~ match StaticBsatnLayout::for_row_type(&layout) { Some(computed) => { [INFO] [stdout] 530 | panic!("Expected row type not to have a constant BSATN layout!\nRow type: {layout:#?}\nBSATN layout: {computed:#?}"); [INFO] [stdout] 531 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl FnOnce(indexes::PageOffset) -> indexes::PageOffset` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/table/src/page.rs:462:27 [INFO] [stdout] | [INFO] [stdout] 462 | fn adjuster(&self) -> impl FnOnce(PageOffset) -> PageOffset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> crates/table/src/page.rs:438:6 [INFO] [stdout] | [INFO] [stdout] 438 | impl<'page> VarView<'page> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 462 | fn adjuster(&self) -> impl FnOnce(PageOffset) -> PageOffset { [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] 462 | fn adjuster(&self) -> impl FnOnce(PageOffset) -> PageOffset + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/table/src/table.rs:185:16 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(mut conflicts) = index.get_rows_that_violate_unique_constraint(&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] --> crates/table/src/table.rs:189:13 [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] 185 ~ match index.get_rows_that_violate_unique_constraint(&value) { Some(mut conflicts) => { [INFO] [stdout] 186 | if conflicts.any(|ptr| !is_deleted(ptr)) { [INFO] [stdout] 187 | return Err(self.build_error_unique(index, cols, value)); [INFO] [stdout] 188 | } [INFO] [stdout] 189 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/table/src/table.rs:780:12 [INFO] [stdout] | [INFO] [stdout] 780 | if let Some(static_bsatn_layout) = &self.table.static_bsatn_layout { [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] --> crates/table/src/table.rs:787:9 [INFO] [stdout] | [INFO] [stdout] 787 | } 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] 780 ~ match &self.table.static_bsatn_layout { Some(static_bsatn_layout) => { [INFO] [stdout] 781 | // Use fast path, by first fetching the row data and then using the static layout. [INFO] [stdout] ... [INFO] [stdout] 786 | Ok(unsafe { static_bsatn_layout.serialize_row_into_vec(row) }) [INFO] [stdout] 787 ~ } _ => { [INFO] [stdout] 788 | bsatn::to_vec(self) [INFO] [stdout] 789 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/table/src/table.rs:798:12 [INFO] [stdout] | [INFO] [stdout] 798 | if let Some(static_bsatn_layout) = &self.table.static_bsatn_layout { [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] --> crates/table/src/table.rs:808:9 [INFO] [stdout] | [INFO] [stdout] 808 | } 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] 798 ~ match &self.table.static_bsatn_layout { Some(static_bsatn_layout) => { [INFO] [stdout] 799 | // Use fast path, by first fetching the row data and then using the static layout. [INFO] [stdout] ... [INFO] [stdout] 807 | Ok(()) [INFO] [stdout] 808 ~ } _ => { [INFO] [stdout] 809 | // Use the slower, but more general, `bsatn_from` serializer to write the row. [INFO] [stdout] 810 | bsatn::to_writer(buf, self) [INFO] [stdout] 811 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/table/benches/page_manager.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tools/upgrade-version/src/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating crates/commitlog/tests/io.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/commitlog/src/commitlog.rs:375:11 [INFO] [stdout] | [INFO] [stdout] 375 | while let Some(commit) = commits.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/commitlog/src/commitlog.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/commitlog/src/segment.rs:443:15 [INFO] [stdout] | [INFO] [stdout] 443 | while let Some(commit) = commit_meta(&mut reader, &sofar)? { [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] --> crates/commitlog/src/segment.rs:457:9 [INFO] [stdout] | [INFO] [stdout] 457 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/client-api-messages/examples/get_ws_schema.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/durability/src/imp/local.rs:183:15 [INFO] [stdout] | [INFO] [stdout] 183 | while let Some(txdata) = self.rx.recv().await { [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] --> crates/durability/src/imp/local.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/durability/src/imp/local.rs:209:19 [INFO] [stdout] | [INFO] [stdout] 209 | while let Some(txdata) = retry.take() { [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] --> crates/durability/src/imp/local.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde` [INFO] [stdout] --> crates/client-api-messages/src/name/tests.rs:152:7 [INFO] [stdout] | [INFO] [stdout] 152 | #[cfg(feature = "serde")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `serde` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_primitives` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/primitives/src/col_list.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/primitives/src/col_list.rs:26:8 [INFO] [stderr] | [INFO] [stderr] 26 | ($($elem:expr_2021),* $(,)?) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/primitives/src/col_list.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | ($($elem:expr),* $(,)?) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 26 | ($($elem:expr_2021),* $(,)?) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_sats` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/sats/src/de/impls.rs [INFO] [stderr] * crates/sats/src/product_value.rs [INFO] [stderr] * crates/sats/src/ser/impls.rs [INFO] [stderr] * crates/sats/src/typespace.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sats/src/de/impls.rs:32:70 [INFO] [stderr] | [INFO] [stderr] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, $de:ident => $body:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sats/src/product_value.rs:21:8 [INFO] [stderr] | [INFO] [stderr] 21 | [$($elems:expr_2021),*$(,)?] => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sats/src/ser/impls.rs:32:86 [INFO] [stderr] | [INFO] [stderr] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, ($self:ident, $ser:ident) => $body:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sats/src/typespace.rs:277:69 [INFO] [stderr] | [INFO] [stderr] 277 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $stty:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sats/src/typespace.rs:288:82 [INFO] [stderr] | [INFO] [stderr] 288 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $ts:ident => $stty:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sats/src/de/impls.rs:32:76 [INFO] [stdout] | [INFO] [stdout] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, $de:ident => $body:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, $de:ident => $body:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sats/src/product_value.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | [$($elems:expr),*$(,)?] => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 21 | [$($elems:expr_2021),*$(,)?] => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sats/src/ser/impls.rs:32:92 [INFO] [stdout] | [INFO] [stdout] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, ($self:ident, $ser:ident) => $body:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 32 | ([$($generics:tt)*] $(where [$($wc:tt)*])? $typ:ty, ($self:ident, $ser:ident) => $body:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sats/src/typespace.rs:277:75 [INFO] [stdout] | [INFO] [stdout] 277 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $stty:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 277 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $stty:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sats/src/typespace.rs:288:88 [INFO] [stdout] | [INFO] [stdout] 288 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $ts:ident => $stty:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 288 | ([ $($generic_wrapped:ident $($other_generics:tt)*)? ] $rty:ty, $ts:ident => $stty:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/algebraic_type/fmt.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 46 | if let Some(name) = &e.name { [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] --> crates/sats/src/algebraic_type/fmt.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | } else { [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] 46 ~ match &e.name { Some(name) => { [INFO] [stdout] 47 | write!(f, "{}", name)?; [INFO] [stdout] 48 ~ } _ => { [INFO] [stdout] 49 | write!(f, "{}", i)?; [INFO] [stdout] 50 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:213:12 [INFO] [stdout] | [INFO] [stdout] 213 | if let Some(one_of) = one_of_names(|n| expected.field_names(n)) { [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] --> crates/sats/src/de.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | } 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] 213 ~ match one_of_names(|n| expected.field_names(n)) { Some(one_of) => { [INFO] [stdout] 214 | Self::custom(format_args!("unknown {el_ty} `{field_name}`, expected {one_of}")) [INFO] [stdout] 215 ~ } _ => { [INFO] [stdout] 216 | Self::custom(format_args!("unknown {el_ty} `{field_name}`, there are no {el_ty}s")) [INFO] [stdout] 217 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:230:12 [INFO] [stdout] | [INFO] [stdout] 230 | if let Some(one_of) = one_of_names(|n| expected.variant_names(n)) { [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] --> crates/sats/src/de.rs:232:9 [INFO] [stdout] | [INFO] [stdout] 232 | } 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] 230 ~ match one_of_names(|n| expected.variant_names(n)) { Some(one_of) => { [INFO] [stdout] 231 | Self::custom(format_args!("unknown variant `{name}`, expected {one_of}",)) [INFO] [stdout] 232 ~ } _ => { [INFO] [stdout] 233 | Self::custom(format_args!("unknown variant `{name}`, there are no variants")) [INFO] [stdout] 234 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl std::fmt::Display + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:258:6 [INFO] [stdout] | [INFO] [stdout] 258 | ) -> impl fmt::Display + 'a { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> crates/sats/src/de.rs:253:23 [INFO] [stdout] | [INFO] [stdout] 253 | fn error_on_field<'a, 'de>( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 257 | prod: &impl ProductVisitor<'de>, [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] [INFO] [stdout] [INFO] [stdout] warning: `impl for<'a, 'b> Fn(&'a mut Formatter<'b>) -> Result<(), std::fmt::Error> + '_` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | ) -> FDisplay fmt::Result> { [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] --> crates/sats/src/de.rs:276:20 [INFO] [stdout] | [INFO] [stdout] 276 | fn fmt_invalid_len<'de>( [INFO] [stdout] | ^^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:688:11 [INFO] [stdout] | [INFO] [stdout] 688 | while let Some(x) = access.next_element()? { [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] --> crates/sats/src/de.rs:690:5 [INFO] [stdout] | [INFO] [stdout] 690 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de.rs:735:15 [INFO] [stdout] | [INFO] [stdout] 735 | while let Some(el) = vec.next_element()? { [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] --> crates/sats/src/de.rs:738:9 [INFO] [stdout] | [INFO] [stdout] 738 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de/serde.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 177 | if let Some(name) = self.visitor.product_name() { [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] --> crates/sats/src/de/serde.rs:179:9 [INFO] [stdout] | [INFO] [stdout] 179 | } 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] 177 ~ match self.visitor.product_name() { Some(name) => { [INFO] [stdout] 178 | write!(f, "a {name} tuple") [INFO] [stdout] 179 ~ } _ => { [INFO] [stdout] 180 | write!(f, "a {}-element tuple", self.visitor.product_len()) [INFO] [stdout] 181 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de/serde.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 237 | if let Some(one_of) = super::one_of_names(|n| self.visitor.field_names(n)) { [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] --> crates/sats/src/de/serde.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | } 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] 237 ~ match super::one_of_names(|n| self.visitor.field_names(n)) { Some(one_of) => { [INFO] [stdout] 238 | write!(f, "a tuple field ({one_of})") [INFO] [stdout] 239 ~ } _ => { [INFO] [stdout] 240 | f.write_str("a tuple field, but there are no fields") [INFO] [stdout] 241 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sats/src/de/serde.rs:491:15 [INFO] [stdout] | [INFO] [stdout] 491 | while let Some(val) = seq.next_element()? { [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] --> crates/sats/src/de/serde.rs:493:9 [INFO] [stdout] | [INFO] [stdout] 493 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/sats/src/product_value.rs:174:31 [INFO] [stdout] | [INFO] [stdout] 174 | pub fn elements(&self) -> impl ExactSizeIterator> { [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] --> crates/sats/src/product_value.rs:174:21 [INFO] [stdout] | [INFO] [stdout] 174 | pub fn elements(&self) -> impl ExactSizeIterator> { [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] 174 | pub fn elements(&self) -> impl ExactSizeIterator> + use<'a> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_data_structures` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/data-structures/src/error_stream.rs [INFO] [stderr] * crates/data-structures/src/slim_slice.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/data-structures/src/error_stream.rs:462:6 [INFO] [stderr] | [INFO] [stderr] 462 | ($result:expr_2021, $expected:pat => $cond:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/data-structures/src/error_stream.rs:462:42 [INFO] [stderr] | [INFO] [stderr] 462 | ($result:expr_2021, $expected:pat => $cond:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/data-structures/src/error_stream.rs:483:6 [INFO] [stderr] | [INFO] [stderr] 483 | ($result:expr_2021, $expected:pat) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/data-structures/src/slim_slice.rs:119:6 [INFO] [stderr] | [INFO] [stderr] 119 | ($thing:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/data-structures/src/error_stream.rs:462:14 [INFO] [stdout] | [INFO] [stdout] 462 | ($result:expr, $expected:pat => $cond:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 462 | ($result:expr_2021, $expected:pat => $cond:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/data-structures/src/error_stream.rs:462:43 [INFO] [stdout] | [INFO] [stdout] 462 | ($result:expr, $expected:pat => $cond:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 462 | ($result:expr, $expected:pat => $cond:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/data-structures/src/error_stream.rs:483:14 [INFO] [stdout] | [INFO] [stdout] 483 | ($result:expr, $expected:pat) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 483 | ($result:expr_2021, $expected:pat) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | ($thing:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 119 | ($thing:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:260:19 [INFO] [stdout] | [INFO] [stdout] 260 | let ptr = NonNull::new_unchecked(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] --> crates/data-structures/src/slim_slice.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | const unsafe fn from_len_ptr(len: usize, ptr: *mut T) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:326:23 [INFO] [stdout] | [INFO] [stdout] 326 | let raw = SlimRawSlice::from_len_ptr(len, 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] --> crates/data-structures/src/slim_slice.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | pub unsafe fn from_boxed_unchecked(boxed: Box<[T]>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:866:23 [INFO] [stdout] | [INFO] [stdout] 866 | let raw = SlimRawSlice::from_len_ptr(len, 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] --> crates/data-structures/src/slim_slice.rs:862:9 [INFO] [stdout] | [INFO] [stdout] 862 | pub(super) const unsafe fn from_slice_unchecked(slice: &'a [T]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:1046:19 [INFO] [stdout] | [INFO] [stdout] 1046 | let raw = SlimRawSlice::from_len_ptr(slice.len(), slice.as_mut_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] --> crates/data-structures/src/slim_slice.rs:1044:5 [INFO] [stdout] | [INFO] [stdout] 1044 | unsafe fn from_slice_unchecked(slice: &'a mut [T]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | ... $(#[name = $name:ident] #[help = $help:expr] $(#[labels($($labels:ident: $labelty:ty),*)])? $(#[buckets($($bucket:literal),*)])? $v... [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 6 | $(#[name = $name:ident] #[help = $help:expr_2021] $(#[labels($($labels:ident: $labelty:ty),*)])? $(#[buckets($($bucket:literal),*)])? $vis:vis $field:ident: $ty:ident,)* [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_metrics` [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | ($ty:ty, $name:expr, $help:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 61 | ($ty:ty, $name:expr_2021, $help:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/metrics/src/typed_prometheus.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:6:42 [INFO] [stderr] | [INFO] [stderr] 6 | ... $(#[name = $name:ident] #[help = $help:expr_2021] $(#[labels($($labels:ident: $labelty:ty),*)])? $(#[buckets($($bucket:literal),*)]... [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:61:14 [INFO] [stderr] | [INFO] [stderr] 61 | ($ty:ty, $name:expr_2021, $help:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:61:31 [INFO] [stderr] | [INFO] [stderr] 61 | ($ty:ty, $name:expr_2021, $help:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:64:14 [INFO] [stderr] | [INFO] [stderr] 64 | ($ty:ty, $name:expr_2021, $help:expr_2021, $labels:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:64:31 [INFO] [stderr] | [INFO] [stderr] 64 | ($ty:ty, $name:expr_2021, $help:expr_2021, $labels:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/metrics/src/typed_prometheus.rs:64:48 [INFO] [stderr] | [INFO] [stderr] 64 | ($ty:ty, $name:expr_2021, $help:expr_2021, $labels:expr_2021 $(,)?) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:61:32 [INFO] [stdout] | [INFO] [stdout] 61 | ($ty:ty, $name:expr, $help:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 61 | ($ty:ty, $name:expr, $help:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr, $help:expr, $labels:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr_2021, $help:expr, $labels:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr, $help:expr, $labels:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr, $help:expr_2021, $labels:expr $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/metrics/src/typed_prometheus.rs:64:46 [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr, $help:expr, $labels:expr $(,)?) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 64 | ($ty:ty, $name:expr, $help:expr, $labels:expr_2021 $(,)?) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tungstenite v0.21.0 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.7 [INFO] [stderr] Checking tokio-tungstenite v0.21.0 [INFO] [stderr] Checking spacetimedb-sdk v0.12.0 (/tmp/fixit/crates/sdk) [INFO] [stderr] Migrating crates/sdk/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking sendgrid v0.21.0 [INFO] [stderr] Checking spacetimedb-core v0.12.0 (/tmp/fixit/crates/core) [INFO] [stderr] Fixed crates/sdk/src/websocket.rs (2 fixes) [INFO] [stderr] Migrating crates/core/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Fixed crates/sdk/src/client_cache.rs (5 fixes) [INFO] [stderr] Fixed crates/sdk/src/callbacks.rs (1 fix) [INFO] [stderr] Fixed crates/sdk/src/background_connection.rs (1 fix) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sdk/src/callbacks.rs:273:15 [INFO] [stdout] | [INFO] [stdout] 273 | while let Some(msg) = recv.next().await { [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] --> crates/sdk/src/callbacks.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sdk/src/background_connection.rs:168:11 [INFO] [stdout] | [INFO] [stdout] 168 | while let Some(msg) = recv.next().await { [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] --> crates/sdk/src/background_connection.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking test-client v0.12.0 (/tmp/fixit/crates/sdk/tests/test-client) [INFO] [stderr] Checking connect_disconnect_client v0.12.0 (/tmp/fixit/crates/sdk/tests/connect_disconnect_client) [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/core/src/db/datastore/system_tables.rs [INFO] [stderr] * crates/core/src/execution_context.rs [INFO] [stderr] * crates/core/src/host/module_host.rs [INFO] [stderr] * crates/core/src/host/wasmtime/wasm_instance_env.rs [INFO] [stderr] * crates/core/src/sql/ast.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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/sql/ast.rs:62:23 [INFO] [stdout] | [INFO] [stdout] 62 | ($name:literal,$a:expr)=>{{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 62 | ($name:literal,$a:expr_2021)=>{{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/sql/ast.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | ($name:literal,$a:expr_2021)=>{{ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/sql/ast.rs:72:22 [INFO] [stderr] | [INFO] [stderr] 72 | ($name:literal,$($a:expr_2021),+$(,)?)=> {{ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/db/datastore/system_tables.rs:154:48 [INFO] [stderr] | [INFO] [stderr] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr_2021, $var:ident = $discr:expr_2021,)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/db/datastore/system_tables.rs:154:78 [INFO] [stderr] | [INFO] [stderr] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr_2021, $var:ident = $discr:expr_2021,)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/execution_context.rs:76:14 [INFO] [stderr] | [INFO] [stderr] 76 | ($db_metric:expr_2021, $metric:expr_2021, $metric_field:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/execution_context.rs:76:36 [INFO] [stderr] | [INFO] [stderr] 76 | ($db_metric:expr_2021, $metric:expr_2021, $metric_field:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `tracelogging` [INFO] [stderr] --> crates/core/src/host/module_host.rs:327:11 [INFO] [stderr] | [INFO] [stderr] 327 | #[cfg(feature = "tracelogging")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stderr] = help: consider adding `tracelogging` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `tracelogging` [INFO] [stderr] --> crates/core/src/host/module_host.rs:329:11 [INFO] [stderr] | [INFO] [stderr] 329 | #[cfg(feature = "tracelogging")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stderr] = help: consider adding `tracelogging` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `spacetimedb-wasm-instance-env-times` [INFO] [stderr] --> crates/core/src/host/wasmtime/wasm_instance_env.rs:25:11 [INFO] [stderr] | [INFO] [stderr] 25 | #[cfg(not(feature = "spacetimedb-wasm-instance-env-times"))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stderr] = help: consider adding `spacetimedb-wasm-instance-env-times` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `spacetimedb-wasm-instance-env-times` [INFO] [stderr] --> crates/core/src/host/wasmtime/wasm_instance_env.rs:27:7 [INFO] [stderr] | [INFO] [stderr] 27 | #[cfg(feature = "spacetimedb-wasm-instance-env-times")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stderr] = help: consider adding `spacetimedb-wasm-instance-env-times` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors; 4 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/sql/ast.rs:72:25 [INFO] [stdout] | [INFO] [stdout] 72 | ($name:literal,$($a:expr),+$(,)?)=> {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 72 | ($name:literal,$($a:expr_2021),+$(,)?)=> {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/db/datastore/system_tables.rs:154:54 [INFO] [stdout] | [INFO] [stdout] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr, $var:ident = $discr:expr,)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr_2021, $var:ident = $discr:expr,)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/db/datastore/system_tables.rs:154:80 [INFO] [stdout] | [INFO] [stdout] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr, $var:ident = $discr:expr,)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr, $var:ident = $discr:expr_2021,)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/execution_context.rs:76:25 [INFO] [stdout] | [INFO] [stdout] 76 | ($db_metric:expr, $metric:expr, $metric_field:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 76 | ($db_metric:expr_2021, $metric:expr, $metric_field:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/execution_context.rs:76:39 [INFO] [stdout] | [INFO] [stdout] 76 | ($db_metric:expr, $metric:expr, $metric_field:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 76 | ($db_metric:expr, $metric:expr_2021, $metric_field:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `tracelogging` [INFO] [stdout] --> crates/core/src/host/module_host.rs:327:11 [INFO] [stdout] | [INFO] [stdout] 327 | #[cfg(feature = "tracelogging")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stdout] = help: consider adding `tracelogging` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `tracelogging` [INFO] [stdout] --> crates/core/src/host/module_host.rs:329:11 [INFO] [stdout] | [INFO] [stdout] 329 | #[cfg(feature = "tracelogging")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stdout] = help: consider adding `tracelogging` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `spacetimedb-wasm-instance-env-times` [INFO] [stdout] --> crates/core/src/host/wasmtime/wasm_instance_env.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | #[cfg(not(feature = "spacetimedb-wasm-instance-env-times"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stdout] = help: consider adding `spacetimedb-wasm-instance-env-times` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `spacetimedb-wasm-instance-env-times` [INFO] [stdout] --> crates/core/src/host/wasmtime/wasm_instance_env.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | #[cfg(feature = "spacetimedb-wasm-instance-env-times")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stdout] = help: consider adding `spacetimedb-wasm-instance-env-times` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `wasm_instance_env_call_times` is never read [INFO] [stdout] --> crates/core/src/host/wasm_common/module_host_actor.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct ExecutionTimings { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 72 | pub total_duration: Duration, [INFO] [stdout] 73 | pub wasm_instance_env_call_times: CallTimes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/sql/ast.rs:233:19 [INFO] [stdout] | [INFO] [stdout] 233 | return if let Some(col) = tables [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] 234 | | .find(|t| &*t.table_name == f_table) [INFO] [stdout] 235 | | .and_then(|t| t.get_column_by_name(f_field)) [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] --> crates/core/src/sql/ast.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | } else { [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] 233 ~ return match tables [INFO] [stdout] 234 | .find(|t| &*t.table_name == f_table) [INFO] [stdout] 235 | .and_then(|t| t.get_column_by_name(f_field)) [INFO] [stdout] 236 ~ { Some(col) => { [INFO] [stdout] 237 | Ok((FieldName::new(col.table_id, col.col_pos), &col.col_type)) [INFO] [stdout] 238 ~ } _ => { [INFO] [stdout] 239 | unknown_field() [INFO] [stdout] 240 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/sql/ast.rs:465:8 [INFO] [stdout] | [INFO] [stdout] 465 | if let Some(filter) = filter { [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] --> crates/core/src/sql/ast.rs:467:5 [INFO] [stdout] | [INFO] [stdout] 467 | } 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] 465 ~ match filter { Some(filter) => { [INFO] [stdout] 466 | _compile_where(table, filter) [INFO] [stdout] 467 ~ } _ => { [INFO] [stdout] 468 | Ok(None) [INFO] [stdout] 469 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/sql/compiler.rs:72:20 [INFO] [stdout] | [INFO] [stdout] 72 | if let Some(t) = table.iter_tables().find(|x| *x.table_name == name) { [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] --> crates/core/src/sql/compiler.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | } 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] 72 ~ match table.iter_tables().find(|x| *x.table_name == name) { Some(t) => { [INFO] [stdout] 73 | for c in t.columns().iter() { [INFO] [stdout] ... [INFO] [stdout] 76 | qualified_wildcards.push(t.table_id); [INFO] [stdout] 77 ~ } _ => { [INFO] [stdout] 78 | return Err(PlanError::TableNotFoundQualified { expect: name }); [INFO] [stdout] 79 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/sql/compiler.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | let query = if let Some(filter) = selection { [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] --> crates/core/src/sql/compiler.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | } 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] 175 ~ let query = match selection { Some(filter) => { [INFO] [stdout] 176 | compile_where(query, filter)? [INFO] [stdout] 177 ~ } _ => { [INFO] [stdout] 178 | query [INFO] [stdout] 179 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/sql/compiler.rs:190:21 [INFO] [stdout] | [INFO] [stdout] 190 | let delete = if let Some(filter) = selection { [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] --> crates/core/src/sql/compiler.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | } 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] 190 ~ let delete = match selection { Some(filter) => { [INFO] [stdout] 191 | compile_where(query, filter)? [INFO] [stdout] 192 ~ } _ => { [INFO] [stdout] 193 | query [INFO] [stdout] 194 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/datastore/locking_tx_datastore/mut_tx.rs:575:25 [INFO] [stdout] | [INFO] [stdout] 575 | let key_ty = if let Some(key_ty) = self [INFO] [stdout] | __________________________^ - [INFO] [stdout] | | ____________________________________________| [INFO] [stdout] 576 | || .committed_state_write_lock [INFO] [stdout] | ||_______________________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 577 | | .get_table_and_index_type(table_id, col_list) [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] --> crates/core/src/db/datastore/locking_tx_datastore/mut_tx.rs:588:9 [INFO] [stdout] | [INFO] [stdout] 588 | } 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] 575 ~ let key_ty = match self [INFO] [stdout] 576 | .committed_state_write_lock [INFO] [stdout] 577 | .get_table_and_index_type(table_id, col_list) [INFO] [stdout] 578 ~ { Some(key_ty) => { [INFO] [stdout] 579 | if self [INFO] [stdout] ... [INFO] [stdout] 587 | key_ty [INFO] [stdout] 588 ~ } _ => { [INFO] [stdout] 589 | self.tx_state.get_table_and_index_type(table_id, col_list)? [INFO] [stdout] 590 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/datastore/locking_tx_datastore/mut_tx.rs:1421:12 [INFO] [stdout] | [INFO] [stdout] 1421 | if let Some(inserted_rows) = self.tx_state.index_seek(table_id, &cols, &range) { [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] --> crates/core/src/db/datastore/locking_tx_datastore/mut_tx.rs:1432:9 [INFO] [stdout] | [INFO] [stdout] 1432 | } 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] 1421 ~ match self.tx_state.index_seek(table_id, &cols, &range) { Some(inserted_rows) => { [INFO] [stdout] 1422 | // The current transaction has modified this table, and the table is indexed. [INFO] [stdout] ... [INFO] [stdout] 1431 | })) [INFO] [stdout] 1432 ~ } _ => { [INFO] [stdout] 1433 | // Either the current transaction has not modified this table, or the table is not [INFO] [stdout] ... [INFO] [stdout] 1478 | } [INFO] [stdout] 1479 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/datastore/locking_tx_datastore/state_view.rs:232:24 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some(table) = self.committed_state.tables.get(&table_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] --> crates/core/src/db/datastore/locking_tx_datastore/state_view.rs:238:21 [INFO] [stdout] | [INFO] [stdout] 238 | } 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] 232 ~ match self.committed_state.tables.get(&table_id) { Some(table) => { [INFO] [stdout] 233 | // The committed state has changes for this table. [INFO] [stdout] ... [INFO] [stdout] 237 | }; [INFO] [stdout] 238 ~ } _ => { [INFO] [stdout] 239 | // No committed changes, so look for inserts in the current tx in (2). [INFO] [stdout] 240 | maybe_stage_current_tx_inserts(self); [INFO] [stdout] 241 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/datastore/system_tables.rs:787:8 [INFO] [stdout] | [INFO] [stdout] 787 | if let ArrayValue::U8(bytes) = bytes { [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] --> crates/core/src/db/datastore/system_tables.rs:789:5 [INFO] [stdout] | [INFO] [stdout] 789 | } 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] 787 ~ match bytes { ArrayValue::U8(bytes) => { [INFO] [stdout] 788 | Ok(bytes) [INFO] [stdout] 789 ~ } _ => { [INFO] [stdout] 790 | Err(InvalidFieldError { [INFO] [stdout] ... [INFO] [stdout] 794 | .into()) [INFO] [stdout] 795 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:125:15 [INFO] [stdout] | [INFO] [stdout] 125 | while let Some(()) = trigger.next().await { [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] --> crates/core/src/db/relational_db.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | if let Err(e) = snapshot_repo.create_snapshot(tables.values_mut(), blob_store, tx_offset) { [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] --> crates/core/src/db/relational_db.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | } 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] 154 ~ match snapshot_repo.create_snapshot(tables.values_mut(), blob_store, tx_offset) { Err(e) => { [INFO] [stdout] 155 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 158 | ); [INFO] [stdout] 159 ~ } _ => { [INFO] [stdout] 160 | log::info!( [INFO] [stdout] ... [INFO] [stdout] 165 | ); [INFO] [stdout] 166 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:422:20 [INFO] [stdout] | [INFO] [stdout] 422 | if let Some(tx_offset) = snapshot_repo.latest_snapshot_older_than(durable_tx_offset)? { [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] --> crates/core/src/db/relational_db.rs:447:17 [INFO] [stdout] | [INFO] [stdout] 447 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 422 ~ match snapshot_repo.latest_snapshot_older_than(durable_tx_offset)? { Some(tx_offset) => { [INFO] [stdout] 423 | // Mark any newer snapshots as invalid, as the new history will diverge from their state. [INFO] [stdout] ... [INFO] [stdout] 446 | return res; [INFO] [stdout] 447 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:701:12 [INFO] [stdout] | [INFO] [stdout] 701 | if let Some(snapshot_worker) = &self.snapshot_worker { [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] --> crates/core/src/db/relational_db.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 701 ~ match &self.snapshot_worker { Some(snapshot_worker) => { [INFO] [stdout] 702 | if let Some(tx_offset) = tx_data.tx_offset() { [INFO] [stdout] ... [INFO] [stdout] 706 | } [INFO] [stdout] 707 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:1094:27 [INFO] [stdout] | [INFO] [stdout] 1094 | ) -> Result<(TableId, impl Iterator>), DBError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> crates/core/src/db/relational_db.rs:1090:17 [INFO] [stdout] | [INFO] [stdout] 1090 | prefix: &[u8], [INFO] [stdout] | ^ [INFO] [stdout] 1091 | prefix_elems: ColId, [INFO] [stdout] 1092 | rstart: &[u8], [INFO] [stdout] | ^ [INFO] [stdout] 1093 | rend: &[u8], [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] 1094 | ) -> Result<(TableId, impl Iterator> + use<'a>), DBError> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:1358:16 [INFO] [stdout] | [INFO] [stdout] 1358 | if let Some(DurableState { handle, rt }) = self.durable { [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] --> crates/core/src/db/relational_db.rs:1373:13 [INFO] [stdout] | [INFO] [stdout] 1373 | } 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] 1358 ~ match self.durable { Some(DurableState { handle, rt }) => { [INFO] [stdout] 1359 | let handle = [INFO] [stdout] ... [INFO] [stdout] 1372 | }) [INFO] [stdout] 1373 ~ } _ => { [INFO] [stdout] 1374 | let db = Self::in_memory_internal(self.tmp_dir.path())?; [INFO] [stdout] 1375 | Ok(Self { db, ..self }) [INFO] [stdout] 1376 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/host_controller.rs:230:16 [INFO] [stdout] | [INFO] [stdout] 230 | if let Some(host) = &*guard { [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] --> crates/core/src/host/host_controller.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 230 ~ match &*guard { Some(host) => { [INFO] [stdout] 231 | trace!("cached host {}/{}", database.address, instance_id); [INFO] [stdout] 232 | return Ok(host.module.subscribe()); [INFO] [stdout] 233 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/host_controller.rs:414:16 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some(host) = lock.write_owned().await.take() { [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] --> crates/core/src/host/host_controller.rs:417:13 [INFO] [stdout] | [INFO] [stdout] 417 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 414 ~ match lock.write_owned().await.take() { Some(host) => { [INFO] [stdout] 415 | let module = host.module.borrow().clone(); [INFO] [stdout] 416 | module.exit().await; [INFO] [stdout] 417 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl (Fn()) + std::marker::Send + Sync + 'static` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/core/src/host/host_controller.rs:462:50 [INFO] [stdout] | [INFO] [stdout] 462 | fn unregister_fn(&self, instance_id: u64) -> impl Fn() + Send + Sync + 'static { [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] --> crates/core/src/host/host_controller.rs:462:22 [INFO] [stdout] | [INFO] [stdout] 462 | fn unregister_fn(&self, instance_id: u64) -> impl Fn() + Send + Sync + 'static { [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] 462 | fn unregister_fn(&self, instance_id: u64) -> impl Fn() + Send + Sync + 'static + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/host_controller.rs:465:16 [INFO] [stdout] | [INFO] [stdout] 465 | if let Some(hosts) = hosts.upgrade() { [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] --> crates/core/src/host/host_controller.rs:467:13 [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] 465 ~ match hosts.upgrade() { Some(hosts) => { [INFO] [stdout] 466 | hosts.lock().remove(&instance_id); [INFO] [stdout] 467 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/scheduler.rs:391:20 [INFO] [stdout] | [INFO] [stdout] 391 | if let Ok(is_repeated) = self.handle_repeated_schedule(&tx, db, id, &schedule_row) { [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] --> crates/core/src/host/scheduler.rs:400:17 [INFO] [stdout] | [INFO] [stdout] 400 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 391 ~ match self.handle_repeated_schedule(&tx, db, id, &schedule_row) { Ok(is_repeated) => { [INFO] [stdout] 392 | if is_repeated { [INFO] [stdout] ... [INFO] [stdout] 399 | commit_and_broadcast_deletion_event(ctx, tx, module_host); [INFO] [stdout] 400 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/scheduler.rs:429:8 [INFO] [stdout] | [INFO] [stdout] 429 | if let Err(e) = module_host [INFO] [stdout] | ________^ - [INFO] [stdout] | |_____________________| [INFO] [stdout] 430 | || .info() [INFO] [stdout] 431 | || .subscriptions [INFO] [stdout] 432 | || .commit_and_broadcast_event(None, event, ctx, tx) [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] --> crates/core/src/host/scheduler.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 435 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 429 ~ match module_host [INFO] [stdout] 430 | .info() [INFO] [stdout] 431 | .subscriptions [INFO] [stdout] 432 | .commit_and_broadcast_event(None, event, ctx, tx) [INFO] [stdout] 433 ~ { Err(e) => { [INFO] [stdout] 434 | log::error!("Failed to broadcast deletion event: {e:#}"); [INFO] [stdout] 435 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl module_host::Module` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/core/src/host/wasmtime/mod.rs:55:57 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn make_actor(mcc: ModuleCreationContext) -> Result { [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] --> crates/core/src/host/wasmtime/mod.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn make_actor(mcc: ModuleCreationContext) -> Result { [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] 55 | pub fn make_actor(mcc: ModuleCreationContext) -> Result, ModuleCreationError> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/instance_env.rs:127:24 [INFO] [stdout] | [INFO] [stdout] 127 | if let Ok(Some(table_name)) = res { [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] --> crates/core/src/host/instance_env.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | } 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] 127 ~ match res { Ok(Some(table_name)) => { [INFO] [stdout] 128 | log::debug!("insert(table: {table_name}, table_id: {table_id}): {e}") [INFO] [stdout] 129 ~ } _ => { [INFO] [stdout] 130 | log::debug!("insert(table_id: {table_id}): {e}") [INFO] [stdout] 131 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/startup.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | if let Some(guard) = flame_guard { [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] --> crates/core/src/startup.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 102 ~ match flame_guard { Some(guard) => { [INFO] [stdout] 103 | tokio::spawn(async move { [INFO] [stdout] ... [INFO] [stdout] 108 | }); [INFO] [stdout] 109 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/startup.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | if let Ok(modified) = conf_file.metadata().and_then(|m| m.modified()) { [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] --> crates/core/src/startup.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 127 ~ match conf_file.metadata().and_then(|m| m.modified()) { Ok(modified) => { [INFO] [stdout] 128 | if prev_time.map_or(true, |prev| modified > prev) { [INFO] [stdout] ... [INFO] [stdout] 134 | } [INFO] [stdout] 135 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/execution_unit.rs:310:15 [INFO] [stdout] | [INFO] [stdout] 310 | while let Some(row) = query.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/execution_unit.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/module_subscription_actor.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 83 | if let Some(unit) = guard.query(&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] --> crates/core/src/subscription/module_subscription_actor.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | } 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] 83 ~ match guard.query(&hash) { Some(unit) => { [INFO] [stdout] 84 | queries.push(unit); [INFO] [stdout] 85 ~ } _ => { [INFO] [stdout] 86 | let mut compiled = compile_read_only_query(&self.relational_db, &tx, sql)?; [INFO] [stdout] ... [INFO] [stdout] 93 | queries.push(Arc::new(ExecutionUnit::new(compiled.remove(0), hash)?)); [INFO] [stdout] 94 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/module_subscription_manager.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 93 | if let Entry::Occupied(mut entry) = self.tables.entry(table_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] --> crates/core/src/subscription/module_subscription_manager.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 93 ~ match self.tables.entry(table_id) { Entry::Occupied(mut entry) => { [INFO] [stdout] 94 | let hashes = entry.get_mut(); [INFO] [stdout] ... [INFO] [stdout] 97 | } [INFO] [stdout] 98 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/module_subscription_manager.rs:105:20 [INFO] [stdout] | [INFO] [stdout] 105 | if let Some(query) = self.queries.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] --> crates/core/src/subscription/module_subscription_manager.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 105 ~ match self.queries.remove(hash) { Some(query) => { [INFO] [stdout] 106 | remove_table_query(query.return_table(), hash); [INFO] [stdout] 107 | remove_table_query(query.filter_table(), hash); [INFO] [stdout] 108 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/module_subscription_manager.rs:136:20 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(hashes) = self.tables.get(table_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] --> crates/core/src/subscription/module_subscription_manager.rs:140:17 [INFO] [stdout] | [INFO] [stdout] 140 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 136 ~ match self.tables.get(table_id) { Some(hashes) => { [INFO] [stdout] 137 | for hash in hashes { [INFO] [stdout] 138 | units.entry(hash).or_insert_with(ArrayVec::new).push(table); [INFO] [stdout] 139 | } [INFO] [stdout] 140 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetimedb-client-api v0.12.0 (/tmp/fixit/crates/client-api) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/module_subscription_manager.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | if let Err(e) = client.send_message(TransactionUpdateMessage { [INFO] [stdout] | ________^ - [INFO] [stdout] | |_________________________________________| [INFO] [stdout] 254 | || event: event.clone(), [INFO] [stdout] 255 | || database_update, [INFO] [stdout] 256 | || }) { [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] --> crates/core/src/subscription/module_subscription_manager.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 253 ~ match client.send_message(TransactionUpdateMessage { [INFO] [stdout] 254 | event: event.clone(), [INFO] [stdout] 255 | database_update, [INFO] [stdout] 256 ~ }) { Err(e) => { [INFO] [stdout] 257 | tracing::warn!(%client.id, "failed to send update message to client: {e}") [INFO] [stdout] 258 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/subscription.rs:547:16 [INFO] [stdout] | [INFO] [stdout] 547 | if let Some(table) = unit.eval_incr( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 548 | || ctx, [INFO] [stdout] 549 | || db, [INFO] [stdout] 550 | || tx, [INFO] [stdout] ... || [INFO] [stdout] 553 | || slow_query_threshold, [INFO] [stdout] 554 | || ) { [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] --> crates/core/src/subscription/subscription.rs:556:13 [INFO] [stdout] | [INFO] [stdout] 556 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 547 ~ match unit.eval_incr( [INFO] [stdout] 548 | ctx, [INFO] [stdout] ... [INFO] [stdout] 553 | slow_query_threshold, [INFO] [stdout] 554 ~ ) { Some(table) => { [INFO] [stdout] 555 | tables.push(table); [INFO] [stdout] 556 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/util/mod.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | if let Err(Err(_panic)) = tx.send(result) { [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] --> crates/core/src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 35 ~ match tx.send(result) { Err(Err(_panic)) => { [INFO] [stdout] 36 | tracing::warn!("uncaught panic on threadpool") [INFO] [stdout] 37 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures::Future, PoolClosed>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/core/src/util/lending_pool.rs:86:56 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn request_with_context(&self, db: Address) -> impl Future, PoolClosed>> { [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] --> crates/core/src/util/lending_pool.rs:86:33 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn request_with_context(&self, db: Address) -> impl Future, PoolClosed>> { [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] 86 | pub fn request_with_context(&self, db: Address) -> impl Future, PoolClosed>> + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/util/lending_pool.rs:207:16 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(deque) = &mut vec.deque { [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] --> crates/core/src/util/lending_pool.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | } 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] 207 ~ match &mut vec.deque { Some(deque) => { [INFO] [stdout] 208 | deque.push_back(resource); [INFO] [stdout] 209 | drop(permit); [INFO] [stdout] 210 ~ } _ => { [INFO] [stdout] 211 | drop(resource); [INFO] [stdout] ... [INFO] [stdout] 216 | } [INFO] [stdout] 217 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:311:15 [INFO] [stdout] | [INFO] [stdout] 311 | while let Some(index_row) = self.index_iter.as_mut().and_then(|iter| iter.next()).map(RelValue::Row) { [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] --> crates/core/src/vm.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:321:15 [INFO] [stdout] | [INFO] [stdout] 321 | while let Some(mut row) = self.probe_side.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:322:16 [INFO] [stdout] | [INFO] [stdout] 322 | if let Some(value) = row.read_or_take_column(probe_col) { [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] --> crates/core/src/vm.rs:334:13 [INFO] [stdout] | [INFO] [stdout] 334 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 322 ~ match row.read_or_take_column(probe_col) { Some(value) => { [INFO] [stdout] 323 | let index_iter = match self.tx { [INFO] [stdout] ... [INFO] [stdout] 333 | } [INFO] [stdout] 334 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:328:23 [INFO] [stdout] | [INFO] [stdout] 328 | while let Some(index_row) = index_iter.next().map(RelValue::Row) { [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] --> crates/core/src/vm.rs:333:17 [INFO] [stdout] | [INFO] [stdout] 333 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:375:15 [INFO] [stdout] | [INFO] [stdout] 375 | while let Some(row) = self.probe_side.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:376:16 [INFO] [stdout] | [INFO] [stdout] 376 | if let Some(value) = row.read_column(probe_col) { [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] --> crates/core/src/vm.rs:388:13 [INFO] [stdout] | [INFO] [stdout] 388 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 376 ~ match row.read_column(probe_col) { Some(value) => { [INFO] [stdout] 377 | let value = &*value; [INFO] [stdout] ... [INFO] [stdout] 387 | } [INFO] [stdout] 388 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:383:23 [INFO] [stdout] | [INFO] [stdout] 383 | while let Some(index_row) = index_iter.next().map(RelValue::Row) { [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] --> crates/core/src/vm.rs:387:17 [INFO] [stdout] | [INFO] [stdout] 387 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some(limit) = StVarTable::row_limit(ctx, db, tx)? { [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] --> crates/core/src/vm.rs:421:9 [INFO] [stdout] | [INFO] [stdout] 421 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 414 ~ match StVarTable::row_limit(ctx, db, tx)? { Some(limit) => { [INFO] [stdout] 415 | let estimate = row_est(queries, tx); [INFO] [stdout] ... [INFO] [stdout] 420 | } [INFO] [stdout] 421 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:553:20 [INFO] [stdout] | [INFO] [stdout] 553 | if let Some(value) = StVarTable::read_var(env.ctx, env.db, tx, name)? { [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] --> crates/core/src/vm.rs:558:17 [INFO] [stdout] | [INFO] [stdout] 558 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 553 ~ match StVarTable::read_var(env.ctx, env.db, tx, name)? { Some(value) => { [INFO] [stdout] 554 | return Ok(MemTable::from_iter( [INFO] [stdout] ... [INFO] [stdout] 557 | )); [INFO] [stdout] 558 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 55 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking sqltest v0.12.0 (/tmp/fixit/crates/sqltest) [INFO] [stderr] Migrating crates/sdk/tests/test-client/src/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/sql/ast.rs:62:23 [INFO] [stdout] | [INFO] [stdout] 62 | ($name:literal,$a:expr)=>{{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 62 | ($name:literal,$a:expr_2021)=>{{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb` [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/sql/ast.rs:72:25 [INFO] [stdout] | [INFO] [stdout] 72 | ($name:literal,$($a:expr),+$(,)?)=> {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 72 | ($name:literal,$($a:expr_2021),+$(,)?)=> {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/db/datastore/system_tables.rs:154:54 [INFO] [stdout] | [INFO] [stdout] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr, $var:ident = $discr:expr,)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr_2021, $var:ident = $discr:expr,)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/db/datastore/system_tables.rs:154:80 [INFO] [stdout] | [INFO] [stdout] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr, $var:ident = $discr:expr,)* }) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr, $var:ident = $discr:expr_2021,)* }) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/execution_context.rs:76:25 [INFO] [stdout] | [INFO] [stdout] 76 | ($db_metric:expr, $metric:expr, $metric_field:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 76 | ($db_metric:expr_2021, $metric:expr, $metric_field:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * crates/core/src/db/datastore/system_tables.rs [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/core/src/execution_context.rs:76:39 [INFO] [stdout] | [INFO] [stdout] 76 | ($db_metric:expr, $metric:expr, $metric_field:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 76 | ($db_metric:expr, $metric:expr_2021, $metric_field:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * crates/core/src/execution_context.rs [INFO] [stdout] warning: unexpected `cfg` condition value: `tracelogging` [INFO] [stdout] --> crates/core/src/host/module_host.rs:327:11 [INFO] [stdout] | [INFO] [stdout] 327 | #[cfg(feature = "tracelogging")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stdout] = help: consider adding `tracelogging` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * crates/core/src/host/module_host.rs [INFO] [stdout] warning: unexpected `cfg` condition value: `tracelogging` [INFO] [stdout] --> crates/core/src/host/module_host.rs:329:11 [INFO] [stdout] | [INFO] [stdout] 329 | #[cfg(feature = "tracelogging")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stdout] = help: consider adding `tracelogging` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * crates/core/src/host/wasmtime/wasm_instance_env.rs [INFO] [stderr] * crates/core/src/sql/ast.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/sql/ast.rs:62:20 [INFO] [stderr] | [INFO] [stderr] 62 | ($name:literal,$a:expr_2021)=>{{ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/sql/ast.rs:72:22 [INFO] [stderr] | [INFO] [stderr] 72 | ($name:literal,$($a:expr_2021),+$(,)?)=> {{ [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/db/datastore/system_tables.rs:154:48 [INFO] [stderr] | [INFO] [stderr] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr_2021, $var:ident = $discr:expr_2021,)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/db/datastore/system_tables.rs:154:78 [INFO] [stderr] | [INFO] [stderr] 154 | ($(#[$attr:meta])* enum $ty_name:ident { $($name:expr_2021, $var:ident = $discr:expr_2021,)* }) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/execution_context.rs:76:14 [INFO] [stderr] | [INFO] [stderr] 76 | ($db_metric:expr_2021, $metric:expr_2021, $metric_field:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/core/src/execution_context.rs:76:36 [INFO] [stderr] | [INFO] [stderr] 76 | ($db_metric:expr_2021, $metric:expr_2021, $metric_field:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `tracelogging` [INFO] [stderr] --> crates/core/src/host/module_host.rs:327:11 [INFO] [stderr] | [INFO] [stderr] 327 | #[cfg(feature = "tracelogging")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stderr] = help: consider adding `tracelogging` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `tracelogging` [INFO] [stderr] --> crates/core/src/host/module_host.rs:329:11 [INFO] [stderr] | [INFO] [stderr] 329 | #[cfg(feature = "tracelogging")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stderr] = help: consider adding `tracelogging` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `spacetimedb-wasm-instance-env-times` [INFO] [stderr] --> crates/core/src/host/wasmtime/wasm_instance_env.rs:25:11 [INFO] [stderr] | [INFO] [stderr] 25 | #[cfg(not(feature = "spacetimedb-wasm-instance-env-times"))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stderr] = help: consider adding `spacetimedb-wasm-instance-env-times` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `spacetimedb-wasm-instance-env-times` [INFO] [stderr] --> crates/core/src/host/wasmtime/wasm_instance_env.rs:27:7 [INFO] [stderr] | [INFO] [stderr] 27 | #[cfg(feature = "spacetimedb-wasm-instance-env-times")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stderr] = help: consider adding `spacetimedb-wasm-instance-env-times` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] error: aborting due to 6 previous errors; 4 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unexpected `cfg` condition value: `spacetimedb-wasm-instance-env-times` [INFO] [stdout] --> crates/core/src/host/wasmtime/wasm_instance_env.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | #[cfg(not(feature = "spacetimedb-wasm-instance-env-times"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stdout] = help: consider adding `spacetimedb-wasm-instance-env-times` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `spacetimedb-wasm-instance-env-times` [INFO] [stdout] --> crates/core/src/host/wasmtime/wasm_instance_env.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | #[cfg(feature = "spacetimedb-wasm-instance-env-times")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default`, `test`, and `unindexed_iter_by_col_range_warn` [INFO] [stdout] = help: consider adding `spacetimedb-wasm-instance-env-times` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `wasm_instance_env_call_times` is never read [INFO] [stdout] --> crates/core/src/host/wasm_common/module_host_actor.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct ExecutionTimings { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 72 | pub total_duration: Duration, [INFO] [stdout] 73 | pub wasm_instance_env_call_times: CallTimes, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/sql/ast.rs:233:19 [INFO] [stdout] | [INFO] [stdout] 233 | return if let Some(col) = tables [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] 234 | | .find(|t| &*t.table_name == f_table) [INFO] [stdout] 235 | | .and_then(|t| t.get_column_by_name(f_field)) [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] --> crates/core/src/sql/ast.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | } else { [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] 233 ~ return match tables [INFO] [stdout] 234 | .find(|t| &*t.table_name == f_table) [INFO] [stdout] 235 | .and_then(|t| t.get_column_by_name(f_field)) [INFO] [stdout] 236 ~ { Some(col) => { [INFO] [stdout] 237 | Ok((FieldName::new(col.table_id, col.col_pos), &col.col_type)) [INFO] [stdout] 238 ~ } _ => { [INFO] [stdout] 239 | unknown_field() [INFO] [stdout] 240 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/sql/ast.rs:465:8 [INFO] [stdout] | [INFO] [stdout] 465 | if let Some(filter) = filter { [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] --> crates/core/src/sql/ast.rs:467:5 [INFO] [stdout] | [INFO] [stdout] 467 | } 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] 465 ~ match filter { Some(filter) => { [INFO] [stdout] 466 | _compile_where(table, filter) [INFO] [stdout] 467 ~ } _ => { [INFO] [stdout] 468 | Ok(None) [INFO] [stdout] 469 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/sql/compiler.rs:72:20 [INFO] [stdout] | [INFO] [stdout] 72 | if let Some(t) = table.iter_tables().find(|x| *x.table_name == name) { [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] --> crates/core/src/sql/compiler.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | } 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] 72 ~ match table.iter_tables().find(|x| *x.table_name == name) { Some(t) => { [INFO] [stdout] 73 | for c in t.columns().iter() { [INFO] [stdout] ... [INFO] [stdout] 76 | qualified_wildcards.push(t.table_id); [INFO] [stdout] 77 ~ } _ => { [INFO] [stdout] 78 | return Err(PlanError::TableNotFoundQualified { expect: name }); [INFO] [stdout] 79 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/sql/compiler.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | let query = if let Some(filter) = selection { [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] --> crates/core/src/sql/compiler.rs:177:5 [INFO] [stdout] | [INFO] [stdout] 177 | } 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] 175 ~ let query = match selection { Some(filter) => { [INFO] [stdout] 176 | compile_where(query, filter)? [INFO] [stdout] 177 ~ } _ => { [INFO] [stdout] 178 | query [INFO] [stdout] 179 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/sql/compiler.rs:190:21 [INFO] [stdout] | [INFO] [stdout] 190 | let delete = if let Some(filter) = selection { [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] --> crates/core/src/sql/compiler.rs:192:5 [INFO] [stdout] | [INFO] [stdout] 192 | } 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] 190 ~ let delete = match selection { Some(filter) => { [INFO] [stdout] 191 | compile_where(query, filter)? [INFO] [stdout] 192 ~ } _ => { [INFO] [stdout] 193 | query [INFO] [stdout] 194 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/datastore/locking_tx_datastore/mut_tx.rs:575:25 [INFO] [stdout] | [INFO] [stdout] 575 | let key_ty = if let Some(key_ty) = self [INFO] [stdout] | __________________________^ - [INFO] [stdout] | | ____________________________________________| [INFO] [stdout] 576 | || .committed_state_write_lock [INFO] [stdout] | ||_______________________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 577 | | .get_table_and_index_type(table_id, col_list) [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] --> crates/core/src/db/datastore/locking_tx_datastore/mut_tx.rs:588:9 [INFO] [stdout] | [INFO] [stdout] 588 | } 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] 575 ~ let key_ty = match self [INFO] [stdout] 576 | .committed_state_write_lock [INFO] [stdout] 577 | .get_table_and_index_type(table_id, col_list) [INFO] [stdout] 578 ~ { Some(key_ty) => { [INFO] [stdout] 579 | if self [INFO] [stdout] ... [INFO] [stdout] 587 | key_ty [INFO] [stdout] 588 ~ } _ => { [INFO] [stdout] 589 | self.tx_state.get_table_and_index_type(table_id, col_list)? [INFO] [stdout] 590 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/datastore/locking_tx_datastore/mut_tx.rs:1421:12 [INFO] [stdout] | [INFO] [stdout] 1421 | if let Some(inserted_rows) = self.tx_state.index_seek(table_id, &cols, &range) { [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] --> crates/core/src/db/datastore/locking_tx_datastore/mut_tx.rs:1432:9 [INFO] [stdout] | [INFO] [stdout] 1432 | } 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] 1421 ~ match self.tx_state.index_seek(table_id, &cols, &range) { Some(inserted_rows) => { [INFO] [stdout] 1422 | // The current transaction has modified this table, and the table is indexed. [INFO] [stdout] ... [INFO] [stdout] 1431 | })) [INFO] [stdout] 1432 ~ } _ => { [INFO] [stdout] 1433 | // Either the current transaction has not modified this table, or the table is not [INFO] [stdout] ... [INFO] [stdout] 1478 | } [INFO] [stdout] 1479 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/datastore/locking_tx_datastore/state_view.rs:232:24 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some(table) = self.committed_state.tables.get(&table_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] --> crates/core/src/db/datastore/locking_tx_datastore/state_view.rs:238:21 [INFO] [stdout] | [INFO] [stdout] 238 | } 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] 232 ~ match self.committed_state.tables.get(&table_id) { Some(table) => { [INFO] [stdout] 233 | // The committed state has changes for this table. [INFO] [stdout] ... [INFO] [stdout] 237 | }; [INFO] [stdout] 238 ~ } _ => { [INFO] [stdout] 239 | // No committed changes, so look for inserts in the current tx in (2). [INFO] [stdout] 240 | maybe_stage_current_tx_inserts(self); [INFO] [stdout] 241 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/datastore/system_tables.rs:787:8 [INFO] [stdout] | [INFO] [stdout] 787 | if let ArrayValue::U8(bytes) = bytes { [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] --> crates/core/src/db/datastore/system_tables.rs:789:5 [INFO] [stdout] | [INFO] [stdout] 789 | } 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] 787 ~ match bytes { ArrayValue::U8(bytes) => { [INFO] [stdout] 788 | Ok(bytes) [INFO] [stdout] 789 ~ } _ => { [INFO] [stdout] 790 | Err(InvalidFieldError { [INFO] [stdout] ... [INFO] [stdout] 794 | .into()) [INFO] [stdout] 795 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:125:15 [INFO] [stdout] | [INFO] [stdout] 125 | while let Some(()) = trigger.next().await { [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] --> crates/core/src/db/relational_db.rs:131:9 [INFO] [stdout] | [INFO] [stdout] 131 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | if let Err(e) = snapshot_repo.create_snapshot(tables.values_mut(), blob_store, tx_offset) { [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] --> crates/core/src/db/relational_db.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | } 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] 154 ~ match snapshot_repo.create_snapshot(tables.values_mut(), blob_store, tx_offset) { Err(e) => { [INFO] [stdout] 155 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 158 | ); [INFO] [stdout] 159 ~ } _ => { [INFO] [stdout] 160 | log::info!( [INFO] [stdout] ... [INFO] [stdout] 165 | ); [INFO] [stdout] 166 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:422:20 [INFO] [stdout] | [INFO] [stdout] 422 | if let Some(tx_offset) = snapshot_repo.latest_snapshot_older_than(durable_tx_offset)? { [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] --> crates/core/src/db/relational_db.rs:447:17 [INFO] [stdout] | [INFO] [stdout] 447 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 422 ~ match snapshot_repo.latest_snapshot_older_than(durable_tx_offset)? { Some(tx_offset) => { [INFO] [stdout] 423 | // Mark any newer snapshots as invalid, as the new history will diverge from their state. [INFO] [stdout] ... [INFO] [stdout] 446 | return res; [INFO] [stdout] 447 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:701:12 [INFO] [stdout] | [INFO] [stdout] 701 | if let Some(snapshot_worker) = &self.snapshot_worker { [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] --> crates/core/src/db/relational_db.rs:707:9 [INFO] [stdout] | [INFO] [stdout] 707 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 701 ~ match &self.snapshot_worker { Some(snapshot_worker) => { [INFO] [stdout] 702 | if let Some(tx_offset) = tx_data.tx_offset() { [INFO] [stdout] ... [INFO] [stdout] 706 | } [INFO] [stdout] 707 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:1094:27 [INFO] [stdout] | [INFO] [stdout] 1094 | ) -> Result<(TableId, impl Iterator>), DBError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> crates/core/src/db/relational_db.rs:1090:17 [INFO] [stdout] | [INFO] [stdout] 1090 | prefix: &[u8], [INFO] [stdout] | ^ [INFO] [stdout] 1091 | prefix_elems: ColId, [INFO] [stdout] 1092 | rstart: &[u8], [INFO] [stdout] | ^ [INFO] [stdout] 1093 | rend: &[u8], [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] 1094 | ) -> Result<(TableId, impl Iterator> + use<'a>), DBError> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/db/relational_db.rs:1358:16 [INFO] [stdout] | [INFO] [stdout] 1358 | if let Some(DurableState { handle, rt }) = self.durable { [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] --> crates/core/src/db/relational_db.rs:1373:13 [INFO] [stdout] | [INFO] [stdout] 1373 | } 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] 1358 ~ match self.durable { Some(DurableState { handle, rt }) => { [INFO] [stdout] 1359 | let handle = [INFO] [stdout] ... [INFO] [stdout] 1372 | }) [INFO] [stdout] 1373 ~ } _ => { [INFO] [stdout] 1374 | let db = Self::in_memory_internal(self.tmp_dir.path())?; [INFO] [stdout] 1375 | Ok(Self { db, ..self }) [INFO] [stdout] 1376 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/host_controller.rs:230:16 [INFO] [stdout] | [INFO] [stdout] 230 | if let Some(host) = &*guard { [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] --> crates/core/src/host/host_controller.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 230 ~ match &*guard { Some(host) => { [INFO] [stdout] 231 | trace!("cached host {}/{}", database.address, instance_id); [INFO] [stdout] 232 | return Ok(host.module.subscribe()); [INFO] [stdout] 233 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/host_controller.rs:414:16 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some(host) = lock.write_owned().await.take() { [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] --> crates/core/src/host/host_controller.rs:417:13 [INFO] [stdout] | [INFO] [stdout] 417 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 414 ~ match lock.write_owned().await.take() { Some(host) => { [INFO] [stdout] 415 | let module = host.module.borrow().clone(); [INFO] [stdout] 416 | module.exit().await; [INFO] [stdout] 417 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl (Fn()) + std::marker::Send + Sync + 'static` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/core/src/host/host_controller.rs:462:50 [INFO] [stdout] | [INFO] [stdout] 462 | fn unregister_fn(&self, instance_id: u64) -> impl Fn() + Send + Sync + 'static { [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] --> crates/core/src/host/host_controller.rs:462:22 [INFO] [stdout] | [INFO] [stdout] 462 | fn unregister_fn(&self, instance_id: u64) -> impl Fn() + Send + Sync + 'static { [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] 462 | fn unregister_fn(&self, instance_id: u64) -> impl Fn() + Send + Sync + 'static + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/host_controller.rs:465:16 [INFO] [stdout] | [INFO] [stdout] 465 | if let Some(hosts) = hosts.upgrade() { [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] --> crates/core/src/host/host_controller.rs:467:13 [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] 465 ~ match hosts.upgrade() { Some(hosts) => { [INFO] [stdout] 466 | hosts.lock().remove(&instance_id); [INFO] [stdout] 467 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/scheduler.rs:391:20 [INFO] [stdout] | [INFO] [stdout] 391 | if let Ok(is_repeated) = self.handle_repeated_schedule(&tx, db, id, &schedule_row) { [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] --> crates/core/src/host/scheduler.rs:400:17 [INFO] [stdout] | [INFO] [stdout] 400 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 391 ~ match self.handle_repeated_schedule(&tx, db, id, &schedule_row) { Ok(is_repeated) => { [INFO] [stdout] 392 | if is_repeated { [INFO] [stdout] ... [INFO] [stdout] 399 | commit_and_broadcast_deletion_event(ctx, tx, module_host); [INFO] [stdout] 400 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/scheduler.rs:429:8 [INFO] [stdout] | [INFO] [stdout] 429 | if let Err(e) = module_host [INFO] [stdout] | ________^ - [INFO] [stdout] | |_____________________| [INFO] [stdout] 430 | || .info() [INFO] [stdout] 431 | || .subscriptions [INFO] [stdout] 432 | || .commit_and_broadcast_event(None, event, ctx, tx) [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] --> crates/core/src/host/scheduler.rs:435:5 [INFO] [stdout] | [INFO] [stdout] 435 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 429 ~ match module_host [INFO] [stdout] 430 | .info() [INFO] [stdout] 431 | .subscriptions [INFO] [stdout] 432 | .commit_and_broadcast_event(None, event, ctx, tx) [INFO] [stdout] 433 ~ { Err(e) => { [INFO] [stdout] 434 | log::error!("Failed to broadcast deletion event: {e:#}"); [INFO] [stdout] 435 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl module_host::Module` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/core/src/host/wasmtime/mod.rs:55:57 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn make_actor(mcc: ModuleCreationContext) -> Result { [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] --> crates/core/src/host/wasmtime/mod.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn make_actor(mcc: ModuleCreationContext) -> Result { [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] 55 | pub fn make_actor(mcc: ModuleCreationContext) -> Result, ModuleCreationError> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/host/instance_env.rs:127:24 [INFO] [stdout] | [INFO] [stdout] 127 | if let Ok(Some(table_name)) = res { [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] --> crates/core/src/host/instance_env.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | } 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] 127 ~ match res { Ok(Some(table_name)) => { [INFO] [stdout] 128 | log::debug!("insert(table: {table_name}, table_id: {table_id}): {e}") [INFO] [stdout] 129 ~ } _ => { [INFO] [stdout] 130 | log::debug!("insert(table_id: {table_id}): {e}") [INFO] [stdout] 131 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/startup.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | if let Some(guard) = flame_guard { [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] --> crates/core/src/startup.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 102 ~ match flame_guard { Some(guard) => { [INFO] [stdout] 103 | tokio::spawn(async move { [INFO] [stdout] ... [INFO] [stdout] 108 | }); [INFO] [stdout] 109 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/startup.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 127 | if let Ok(modified) = conf_file.metadata().and_then(|m| m.modified()) { [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] --> crates/core/src/startup.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 127 ~ match conf_file.metadata().and_then(|m| m.modified()) { Ok(modified) => { [INFO] [stdout] 128 | if prev_time.map_or(true, |prev| modified > prev) { [INFO] [stdout] ... [INFO] [stdout] 134 | } [INFO] [stdout] 135 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/execution_unit.rs:310:15 [INFO] [stdout] | [INFO] [stdout] 310 | while let Some(row) = query.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/execution_unit.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/module_subscription_actor.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 83 | if let Some(unit) = guard.query(&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] --> crates/core/src/subscription/module_subscription_actor.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | } 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] 83 ~ match guard.query(&hash) { Some(unit) => { [INFO] [stdout] 84 | queries.push(unit); [INFO] [stdout] 85 ~ } _ => { [INFO] [stdout] 86 | let mut compiled = compile_read_only_query(&self.relational_db, &tx, sql)?; [INFO] [stdout] ... [INFO] [stdout] 93 | queries.push(Arc::new(ExecutionUnit::new(compiled.remove(0), hash)?)); [INFO] [stdout] 94 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/module_subscription_manager.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 93 | if let Entry::Occupied(mut entry) = self.tables.entry(table_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] --> crates/core/src/subscription/module_subscription_manager.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 93 ~ match self.tables.entry(table_id) { Entry::Occupied(mut entry) => { [INFO] [stdout] 94 | let hashes = entry.get_mut(); [INFO] [stdout] ... [INFO] [stdout] 97 | } [INFO] [stdout] 98 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/module_subscription_manager.rs:105:20 [INFO] [stdout] | [INFO] [stdout] 105 | if let Some(query) = self.queries.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] --> crates/core/src/subscription/module_subscription_manager.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 105 ~ match self.queries.remove(hash) { Some(query) => { [INFO] [stdout] 106 | remove_table_query(query.return_table(), hash); [INFO] [stdout] 107 | remove_table_query(query.filter_table(), hash); [INFO] [stdout] 108 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/module_subscription_manager.rs:136:20 [INFO] [stdout] | [INFO] [stdout] 136 | if let Some(hashes) = self.tables.get(table_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] --> crates/core/src/subscription/module_subscription_manager.rs:140:17 [INFO] [stdout] | [INFO] [stdout] 140 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 136 ~ match self.tables.get(table_id) { Some(hashes) => { [INFO] [stdout] 137 | for hash in hashes { [INFO] [stdout] 138 | units.entry(hash).or_insert_with(ArrayVec::new).push(table); [INFO] [stdout] 139 | } [INFO] [stdout] 140 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/module_subscription_manager.rs:253:8 [INFO] [stdout] | [INFO] [stdout] 253 | if let Err(e) = client.send_message(TransactionUpdateMessage { [INFO] [stdout] | ________^ - [INFO] [stdout] | |_________________________________________| [INFO] [stdout] 254 | || event: event.clone(), [INFO] [stdout] 255 | || database_update, [INFO] [stdout] 256 | || }) { [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] --> crates/core/src/subscription/module_subscription_manager.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 253 ~ match client.send_message(TransactionUpdateMessage { [INFO] [stdout] 254 | event: event.clone(), [INFO] [stdout] 255 | database_update, [INFO] [stdout] 256 ~ }) { Err(e) => { [INFO] [stdout] 257 | tracing::warn!(%client.id, "failed to send update message to client: {e}") [INFO] [stdout] 258 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/subscription/subscription.rs:547:16 [INFO] [stdout] | [INFO] [stdout] 547 | if let Some(table) = unit.eval_incr( [INFO] [stdout] | ________________^ - [INFO] [stdout] | |__________________________________| [INFO] [stdout] 548 | || ctx, [INFO] [stdout] 549 | || db, [INFO] [stdout] 550 | || tx, [INFO] [stdout] ... || [INFO] [stdout] 553 | || slow_query_threshold, [INFO] [stdout] 554 | || ) { [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] --> crates/core/src/subscription/subscription.rs:556:13 [INFO] [stdout] | [INFO] [stdout] 556 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 547 ~ match unit.eval_incr( [INFO] [stdout] 548 | ctx, [INFO] [stdout] ... [INFO] [stdout] 553 | slow_query_threshold, [INFO] [stdout] 554 ~ ) { Some(table) => { [INFO] [stdout] 555 | tables.push(table); [INFO] [stdout] 556 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/util/mod.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | if let Err(Err(_panic)) = tx.send(result) { [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] --> crates/core/src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 35 ~ match tx.send(result) { Err(Err(_panic)) => { [INFO] [stdout] 36 | tracing::warn!("uncaught panic on threadpool") [INFO] [stdout] 37 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures::Future, PoolClosed>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/core/src/util/lending_pool.rs:86:56 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn request_with_context(&self, db: Address) -> impl Future, PoolClosed>> { [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] --> crates/core/src/util/lending_pool.rs:86:33 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn request_with_context(&self, db: Address) -> impl Future, PoolClosed>> { [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] 86 | pub fn request_with_context(&self, db: Address) -> impl Future, PoolClosed>> + use { [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/util/lending_pool.rs:207:16 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(deque) = &mut vec.deque { [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] --> crates/core/src/util/lending_pool.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | } 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] 207 ~ match &mut vec.deque { Some(deque) => { [INFO] [stdout] 208 | deque.push_back(resource); [INFO] [stdout] 209 | drop(permit); [INFO] [stdout] 210 ~ } _ => { [INFO] [stdout] 211 | drop(resource); [INFO] [stdout] ... [INFO] [stdout] 216 | } [INFO] [stdout] 217 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:311:15 [INFO] [stdout] | [INFO] [stdout] 311 | while let Some(index_row) = self.index_iter.as_mut().and_then(|iter| iter.next()).map(RelValue::Row) { [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] --> crates/core/src/vm.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:321:15 [INFO] [stdout] | [INFO] [stdout] 321 | while let Some(mut row) = self.probe_side.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:335:9 [INFO] [stdout] | [INFO] [stdout] 335 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:322:16 [INFO] [stdout] | [INFO] [stdout] 322 | if let Some(value) = row.read_or_take_column(probe_col) { [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] --> crates/core/src/vm.rs:334:13 [INFO] [stdout] | [INFO] [stdout] 334 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 322 ~ match row.read_or_take_column(probe_col) { Some(value) => { [INFO] [stdout] 323 | let index_iter = match self.tx { [INFO] [stdout] ... [INFO] [stdout] 333 | } [INFO] [stdout] 334 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:328:23 [INFO] [stdout] | [INFO] [stdout] 328 | while let Some(index_row) = index_iter.next().map(RelValue::Row) { [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] --> crates/core/src/vm.rs:333:17 [INFO] [stdout] | [INFO] [stdout] 333 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:375:15 [INFO] [stdout] | [INFO] [stdout] 375 | while let Some(row) = self.probe_side.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:376:16 [INFO] [stdout] | [INFO] [stdout] 376 | if let Some(value) = row.read_column(probe_col) { [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] --> crates/core/src/vm.rs:388:13 [INFO] [stdout] | [INFO] [stdout] 388 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 376 ~ match row.read_column(probe_col) { Some(value) => { [INFO] [stdout] 377 | let value = &*value; [INFO] [stdout] ... [INFO] [stdout] 387 | } [INFO] [stdout] 388 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:383:23 [INFO] [stdout] | [INFO] [stdout] 383 | while let Some(index_row) = index_iter.next().map(RelValue::Row) { [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] --> crates/core/src/vm.rs:387:17 [INFO] [stdout] | [INFO] [stdout] 387 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 414 | if let Some(limit) = StVarTable::row_limit(ctx, db, tx)? { [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] --> crates/core/src/vm.rs:421:9 [INFO] [stdout] | [INFO] [stdout] 421 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 414 ~ match StVarTable::row_limit(ctx, db, tx)? { Some(limit) => { [INFO] [stdout] 415 | let estimate = row_est(queries, tx); [INFO] [stdout] ... [INFO] [stdout] 420 | } [INFO] [stdout] 421 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/core/src/vm.rs:553:20 [INFO] [stdout] | [INFO] [stdout] 553 | if let Some(value) = StVarTable::read_var(env.ctx, env.db, tx, name)? { [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] --> crates/core/src/vm.rs:558:17 [INFO] [stdout] | [INFO] [stdout] 558 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 553 ~ match StVarTable::read_var(env.ctx, env.db, tx, name)? { Some(value) => { [INFO] [stdout] 554 | return Ok(MemTable::from_iter( [INFO] [stdout] ... [INFO] [stdout] 557 | )); [INFO] [stdout] 558 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 55 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `test_client` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/sdk/tests/test-client/src/main.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sdk/tests/test-client/src/main.rs:1172:6 [INFO] [stderr] | [INFO] [stderr] 1172 | ($expected:expr_2021, $found:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sdk/tests/test-client/src/main.rs:1172:27 [INFO] [stderr] | [INFO] [stderr] 1172 | ($expected:expr_2021, $found:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sdk/tests/test-client/src/main.rs:1172:16 [INFO] [stdout] | [INFO] [stdout] 1172 | ($expected:expr, $found:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1172 | ($expected:expr_2021, $found:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sdk/tests/test-client/src/main.rs:1172:29 [INFO] [stdout] | [INFO] [stdout] 1172 | ($expected:expr, $found:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1172 | ($expected:expr, $found:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sdk/tests/test-client/src/simple_test_table.rs:404:12 [INFO] [stdout] | [INFO] [stdout] 404 | if let Some(set_result) = set_result.take() { [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] --> crates/sdk/tests/test-client/src/simple_test_table.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 419 | } [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] 404 ~ match set_result.take() { Some(set_result) => { [INFO] [stdout] 405 | let run_checks = || { [INFO] [stdout] ... [INFO] [stdout] 418 | set_result(run_checks()) [INFO] [stdout] 419 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/sdk/tests/connect_disconnect_client/src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `test_client` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/sdk/tests/test-client/src/main.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sdk/tests/test-client/src/main.rs:1172:6 [INFO] [stderr] | [INFO] [stderr] 1172 | ($expected:expr_2021, $found:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/sdk/tests/test-client/src/main.rs:1172:27 [INFO] [stderr] | [INFO] [stderr] 1172 | ($expected:expr_2021, $found:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sdk/tests/test-client/src/main.rs:1172:16 [INFO] [stdout] | [INFO] [stdout] 1172 | ($expected:expr, $found:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1172 | ($expected:expr_2021, $found:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/sdk/tests/test-client/src/main.rs:1172:29 [INFO] [stdout] | [INFO] [stdout] 1172 | ($expected:expr, $found:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 1172 | ($expected:expr, $found:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sdk/tests/test-client/src/simple_test_table.rs:404:12 [INFO] [stdout] | [INFO] [stdout] 404 | if let Some(set_result) = set_result.take() { [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] --> crates/sdk/tests/test-client/src/simple_test_table.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 419 | } [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] 404 ~ match set_result.take() { Some(set_result) => { [INFO] [stdout] 405 | let run_checks = || { [INFO] [stdout] ... [INFO] [stdout] 418 | set_result(run_checks()) [INFO] [stdout] 419 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/client-api/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Fixed crates/client-api/src/routes/subscribe.rs (3 fixes) [INFO] [stderr] Fixed crates/client-api/src/routes/metrics.rs (1 fix) [INFO] [stderr] Fixed crates/client-api/src/routes/database.rs (1 fix) [INFO] [stderr] Fixed crates/client-api/src/util.rs (1 fix) [INFO] [stdout] warning: enum `SemiColon` is never used [INFO] [stdout] --> crates/client-api/src/util/flat_csv.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | pub(crate) enum SemiColon {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl IntoResponse` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/client-api/src/routes/energy.rs:64:100 [INFO] [stdout] | [INFO] [stdout] 64 | fn get_budget_inner(ctx: impl ControlStateDelegate, identity: &Identity) -> axum::response::Result { [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] --> crates/client-api/src/routes/energy.rs:64:63 [INFO] [stdout] | [INFO] [stdout] 64 | fn get_budget_inner(ctx: impl ControlStateDelegate, identity: &Identity) -> axum::response::Result { [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] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetimedb-standalone v0.12.0 (/tmp/fixit/crates/standalone) [INFO] [stderr] Migrating crates/sqltest/src/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: enum `SemiColon` is never used [INFO] [stdout] --> crates/client-api/src/util/flat_csv.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | pub(crate) enum SemiColon {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl IntoResponse` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> crates/client-api/src/routes/energy.rs:64:100 [INFO] [stdout] | [INFO] [stdout] 64 | fn get_budget_inner(ctx: impl ControlStateDelegate, identity: &Identity) -> axum::response::Result { [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] --> crates/client-api/src/routes/energy.rs:64:63 [INFO] [stdout] | [INFO] [stdout] 64 | fn get_budget_inner(ctx: impl ControlStateDelegate, identity: &Identity) -> axum::response::Result { [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] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed crates/sqltest/src/pg.rs (1 fix) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sqltest/src/sqlite.rs:88:15 [INFO] [stdout] | [INFO] [stdout] 88 | while let Some(row) = rows.next()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/sqltest/src/sqlite.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sqltest/src/sqlite.rs:88:15 [INFO] [stdout] | [INFO] [stdout] 88 | while let Some(row) = rows.next()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/sqltest/src/sqlite.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/standalone/src/lib.rs from 2021 edition to 2024 [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed crates/standalone/src/control_db.rs (2 fixes) [INFO] [stderr] Fixed crates/standalone/src/subcommands/start.rs (1 fix) [INFO] [stdout] warning: unexpected `cfg` condition value: `string` [INFO] [stdout] --> crates/standalone/src/subcommands/start.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(feature = "string")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `string` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `string` [INFO] [stdout] --> crates/standalone/src/subcommands/start.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(feature = "string")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `string` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/cli/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Fixed crates/cli/src/config.rs (4 fixes) [INFO] [stderr] Migrating crates/standalone/src/main.rs from 2021 edition to 2024 [INFO] [stderr] Fixed crates/cli/src/subcommands/local.rs (1 fix) [INFO] [stderr] Fixed crates/cli/src/subcommands/generate/typescript.rs (2 fixes) [INFO] [stderr] Fixed crates/cli/src/subcommands/upgrade.rs (2 fixes) [INFO] [stderr] Fixed crates/cli/src/subcommands/server.rs (1 fix) [INFO] [stderr] Fixed crates/cli/src/subcommands/repl.rs (2 fixes) [INFO] [stderr] Fixed crates/cli/src/subcommands/generate/csharp.rs (2 fixes) [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/cli/src/subcommands/logs.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 127 | while let Some(chunk) = res.chunk().await? { [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] --> crates/cli/src/subcommands/logs.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/cli/src/subcommands/subscribe.rs:216:11 [INFO] [stdout] | [INFO] [stdout] 216 | while let Some(msg) = ws.try_next().await? { [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] --> crates/cli/src/subcommands/subscribe.rs:236:5 [INFO] [stdout] | [INFO] [stdout] 236 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/cli/src/subcommands/upgrade.rs:114:11 [INFO] [stdout] | [INFO] [stdout] 114 | while let Some(chunk) = response_stream.next().await { [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] --> crates/cli/src/subcommands/upgrade.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetimedb-testing v0.12.0 (/tmp/fixit/crates/testing) [INFO] [stderr] Migrating crates/testing/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Fixed crates/testing/src/sdk.rs (1 fix) [INFO] [stderr] Fixed crates/testing/src/lib.rs (1 fix) [INFO] [stderr] Checking spacetimedb-bench v0.12.0 (/tmp/fixit/crates/bench) [INFO] [stderr] Migrating crates/cli/src/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating crates/bench/src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Fixed crates/bench/src/spacetime_raw.rs (1 fix) [INFO] [stderr] Migrating crates/schema/tests/validate_integration.rs from 2021 edition to 2024 [INFO] [stderr] Fixed crates/bench/src/schemas.rs (18 fixes) [INFO] [stderr] Fixed crates/bench/src/sqlite.rs (1 fix) [INFO] [stderr] Fixed crates/bench/src/spacetime_module.rs (2 fixes) [INFO] [stderr] Migrating crates/cli/examples/regen-csharp-moduledef.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `regen_csharp_moduledef` [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/cli/examples/regen-csharp-moduledef.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | ($value:expr, $re:expr, $replace:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ($value:expr_2021, $re:expr, $replace:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/cli/examples/regen-csharp-moduledef.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/cli/examples/regen-csharp-moduledef.rs:12:6 [INFO] [stderr] | [INFO] [stderr] 12 | ($value:expr_2021, $re:expr_2021, $replace:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/cli/examples/regen-csharp-moduledef.rs:12:24 [INFO] [stderr] | [INFO] [stderr] 12 | ($value:expr_2021, $re:expr_2021, $replace:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/cli/examples/regen-csharp-moduledef.rs:12:39 [INFO] [stderr] | [INFO] [stderr] 12 | ($value:expr_2021, $re:expr_2021, $replace:expr_2021) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/cli/examples/regen-csharp-moduledef.rs:12:23 [INFO] [stdout] | [INFO] [stdout] 12 | ($value:expr, $re:expr, $replace:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ($value:expr, $re:expr_2021, $replace:expr) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/cli/examples/regen-csharp-moduledef.rs:12:38 [INFO] [stdout] | [INFO] [stdout] 12 | ($value:expr, $re:expr, $replace:expr) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 12 | ($value:expr, $re:expr, $replace:expr_2021) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sdk/src/callbacks.rs:273:15 [INFO] [stdout] | [INFO] [stdout] 273 | while let Some(msg) = recv.next().await { [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] --> crates/sdk/src/callbacks.rs:303:9 [INFO] [stdout] | [INFO] [stdout] 303 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/cli/tests/codegen.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/sdk/src/background_connection.rs:168:11 [INFO] [stdout] | [INFO] [stdout] 168 | while let Some(msg) = recv.next().await { [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] --> crates/sdk/src/background_connection.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/sdk/tests/test.rs from 2021 edition to 2024 [INFO] [stderr] Migrating crates/sdk/examples/cursive-chat/main.rs from 2021 edition to 2024 [INFO] [stderr] Fixed crates/sdk/examples/cursive-chat/main.rs (1 fix) [INFO] [stderr] Migrating crates/bench/benches/callgrind.rs from 2021 edition to 2024 [INFO] [stderr] Migrating crates/bench/src/bin/summarize.rs from 2021 edition to 2024 [INFO] [stderr] Migrating crates/bench/benches/special.rs from 2021 edition to 2024 [INFO] [stderr] Migrating crates/bench/benches/generic.rs from 2021 edition to 2024 [INFO] [stderr] Migrating crates/bench/benches/subscription.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/cli/src/subcommands/logs.rs:127:15 [INFO] [stdout] | [INFO] [stdout] 127 | while let Some(chunk) = res.chunk().await? { [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] --> crates/cli/src/subcommands/logs.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating crates/sdk/examples/quickstart-chat/main.rs from 2021 edition to 2024 [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/cli/src/subcommands/subscribe.rs:216:11 [INFO] [stdout] | [INFO] [stdout] 216 | while let Some(msg) = ws.try_next().await? { [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] --> crates/cli/src/subcommands/subscribe.rs:236:5 [INFO] [stdout] | [INFO] [stdout] 236 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/cli/src/subcommands/upgrade.rs:114:11 [INFO] [stdout] | [INFO] [stdout] 114 | while let Some(chunk) = response_stream.next().await { [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] --> crates/cli/src/subcommands/upgrade.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Fixed crates/sdk/examples/quickstart-chat/main.rs (1 fix) [INFO] [stderr] Migrating crates/testing/tests/standalone_integration_test.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `spacetimedb_schema` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * crates/schema/src/schema.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/schema/src/schema.rs:523:6 [INFO] [stderr] | [INFO] [stderr] 523 | ($a:expr_2021, $b:expr_2021, $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/schema/src/schema.rs:523:20 [INFO] [stderr] | [INFO] [stderr] 523 | ($a:expr_2021, $b:expr_2021, $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> crates/schema/src/schema.rs:523:34 [INFO] [stderr] | [INFO] [stderr] 523 | ($a:expr_2021, $b:expr_2021, $msg:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/schema/src/schema.rs:523:9 [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr, $b:expr, $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr_2021, $b:expr, $msg:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/schema/src/schema.rs:523:18 [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr, $b:expr, $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr, $b:expr_2021, $msg:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> crates/schema/src/schema.rs:523:29 [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr, $b:expr, $msg:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 523 | ($a:expr, $b:expr, $msg:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/auto_migrate.rs:251:12 [INFO] [stdout] | [INFO] [stdout] 251 | if let Some(new_schedule) = new.schedule.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/schema/src/auto_migrate.rs:253:9 [INFO] [stdout] | [INFO] [stdout] 253 | } [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] 251 ~ match new.schedule.as_ref() { Some(new_schedule) => { [INFO] [stdout] 252 | plan.steps.push(AutoMigrateStep::AddSchedule(new_schedule.key())); [INFO] [stdout] 253 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/def/validate/v8.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(col) = columns.as_singleton() { [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] --> crates/schema/src/def/validate/v8.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | } 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 columns.as_singleton() { Some(col) => { [INFO] [stdout] 243 | let replaced = primary_key.replace(col); [INFO] [stdout] ... [INFO] [stdout] 248 | } [INFO] [stdout] 249 ~ } _ => { [INFO] [stdout] 250 | // There is a primary key annotation on multiple columns. [INFO] [stdout] ... [INFO] [stdout] 254 | }); [INFO] [stdout] 255 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/def/validate/v9.rs:570:12 [INFO] [stdout] | [INFO] [stdout] 570 | if let RawConstraintDataV9::Unique(RawUniqueConstraintDataV9 { columns }) = data { [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] --> crates/schema/src/def/validate/v9.rs:580:9 [INFO] [stdout] | [INFO] [stdout] 580 | } 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] 570 ~ match data { RawConstraintDataV9::Unique(RawUniqueConstraintDataV9 { columns }) => { [INFO] [stdout] 571 | let columns: Result = self.validate_col_ids(&name, columns); [INFO] [stdout] ... [INFO] [stdout] 579 | }) [INFO] [stdout] 580 ~ } _ => { [INFO] [stdout] 581 | unimplemented!("Unknown constraint type") [INFO] [stdout] 582 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/def/validate/v9.rs:718:16 [INFO] [stdout] | [INFO] [stdout] 718 | if let Some(schedule) = &table.schedule { [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] --> crates/schema/src/def/validate/v9.rs:740:13 [INFO] [stdout] | [INFO] [stdout] 740 | } 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] 718 ~ match &table.schedule { Some(schedule) => { [INFO] [stdout] 719 | let reducer = reducers.get(&schedule.reducer_name); [INFO] [stdout] ... [INFO] [stdout] 739 | } [INFO] [stdout] 740 ~ } _ => { [INFO] [stdout] 741 | Ok(()) [INFO] [stdout] 742 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/schema.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 177 | if let Some(s) = self.schedule.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] --> crates/schema/src/schema.rs:179:9 [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] 177 ~ match self.schedule.as_mut() { Some(s) => { [INFO] [stdout] 178 | s.table_id = id; [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/schema.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 204 | if let Some(x) = self.sequences.iter_mut().find(|x| x.sequence_id == of.sequence_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] --> crates/schema/src/schema.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | } 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.sequences.iter_mut().find(|x| x.sequence_id == of.sequence_id) { Some(x) => { [INFO] [stdout] 205 | *x = of; [INFO] [stdout] 206 ~ } _ => { [INFO] [stdout] 207 | self.sequences.push(of); [INFO] [stdout] 208 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/schema.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 218 | if let Some(x) = self.indexes.iter_mut().find(|x| x.index_id == of.index_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] --> crates/schema/src/schema.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | } 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] 218 ~ match self.indexes.iter_mut().find(|x| x.index_id == of.index_id) { Some(x) => { [INFO] [stdout] 219 | *x = of; [INFO] [stdout] 220 ~ } _ => { [INFO] [stdout] 221 | self.indexes.push(of); [INFO] [stdout] 222 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/schema.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 232 | if let Some(x) = self [INFO] [stdout] | _____________^ - [INFO] [stdout] | | __________________________| [INFO] [stdout] 233 | || .constraints [INFO] [stdout] | ||________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 234 | | .iter_mut() [INFO] [stdout] 235 | | .find(|x| x.constraint_id == of.constraint_id) [INFO] [stdout] | |___________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/schema/src/schema.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | } 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] 232 ~ match self [INFO] [stdout] 233 | .constraints [INFO] [stdout] 234 | .iter_mut() [INFO] [stdout] 235 | .find(|x| x.constraint_id == of.constraint_id) [INFO] [stdout] 236 ~ { Some(x) => { [INFO] [stdout] 237 | *x = of; [INFO] [stdout] 238 ~ } _ => { [INFO] [stdout] 239 | self.constraints.push(of); [INFO] [stdout] 240 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> crates/schema/src/type_for_generate.rs:491:19 [INFO] [stdout] | [INFO] [stdout] 491 | } else if let Some(use_) = self.known_uses.get(&ref_) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> crates/schema/src/type_for_generate.rs:494:9 [INFO] [stdout] | [INFO] [stdout] 494 | } 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] 491 ~ } else { match self.known_uses.get(&ref_) { Some(use_) => { [INFO] [stdout] 492 | // The ref is to a use which we have already seen. [INFO] [stdout] 493 | Ok(use_.clone()) [INFO] [stdout] 494 ~ } _ => { [INFO] [stdout] 495 | // We haven't processed it yet. It's either a ref to a valid use, or invalid. [INFO] [stdout] ... [INFO] [stdout] 525 | Ok(use_) [INFO] [stdout] 526 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 26s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] warning: /tmp/fixit/crates/standalone/Cargo.toml: unused manifest key: bin.0.plugin [INFO] [stderr] Checking spacetimedb-primitives v0.12.0 (/tmp/fixit/crates/primitives) [INFO] [stderr] Checking spacetimedb-metrics v0.12.0 (/tmp/fixit/crates/metrics) [INFO] [stderr] Checking spacetimedb-data-structures v0.12.0 (/tmp/fixit/crates/data-structures) [INFO] [stderr] Checking spacetimedb-fs-utils v0.12.0 (/tmp/fixit/crates/fs-utils) [INFO] [stderr] Compiling spacetimedb-cli v0.12.0 (/tmp/fixit/crates/cli) [INFO] [stderr] Checking spacetimedb-sql-parser v0.12.0 (/tmp/fixit/crates/sql-parser) [INFO] [stderr] Checking upgrade-version v0.1.0 (/tmp/fixit/tools/upgrade-version) [INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:260:19 [INFO] [stdout] | [INFO] [stdout] 260 | let ptr = NonNull::new_unchecked(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] --> crates/data-structures/src/slim_slice.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | const unsafe fn from_len_ptr(len: usize, ptr: *mut T) -> Self { [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 `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:326:23 [INFO] [stdout] | [INFO] [stdout] 326 | let raw = SlimRawSlice::from_len_ptr(len, 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] --> crates/data-structures/src/slim_slice.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | pub unsafe fn from_boxed_unchecked(boxed: Box<[T]>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:866:23 [INFO] [stdout] | [INFO] [stdout] 866 | let raw = SlimRawSlice::from_len_ptr(len, 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] --> crates/data-structures/src/slim_slice.rs:862:9 [INFO] [stdout] | [INFO] [stdout] 862 | pub(super) const unsafe fn from_slice_unchecked(slice: &'a [T]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:1046:19 [INFO] [stdout] | [INFO] [stdout] 1046 | let raw = SlimRawSlice::from_len_ptr(slice.len(), slice.as_mut_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] --> crates/data-structures/src/slim_slice.rs:1044:5 [INFO] [stdout] | [INFO] [stdout] 1044 | unsafe fn from_slice_unchecked(slice: &'a mut [T]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetimedb-bindings-sys v0.12.0 (/tmp/fixit/crates/bindings-sys) [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Checking test-counter v0.12.0 (/tmp/fixit/crates/sdk/tests/test-counter) [INFO] [stderr] Checking spacetimedb-bindings-macro v0.12.0 (/tmp/fixit/crates/bindings-macro) [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> crates/bindings-macro/src/lib.rs:570:103 [INFO] [stdout] | [INFO] [stdout] 570 | fn validate<'a>(&'a self, table_name: &str, cols: &'a [Column<'a>]) -> syn::Result> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ 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] --> crates/bindings-macro/src/lib.rs:570:103 [INFO] [stdout] | [INFO] [stdout] 570 | fn validate<'a>(&'a self, table_name: &str, cols: &'a [Column<'a>]) -> syn::Result> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ 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] --> crates/bindings-macro/src/lib.rs:570:103 [INFO] [stdout] | [INFO] [stdout] 570 | fn validate<'a>(&'a self, table_name: &str, cols: &'a [Column<'a>]) -> syn::Result> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ 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[E0133]: call to unsafe function `std::ptr::NonNull::::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:260:19 [INFO] [stdout] | [INFO] [stdout] 260 | let ptr = NonNull::new_unchecked(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] --> crates/data-structures/src/slim_slice.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | const unsafe fn from_len_ptr(len: usize, ptr: *mut T) -> Self { [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 `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:326:23 [INFO] [stdout] | [INFO] [stdout] 326 | let raw = SlimRawSlice::from_len_ptr(len, 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] --> crates/data-structures/src/slim_slice.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | pub unsafe fn from_boxed_unchecked(boxed: Box<[T]>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:866:23 [INFO] [stdout] | [INFO] [stdout] 866 | let raw = SlimRawSlice::from_len_ptr(len, 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] --> crates/data-structures/src/slim_slice.rs:862:9 [INFO] [stdout] | [INFO] [stdout] 862 | pub(super) const unsafe fn from_slice_unchecked(slice: &'a [T]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `slim_slice::SlimRawSlice::::from_len_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> crates/data-structures/src/slim_slice.rs:1046:19 [INFO] [stdout] | [INFO] [stdout] 1046 | let raw = SlimRawSlice::from_len_ptr(slice.len(), slice.as_mut_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] --> crates/data-structures/src/slim_slice.rs:1044:5 [INFO] [stdout] | [INFO] [stdout] 1044 | unsafe fn from_slice_unchecked(slice: &'a mut [T]) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetimedb-sats v0.12.0 (/tmp/fixit/crates/sats) [INFO] [stderr] Checking spacetimedb-lib v0.12.0 (/tmp/fixit/crates/lib) [INFO] [stderr] Checking spacetimedb-commitlog v0.12.0 (/tmp/fixit/crates/commitlog) [INFO] [stderr] Checking spacetimedb-durability v0.12.0 (/tmp/fixit/crates/durability) [INFO] [stderr] Checking spacetimedb-schema v0.12.0 (/tmp/fixit/crates/schema) [INFO] [stderr] Checking spacetimedb-client-api-messages v0.12.0 (/tmp/fixit/crates/client-api-messages) [INFO] [stderr] Checking spacetimedb v0.12.0 (/tmp/fixit/crates/bindings) [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/logger.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 8 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/logger.rs:80:3 [INFO] [stdout] | [INFO] [stdout] 80 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 80 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/rt.rs:318:3 [INFO] [stdout] | [INFO] [stdout] 318 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 318 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/rt.rs:366:3 [INFO] [stdout] | [INFO] [stdout] 366 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 366 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/logger.rs:8:3 [INFO] [stdout] | [INFO] [stdout] 8 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 8 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/logger.rs:80:3 [INFO] [stdout] | [INFO] [stdout] 80 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 80 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/rt.rs:318:3 [INFO] [stdout] | [INFO] [stdout] 318 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 318 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> crates/bindings/src/rt.rs:366:3 [INFO] [stdout] | [INFO] [stdout] 366 | #[no_mangle] [INFO] [stdout] | ^^^^^^^^^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 366 | #[unsafe(no_mangle)] [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> crates/bindings/src/logger.rs:14:29 [INFO] [stdout] | [INFO] [stdout] 14 | fn panic_hook(info: &panic::PanicInfo) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `serde` [INFO] [stdout] --> crates/client-api-messages/src/name/tests.rs:152:7 [INFO] [stdout] | [INFO] [stdout] 152 | #[cfg(feature = "serde")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `serde` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> crates/bindings/src/logger.rs:14:29 [INFO] [stdout] | [INFO] [stdout] 14 | fn panic_hook(info: &panic::PanicInfo) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking spacetimedb-table v0.12.0 (/tmp/fixit/crates/table) [INFO] [stderr] Checking spacetimedb-query-planner v0.12.0 (/tmp/fixit/crates/planner) [INFO] [stderr] Checking spacetimedb-sdk v0.12.0 (/tmp/fixit/crates/sdk) [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> crates/planner/src/logical/ty.rs:206:54 [INFO] [stdout] | [INFO] [stdout] 206 | pub fn with_ctx<'a>(&'a self, ctx: &'a TyCtx) -> TypeWithCtx { [INFO] [stdout] | -- lifetime `'a` declared here ^^^^^^^^^^^ 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] --> crates/planner/src/logical/ty.rs:206:54 [INFO] [stdout] | [INFO] [stdout] 206 | pub fn with_ctx<'a>(&'a self, ctx: &'a TyCtx) -> TypeWithCtx { [INFO] [stdout] | -- lifetime `'a` declared here ^^^^^^^^^^^ 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: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.header.next_free` as mutable because it is also borrowed as immutable [INFO] [stdout] --> crates/table/src/page.rs:799:13 [INFO] [stdout] | [INFO] [stdout] 788 | let adjuster = self.adjuster(); [INFO] [stdout] | ---- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 799 | / self.header [INFO] [stdout] 800 | | .next_free [INFO] [stdout] 801 | | .prepend_freelist(self.var_row_data, offset, adjuster) [INFO] [stdout] | |__________________----------------____________________________________^ mutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] | immutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.var_row_data` as mutable because it is also borrowed as immutable [INFO] [stdout] --> crates/table/src/page.rs:799:13 [INFO] [stdout] | [INFO] [stdout] 788 | let adjuster = self.adjuster(); [INFO] [stdout] | ---- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 799 | / self.header [INFO] [stdout] 800 | | .next_free [INFO] [stdout] 801 | | .prepend_freelist(self.var_row_data, offset, adjuster) [INFO] [stdout] | |__________________----------------____________________________________^ mutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] | immutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking test-client v0.12.0 (/tmp/fixit/crates/sdk/tests/test-client) [INFO] [stderr] Checking connect_disconnect_client v0.12.0 (/tmp/fixit/crates/sdk/tests/connect_disconnect_client) [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `spacetimedb-table` (lib) due to 3 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0502]: cannot borrow `self.header.next_free` as mutable because it is also borrowed as immutable [INFO] [stdout] --> crates/table/src/page.rs:799:13 [INFO] [stdout] | [INFO] [stdout] 788 | let adjuster = self.adjuster(); [INFO] [stdout] | ---- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 799 | / self.header [INFO] [stdout] 800 | | .next_free [INFO] [stdout] 801 | | .prepend_freelist(self.var_row_data, offset, adjuster) [INFO] [stdout] | |__________________----------------____________________________________^ mutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] | immutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self.var_row_data` as mutable because it is also borrowed as immutable [INFO] [stdout] --> crates/table/src/page.rs:799:13 [INFO] [stdout] | [INFO] [stdout] 788 | let adjuster = self.adjuster(); [INFO] [stdout] | ---- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 799 | / self.header [INFO] [stdout] 800 | | .next_free [INFO] [stdout] 801 | | .prepend_freelist(self.var_row_data, offset, adjuster) [INFO] [stdout] | |__________________----------------____________________________________^ mutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] | immutable borrow later used by call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `spacetimedb-table` (lib test) due to 3 previous errors [INFO] [stdout] error: aborting due to 4 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `spacetimedb` (lib test) due to 5 previous errors; 1 warning emitted [INFO] [stdout] error: aborting due to 4 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `spacetimedb` (lib) due to 5 previous errors; 1 warning 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" "709d2932eebf67d101b2ef04b8abeed9044c9aa06999435258f3f62752c002a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "709d2932eebf67d101b2ef04b8abeed9044c9aa06999435258f3f62752c002a3", kill_on_drop: false }` [INFO] [stdout] 709d2932eebf67d101b2ef04b8abeed9044c9aa06999435258f3f62752c002a3