[INFO] fetching crate ascent-byods-rels 0.6.0... [INFO] checking ascent-byods-rels-0.6.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate ascent-byods-rels 0.6.0 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate ascent-byods-rels 0.6.0 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate ascent-byods-rels 0.6.0 [INFO] finished tweaking crates.io crate ascent-byods-rels 0.6.0 [INFO] tweaked toml for crates.io crate ascent-byods-rels 0.6.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 85 packages to latest compatible versions [INFO] [stderr] Adding bit-set v0.5.3 (available: v0.8.0) [INFO] [stderr] Adding bit-vec v0.6.3 (available: v0.8.0) [INFO] [stderr] Adding boxcar v0.1.0 (available: v0.2.5) [INFO] [stderr] Adding convert_case v0.4.0 (available: v0.6.0) [INFO] [stderr] Adding dashmap v5.5.3 (available: v6.1.0) [INFO] [stderr] Adding derive_more v0.99.18 (available: v1.0.0) [INFO] [stderr] Adding duplicate v1.0.0 (available: v2.0.0) [INFO] [stderr] Adding fixedbitset v0.4.2 (available: v0.5.7) [INFO] [stderr] Adding itertools v0.12.1 (available: v0.13.0) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding quick-error v1.2.3 (available: v2.0.1) [INFO] [stderr] Adding rustc-hash v1.1.0 (available: v2.0.0) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2e511f104d8075d89a7327cebc57e2e4c2b085135374c0ec910035c7e8687edf [INFO] running `Command { std: "docker" "start" "-a" "2e511f104d8075d89a7327cebc57e2e4c2b085135374c0ec910035c7e8687edf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2e511f104d8075d89a7327cebc57e2e4c2b085135374c0ec910035c7e8687edf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2e511f104d8075d89a7327cebc57e2e4c2b085135374c0ec910035c7e8687edf", kill_on_drop: false }` [INFO] [stdout] 2e511f104d8075d89a7327cebc57e2e4c2b085135374c0ec910035c7e8687edf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dd48d886789e08a8f38e113519547308620262fd4691083178dd1a7b5ca68e5b [INFO] running `Command { std: "docker" "start" "-a" "dd48d886789e08a8f38e113519547308620262fd4691083178dd1a7b5ca68e5b", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling rustix v0.38.37 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling ascent_base v0.6.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling duplicate v1.0.0 [INFO] [stderr] Compiling derive-syn-parse v0.2.0 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking boxcar v0.1.0 [INFO] [stderr] Checking quick-error v1.2.3 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking unarray v0.1.4 [INFO] [stderr] Checking separator v0.4.1 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking quote v1.0.37 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Compiling ascent_macro v0.6.0 [INFO] [stderr] Checking tempfile v3.12.0 [INFO] [stderr] Checking rusty-fork v0.3.0 [INFO] [stderr] Checking proptest v1.5.0 [INFO] [stderr] Checking ascent v0.6.0 [INFO] [stderr] Checking ascent-byods-rels v0.6.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `ascent_byods_rels` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/adaptor/bin_rel_provider.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: mismatched closing delimiter: `}` [INFO] [stderr] --> src/adaptor/bin_rel_provider.rs:105:62 [INFO] [stderr] | [INFO] [stderr] 105 | foo(*x as u32, *y as usize) <-- { foo(y, x => match foo(y, x _ => {}}); [INFO] [stderr] | - ^ ^ mismatched closing delimiter [INFO] [stderr] | | | [INFO] [stderr] | | unclosed delimiter [INFO] [stderr] | closing delimiter possibly meant for this [INFO] [stderr] [INFO] [stderr] error: mismatched closing delimiter: `)` [INFO] [stderr] --> src/adaptor/bin_rel_provider.rs:101:20 [INFO] [stderr] | [INFO] [stderr] 101 | ascent::ascent! { [INFO] [stderr] | ^ unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 105 | foo(*x as u32, *y as usize) <-- { foo(y, x => match foo(y, x _ => {}}); [INFO] [stderr] | ^ mismatched closing delimiter [INFO] [stderr] [INFO] [stderr] error: mismatched closing delimiter: `}` [INFO] [stderr] --> src/adaptor/bin_rel_provider.rs:106:44 [INFO] [stderr] | [INFO] [stderr] 106 | foo(x, y) <-- { foo(x, y => match foo(x, y _ => {}}), foo(& (*y as u32), &(*x as usize)); [INFO] [stderr] | - ^ ^ mismatched closing delimiter [INFO] [stderr] | | | [INFO] [stderr] | | unclosed delimiter [INFO] [stderr] | closing delimiter possibly meant for this [INFO] [stderr] [INFO] [stderr] error: mismatched closing delimiter: `)` [INFO] [stderr] --> src/adaptor/bin_rel_provider.rs:43:21 [INFO] [stderr] | [INFO] [stderr] 43 | pub(crate) mod test { [INFO] [stderr] | ^ unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 106 | foo(x, y) <-- { foo(x, y => match foo(x, y _ => {}}), foo(& (*y as u32), &(*x as usize)); [INFO] [stderr] | ^ mismatched closing delimiter [INFO] [stderr] [INFO] [stderr] error: unexpected closing delimiter: `}` [INFO] [stderr] --> src/adaptor/bin_rel_provider.rs:108:4 [INFO] [stderr] | [INFO] [stderr] 105 | foo(*x as u32, *y as usize) <-- { foo(y, x => match foo(y, x _ => {}}); [INFO] [stderr] | - missing open `(` for this delimiter [INFO] [stderr] 106 | foo(x, y) <-- { foo(x, y => match foo(x, y _ => {}}), foo(& (*y as u32), &(*x as usize)); [INFO] [stderr] | - missing open `(` for this delimiter [INFO] [stderr] 107 | [INFO] [stderr] 108 | } [INFO] [stderr] | ^ unexpected closing delimiter [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [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] --> src/eqrel_binary.rs:4:39 [INFO] [stdout] | [INFO] [stdout] 4 | (($col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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] 4 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | (($col1: ty, $col2: ty), $indices: expr, par, ()) => { [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] 10 | (($col1: ty, $col2: ty), $indices: expr_2021, par, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:20:39 [INFO] [stdout] | [INFO] [stdout] 20 | (($col1: ty, $col2: ty), $indices: expr, ser, (), $key: ty, $val: 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] 20 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:25:39 [INFO] [stdout] | [INFO] [stdout] 25 | (($col1: ty, $col2: ty), $indices: expr, par, (), $key: ty, $val: 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] 25 | (($col1: ty, $col2: ty), $indices: expr_2021, par, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:34:39 [INFO] [stdout] | [INFO] [stdout] 34 | (($col1: ty, $col2: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 34 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:37:39 [INFO] [stdout] | [INFO] [stdout] 37 | (($col1: ty, $col2: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 37 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:40:39 [INFO] [stdout] | [INFO] [stdout] 40 | (($col1: ty, $col2: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 40 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:45:39 [INFO] [stdout] | [INFO] [stdout] 45 | (($col1: ty, $col2: ty), $indices: expr, par, (), [0], $key: ty, $val: 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] 45 | (($col1: ty, $col2: ty), $indices: expr_2021, par, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:48:39 [INFO] [stdout] | [INFO] [stdout] 48 | (($col1: ty, $col2: ty), $indices: expr, par, (), [1], $key: ty, $val: 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] 48 | (($col1: ty, $col2: ty), $indices: expr_2021, par, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:51:39 [INFO] [stdout] | [INFO] [stdout] 51 | (($col1: ty, $col2: ty), $indices: expr, par, (), [], $key: ty, $val: 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] 51 | (($col1: ty, $col2: ty), $indices: expr_2021, par, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:60:39 [INFO] [stdout] | [INFO] [stdout] 60 | (($col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:65:39 [INFO] [stdout] | [INFO] [stdout] 65 | (($col1: ty, $col2: ty), $indices: expr, par, ()) => { [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] 65 | (($col1: ty, $col2: ty), $indices: expr_2021, par, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:4:50 [INFO] [stdout] | [INFO] [stdout] 4 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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] 4 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:13:50 [INFO] [stdout] | [INFO] [stdout] 13 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), $key: ty, $val: 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] 13 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:22:50 [INFO] [stdout] | [INFO] [stdout] 22 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 22 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:25:50 [INFO] [stdout] | [INFO] [stdout] 25 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 25 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:28:50 [INFO] [stdout] | [INFO] [stdout] 28 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 28 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:31:50 [INFO] [stdout] | [INFO] [stdout] 31 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [2], $key: ty, $val: 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] 31 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:34:50 [INFO] [stdout] | [INFO] [stdout] 34 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1], $key: ty, $val: 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] 34 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:37:50 [INFO] [stdout] | [INFO] [stdout] 37 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 2], $key: ty, $val: 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] 37 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:40:50 [INFO] [stdout] | [INFO] [stdout] 40 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1, 2], $key: ty, $val: 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] 40 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:43:50 [INFO] [stdout] | [INFO] [stdout] 43 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1, 2], $key: ty, $val: 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] 43 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:52:50 [INFO] [stdout] | [INFO] [stdout] 52 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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] 52 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/eqrel_ternary.rs:307:131 [INFO] [stdout] | [INFO] [stdout] 307 | type ValueIteratorType = Map>, for<'aa> fn(&'aa T0) -> (&T0,)>; [INFO] [stdout] | --- ^ this elided lifetime gets resolved as `'aa` [INFO] [stdout] | | [INFO] [stdout] | lifetime `'aa` declared here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/utils.rs:149:79 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn intersection<'a>(&'a self, other: &'a Self) -> impl Iterator + 'a{ [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:54 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:78 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:80 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:54 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:78 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:80 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:8:53 [INFO] [stdout] | [INFO] [stdout] 8 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 8 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:13:64 [INFO] [stdout] | [INFO] [stdout] 13 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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] 13 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:22:53 [INFO] [stdout] | [INFO] [stdout] 22 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), $key: ty, $val: 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] 22 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:27:64 [INFO] [stdout] | [INFO] [stdout] 27 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), $key: ty, $val: 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] 27 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:36:53 [INFO] [stdout] | [INFO] [stdout] 36 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 36 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:39:53 [INFO] [stdout] | [INFO] [stdout] 39 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 39 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:42:53 [INFO] [stdout] | [INFO] [stdout] 42 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 42 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:47:64 [INFO] [stdout] | [INFO] [stdout] 47 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 47 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:50:64 [INFO] [stdout] | [INFO] [stdout] 50 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 50 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:53:64 [INFO] [stdout] | [INFO] [stdout] 53 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 53 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:56:64 [INFO] [stdout] | [INFO] [stdout] 56 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [2], $key: ty, $val: 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] 56 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:59:64 [INFO] [stdout] | [INFO] [stdout] 59 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1], $key: ty, $val: 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] 59 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:62:64 [INFO] [stdout] | [INFO] [stdout] 62 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 2], $key: ty, $val: 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] 62 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:65:64 [INFO] [stdout] | [INFO] [stdout] 65 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1, 2], $key: ty, $val: 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] 65 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:68:64 [INFO] [stdout] | [INFO] [stdout] 68 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1, 2], $key: ty, $val: 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] 68 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:77:53 [INFO] [stdout] | [INFO] [stdout] 77 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 77 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:111:10 [INFO] [stdout] | [INFO] [stdout] 111 | ([$x: expr], [$y: expr]) => { $x == $y }; [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] 111 | ([$x: expr_2021], [$y: expr]) => { $x == $y }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:111:22 [INFO] [stdout] | [INFO] [stdout] 111 | ([$x: expr], [$y: expr]) => { $x == $y }; [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] 111 | ([$x: expr], [$y: expr_2021]) => { $x == $y }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr_2021, $($xs: expr),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:112:23 [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr_2021),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:112:38 [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr_2021, $($ys: expr),*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:112:51 [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr, $($ys: expr_2021),*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | ([$($xs: expr),*], [$($ys: expr),*]) => { false }; [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] 115 | ([$($xs: expr_2021),*], [$($ys: expr),*]) => { false }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | ([$($xs: expr),*], [$($ys: expr),*]) => { false }; [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] 115 | ([$($xs: expr),*], [$($ys: expr_2021),*]) => { false }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel_uf.rs:6:53 [INFO] [stdout] | [INFO] [stdout] 6 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 6 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:6:53 [INFO] [stdout] | [INFO] [stdout] 6 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 6 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:15:53 [INFO] [stdout] | [INFO] [stdout] 15 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), $key: ty, $val: 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] 15 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:24:53 [INFO] [stdout] | [INFO] [stdout] 24 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 24 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:27:53 [INFO] [stdout] | [INFO] [stdout] 27 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 27 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:30:53 [INFO] [stdout] | [INFO] [stdout] 30 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 30 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:54:56 [INFO] [stdout] | [INFO] [stdout] 54 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 54 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:7:53 [INFO] [stdout] | [INFO] [stdout] 7 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 7 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:11:64 [INFO] [stdout] | [INFO] [stdout] 11 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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] 11 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:20:53 [INFO] [stdout] | [INFO] [stdout] 20 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), $key: ty, $val: 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] 20 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:24:64 [INFO] [stdout] | [INFO] [stdout] 24 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), $key: ty, $val: 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] 24 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:33:53 [INFO] [stdout] | [INFO] [stdout] 33 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 33 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:36:53 [INFO] [stdout] | [INFO] [stdout] 36 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 36 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:39:53 [INFO] [stdout] | [INFO] [stdout] 39 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 39 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:44:64 [INFO] [stdout] | [INFO] [stdout] 44 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 44 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:47:64 [INFO] [stdout] | [INFO] [stdout] 47 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 47 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:50:64 [INFO] [stdout] | [INFO] [stdout] 50 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 50 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:53:64 [INFO] [stdout] | [INFO] [stdout] 53 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [2], $key: ty, $val: 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] 53 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:56:64 [INFO] [stdout] | [INFO] [stdout] 56 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1], $key: ty, $val: 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] 56 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:59:64 [INFO] [stdout] | [INFO] [stdout] 59 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 2], $key: ty, $val: 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] 59 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:62:64 [INFO] [stdout] | [INFO] [stdout] 62 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1, 2], $key: ty, $val: 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] 62 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:65:64 [INFO] [stdout] | [INFO] [stdout] 65 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1, 2], $key: ty, $val: 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] 65 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:155:10 [INFO] [stdout] | [INFO] [stdout] 155 | self.find(grandparent_id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:138:7 [INFO] [stdout] | [INFO] [stdout] 138 | pub(super) unsafe fn find(&self, id: Id) -> FindResult { [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 `core::slice::::get_unchecked_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:175:10 [INFO] [stdout] | [INFO] [stdout] 175 | self.0.get_unchecked_mut(id.0.to_usize()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:173:7 [INFO] [stdout] | [INFO] [stdout] 173 | pub(super) unsafe fn _get_unchecked_mut(&mut self, id: Id) -> &mut Elem { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Class::<'a, T>::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:197:10 [INFO] [stdout] | [INFO] [stdout] 197 | Class::new_unchecked(&self, start) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:196:7 [INFO] [stdout] | [INFO] [stdout] 196 | pub(super) unsafe fn iter_class_unchecked(&self, start: Id) -> impl Iterator)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::get_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:342:22 [INFO] [stdout] | [INFO] [stdout] 342 | current: elems.get_unchecked(start), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:338:7 [INFO] [stdout] | [INFO] [stdout] 338 | unsafe fn new_unchecked(elems: &'a Elems, start: Id) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:437:7 [INFO] [stdout] | [INFO] [stdout] 437 | self.elems.find(id).id [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:435:4 [INFO] [stdout] | [INFO] [stdout] 435 | pub unsafe fn find(&self, id: Id) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | return self.elems.find(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:488:4 [INFO] [stdout] | [INFO] [stdout] 488 | unsafe fn union_internal(&self, x: Id, y: Id) -> FindResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:495:22 [INFO] [stdout] | [INFO] [stdout] 495 | let x_result = self.elems.find(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:496:22 [INFO] [stdout] | [INFO] [stdout] 496 | let y_result = self.elems.find(y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::UnionFind::::union_internal` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:515:7 [INFO] [stdout] | [INFO] [stdout] 515 | self.union_internal(x, y).id [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:512:4 [INFO] [stdout] | [INFO] [stdout] 512 | pub unsafe fn union(&self, x: Id, y: Id) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/eqrel_ind.rs:219:55 [INFO] [stdout] | [INFO] [stdout] 219 | pub(crate) fn set_of_added(&self, x: &T) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/eqrel_ind.rs:219:41 [INFO] [stdout] | [INFO] [stdout] 219 | pub(crate) fn set_of_added(&self, x: &T) -> Option> { [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] 219 | pub(crate) fn set_of_added(&self, x: &T) -> Option + use<'_, T>> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eqrel_ternary.rs:122:10 [INFO] [stdout] | [INFO] [stdout] 122 | if let Some(reverse_map) = &mut self.reverse_map { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eqrel_ternary.rs:125:7 [INFO] [stdout] | [INFO] [stdout] 125 | } [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] 122 ~ match &mut self.reverse_map { Some(reverse_map) => { [INFO] [stdout] 123 | reverse_map.raw_entry_mut().from_key(&key.1).or_insert_with(|| (key.1.clone(), Default::default())).1.insert(key.0.clone()); [INFO] [stdout] 124 | reverse_map.raw_entry_mut().from_key(&key.2).or_insert_with(|| (key.2.clone(), Default::default())).1.insert(key.0.clone()); [INFO] [stdout] 125 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eqrel_ternary.rs:407:10 [INFO] [stdout] | [INFO] [stdout] 407 | if let Some(eqrel) = self.0.map.get(t0) { eqrel.added_contains(t1, t2) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eqrel_ternary.rs:407:78 [INFO] [stdout] | [INFO] [stdout] 407 | if let Some(eqrel) = self.0.map.get(t0) { eqrel.added_contains(t1, t2) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 407 | match self.0.map.get(t0) { Some(eqrel) => { eqrel.added_contains(t1, t2) } _ => { false }} [INFO] [stdout] | ~~~~~ ++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/ceqrel_ind.rs:378:55 [INFO] [stdout] | [INFO] [stdout] 378 | pub(crate) fn set_of_added(&self, x: &T) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/ceqrel_ind.rs:378:41 [INFO] [stdout] | [INFO] [stdout] 378 | pub(crate) fn set_of_added(&self, x: &T) -> Option> { [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] 378 | pub(crate) fn set_of_added(&self, x: &T) -> Option + use<'_, T>> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(s_rev_connections) = self.reverse_set_connections.get(&s) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:192:10 [INFO] [stdout] | [INFO] [stdout] 192 | } [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 self.reverse_set_connections.get(&s) { Some(s_rev_connections) => { [INFO] [stdout] 186 | for z in s_rev_connections.difference(in_between) { [INFO] [stdout] ... [INFO] [stdout] 191 | } [INFO] [stdout] 192 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:273:49 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn set_of<'a>(&'a self, x: &T) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/trrel_union_find.rs:273:35 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn set_of<'a>(&'a self, x: &T) -> Option> { [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] 273 | pub fn set_of<'a>(&'a self, x: &T) -> Option + use<'a, T>> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:278:71 [INFO] [stdout] | [INFO] [stdout] 278 | pub(crate) fn set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> 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] --> src/trrel_union_find.rs:278:53 [INFO] [stdout] | [INFO] [stdout] 278 | pub(crate) fn set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> impl Iterator { [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] 278 | pub(crate) fn set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> impl Iterator + use<'a, T> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:292:53 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn rev_set_of<'a>(&'a self, x: &T) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/trrel_union_find.rs:292:39 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn rev_set_of<'a>(&'a self, x: &T) -> Option> { [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] 292 | pub fn rev_set_of<'a>(&'a self, x: &T) -> Option + use<'a, T>> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:297:75 [INFO] [stdout] | [INFO] [stdout] 297 | pub(crate) fn rev_set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> 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] --> src/trrel_union_find.rs:297:57 [INFO] [stdout] | [INFO] [stdout] 297 | pub(crate) fn rev_set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> impl Iterator { [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] 297 | pub(crate) fn rev_set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> impl Iterator + use<'a, T> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:244:19 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(x_rev_set) = rel2_rev.index_get(x) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:258:16 [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] 244 ~ match rel2_rev.index_get(x) { Some(x_rev_set) => { [INFO] [stdout] 245 | for w in x_rev_set { [INFO] [stdout] ... [INFO] [stdout] 257 | } [INFO] [stdout] 258 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:262:19 [INFO] [stdout] | [INFO] [stdout] 262 | if let Some(x_set) = rel1.index_get(x) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:276:16 [INFO] [stdout] | [INFO] [stdout] 276 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 262 ~ match rel1.index_get(x) { Some(x_set) => { [INFO] [stdout] 263 | for w in x_rev_set { [INFO] [stdout] ... [INFO] [stdout] 275 | } [INFO] [stdout] 276 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | relation foo(u32, usize); [INFO] [stdout] | ________________^ [INFO] [stdout] 104 | | [INFO] [stdout] 105 | | foo(*x as u32, *y as usize) <-- foo(y, x); [INFO] [stdout] | |______________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:105:46 [INFO] [stdout] | [INFO] [stdout] 105 | foo(*x as u32, *y as usize) <-- foo(y, x); [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 | foo(*x as u32, *y as usize) <-- match { foo(y, x => foo(y, x _ => {}}); [INFO] [stdout] | +++++ +++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | relation foo(u32, usize); [INFO] [stdout] | ________________^ [INFO] [stdout] 104 | | [INFO] [stdout] 105 | | foo(*x as u32, *y as usize) <-- foo(y, x); [INFO] [stdout] 106 | | foo(x, y) <-- foo(x, y), foo(& (*y as u32), &(*x as usize)); [INFO] [stdout] | |____________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:106:28 [INFO] [stdout] | [INFO] [stdout] 106 | foo(x, y) <-- foo(x, y), foo(& (*y as u32), &(*x as usize)); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 | foo(x, y) <-- match { foo(x, y => foo(x, y _ => {}}), foo(& (*y as u32), &(*x as usize)); [INFO] [stdout] | +++++ +++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 99 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `ascent_byods_rels` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/test.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: mismatched closing delimiter: `}` [INFO] [stderr] --> src/test.rs:26:96 [INFO] [stderr] | [INFO] [stderr] 26 | indexed_eq_rel_materialized(a, x, y) <-- { indexed_eq_rel(a, x, y => match indexed_eq_rel(a, x, y _ => {}}); [INFO] [stderr] | - ^ ^ mismatched closing delimiter [INFO] [stderr] | | | [INFO] [stderr] | closing delimiter possibly meant for this unclosed delimiter [INFO] [stderr] [INFO] [stderr] error: mismatched closing delimiter: `)` [INFO] [stderr] --> src/test.rs:9:12 [INFO] [stderr] | [INFO] [stderr] 9 | ascent! { [INFO] [stderr] | ^ unclosed delimiter [INFO] [stderr] ... [INFO] [stderr] 26 | indexed_eq_rel_materialized(a, x, y) <-- { indexed_eq_rel(a, x, y => match indexed_eq_rel(a, x, y _ => {}}); [INFO] [stderr] | ^ mismatched closing delimiter [INFO] [stderr] [INFO] [stderr] error: unexpected closing delimiter: `}` [INFO] [stderr] --> src/test.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 26 | indexed_eq_rel_materialized(a, x, y) <-- { indexed_eq_rel(a, x, y => match indexed_eq_rel(a, x, y _ => {}}); [INFO] [stderr] | - missing open `(` for this delimiter [INFO] [stderr] ... [INFO] [stderr] 35 | } [INFO] [stderr] | ^ unexpected closing delimiter [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [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] --> src/eqrel_binary.rs:4:39 [INFO] [stdout] | [INFO] [stdout] 4 | (($col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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] 4 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:10:39 [INFO] [stdout] | [INFO] [stdout] 10 | (($col1: ty, $col2: ty), $indices: expr, par, ()) => { [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] 10 | (($col1: ty, $col2: ty), $indices: expr_2021, par, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:20:39 [INFO] [stdout] | [INFO] [stdout] 20 | (($col1: ty, $col2: ty), $indices: expr, ser, (), $key: ty, $val: 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] 20 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:25:39 [INFO] [stdout] | [INFO] [stdout] 25 | (($col1: ty, $col2: ty), $indices: expr, par, (), $key: ty, $val: 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] 25 | (($col1: ty, $col2: ty), $indices: expr_2021, par, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:34:39 [INFO] [stdout] | [INFO] [stdout] 34 | (($col1: ty, $col2: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 34 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:37:39 [INFO] [stdout] | [INFO] [stdout] 37 | (($col1: ty, $col2: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 37 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:40:39 [INFO] [stdout] | [INFO] [stdout] 40 | (($col1: ty, $col2: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 40 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:45:39 [INFO] [stdout] | [INFO] [stdout] 45 | (($col1: ty, $col2: ty), $indices: expr, par, (), [0], $key: ty, $val: 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] 45 | (($col1: ty, $col2: ty), $indices: expr_2021, par, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:48:39 [INFO] [stdout] | [INFO] [stdout] 48 | (($col1: ty, $col2: ty), $indices: expr, par, (), [1], $key: ty, $val: 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] 48 | (($col1: ty, $col2: ty), $indices: expr_2021, par, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:51:39 [INFO] [stdout] | [INFO] [stdout] 51 | (($col1: ty, $col2: ty), $indices: expr, par, (), [], $key: ty, $val: 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] 51 | (($col1: ty, $col2: ty), $indices: expr_2021, par, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:60:39 [INFO] [stdout] | [INFO] [stdout] 60 | (($col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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 | (($col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_binary.rs:65:39 [INFO] [stdout] | [INFO] [stdout] 65 | (($col1: ty, $col2: ty), $indices: expr, par, ()) => { [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] 65 | (($col1: ty, $col2: ty), $indices: expr_2021, par, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:4:50 [INFO] [stdout] | [INFO] [stdout] 4 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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] 4 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:13:50 [INFO] [stdout] | [INFO] [stdout] 13 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), $key: ty, $val: 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] 13 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:22:50 [INFO] [stdout] | [INFO] [stdout] 22 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 22 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:25:50 [INFO] [stdout] | [INFO] [stdout] 25 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 25 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:28:50 [INFO] [stdout] | [INFO] [stdout] 28 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 28 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:31:50 [INFO] [stdout] | [INFO] [stdout] 31 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [2], $key: ty, $val: 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] 31 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:34:50 [INFO] [stdout] | [INFO] [stdout] 34 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1], $key: ty, $val: 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] 34 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:37:50 [INFO] [stdout] | [INFO] [stdout] 37 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 2], $key: ty, $val: 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] 37 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:40:50 [INFO] [stdout] | [INFO] [stdout] 40 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1, 2], $key: ty, $val: 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] 40 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:43:50 [INFO] [stdout] | [INFO] [stdout] 43 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1, 2], $key: ty, $val: 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] 43 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/eqrel_ternary.rs:52:50 [INFO] [stdout] | [INFO] [stdout] 52 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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] 52 | (($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/eqrel_ternary.rs:307:131 [INFO] [stdout] | [INFO] [stdout] 307 | type ValueIteratorType = Map>, for<'aa> fn(&'aa T0) -> (&T0,)>; [INFO] [stdout] | --- ^ this elided lifetime gets resolved as `'aa` [INFO] [stdout] | | [INFO] [stdout] | lifetime `'aa` declared here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/utils.rs:149:79 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn intersection<'a>(&'a self, other: &'a Self) -> impl Iterator + 'a{ [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:54 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:78 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:80 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:54 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:78 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:80 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:8:53 [INFO] [stdout] | [INFO] [stdout] 8 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 8 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:13:64 [INFO] [stdout] | [INFO] [stdout] 13 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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] 13 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:22:53 [INFO] [stdout] | [INFO] [stdout] 22 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), $key: ty, $val: 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] 22 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:27:64 [INFO] [stdout] | [INFO] [stdout] 27 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), $key: ty, $val: 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] 27 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:36:53 [INFO] [stdout] | [INFO] [stdout] 36 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 36 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:39:53 [INFO] [stdout] | [INFO] [stdout] 39 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 39 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:42:53 [INFO] [stdout] | [INFO] [stdout] 42 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 42 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:47:64 [INFO] [stdout] | [INFO] [stdout] 47 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 47 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:50:64 [INFO] [stdout] | [INFO] [stdout] 50 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 50 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:53:64 [INFO] [stdout] | [INFO] [stdout] 53 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 53 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:56:64 [INFO] [stdout] | [INFO] [stdout] 56 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [2], $key: ty, $val: 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] 56 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:59:64 [INFO] [stdout] | [INFO] [stdout] 59 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1], $key: ty, $val: 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] 59 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:62:64 [INFO] [stdout] | [INFO] [stdout] 62 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 2], $key: ty, $val: 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] 62 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:65:64 [INFO] [stdout] | [INFO] [stdout] 65 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1, 2], $key: ty, $val: 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] 65 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:68:64 [INFO] [stdout] | [INFO] [stdout] 68 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1, 2], $key: ty, $val: 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] 68 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:77:53 [INFO] [stdout] | [INFO] [stdout] 77 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 77 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:111:10 [INFO] [stdout] | [INFO] [stdout] 111 | ([$x: expr], [$y: expr]) => { $x == $y }; [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] 111 | ([$x: expr_2021], [$y: expr]) => { $x == $y }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:111:22 [INFO] [stdout] | [INFO] [stdout] 111 | ([$x: expr], [$y: expr]) => { $x == $y }; [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] 111 | ([$x: expr], [$y: expr_2021]) => { $x == $y }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr_2021, $($xs: expr),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:112:23 [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr_2021),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:112:38 [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr_2021, $($ys: expr),*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:112:51 [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr, $($ys: expr),*]) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 112 | ([$x: expr, $($xs: expr),*], [$y: expr, $($ys: expr_2021),*]) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:115:13 [INFO] [stdout] | [INFO] [stdout] 115 | ([$($xs: expr),*], [$($ys: expr),*]) => { false }; [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] 115 | ([$($xs: expr_2021),*], [$($ys: expr),*]) => { false }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel.rs:115:31 [INFO] [stdout] | [INFO] [stdout] 115 | ([$($xs: expr),*], [$($ys: expr),*]) => { false }; [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] 115 | ([$($xs: expr),*], [$($ys: expr_2021),*]) => { false }; [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/trrel_uf.rs:6:53 [INFO] [stdout] | [INFO] [stdout] 6 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 6 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:6:53 [INFO] [stdout] | [INFO] [stdout] 6 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 6 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:15:53 [INFO] [stdout] | [INFO] [stdout] 15 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), $key: ty, $val: 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] 15 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:24:53 [INFO] [stdout] | [INFO] [stdout] 24 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 24 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:27:53 [INFO] [stdout] | [INFO] [stdout] 27 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 27 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:30:53 [INFO] [stdout] | [INFO] [stdout] 30 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 30 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:54:56 [INFO] [stdout] | [INFO] [stdout] 54 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 54 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:7:53 [INFO] [stdout] | [INFO] [stdout] 7 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, ()) => { [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] 7 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:11:64 [INFO] [stdout] | [INFO] [stdout] 11 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, ()) => { [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] 11 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, ()) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:20:53 [INFO] [stdout] | [INFO] [stdout] 20 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), $key: ty, $val: 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] 20 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:24:64 [INFO] [stdout] | [INFO] [stdout] 24 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), $key: ty, $val: 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] 24 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:33:53 [INFO] [stdout] | [INFO] [stdout] 33 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 33 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:36:53 [INFO] [stdout] | [INFO] [stdout] 36 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 36 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:39:53 [INFO] [stdout] | [INFO] [stdout] 39 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 39 | ($name: ident, ($col0: ty, $col1: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:44:64 [INFO] [stdout] | [INFO] [stdout] 44 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [], $key: ty, $val: 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] 44 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:47:64 [INFO] [stdout] | [INFO] [stdout] 47 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0], $key: ty, $val: 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] 47 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:50:64 [INFO] [stdout] | [INFO] [stdout] 50 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1], $key: ty, $val: 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] 50 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:53:64 [INFO] [stdout] | [INFO] [stdout] 53 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [2], $key: ty, $val: 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] 53 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:56:64 [INFO] [stdout] | [INFO] [stdout] 56 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1], $key: ty, $val: 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] 56 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:59:64 [INFO] [stdout] | [INFO] [stdout] 59 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 2], $key: ty, $val: 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] 59 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:62:64 [INFO] [stdout] | [INFO] [stdout] 62 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [1, 2], $key: ty, $val: 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] 62 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:65:64 [INFO] [stdout] | [INFO] [stdout] 65 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr, ser, (), [0, 1, 2], $key: ty, $val: 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] 65 | ($name: ident, ($col0: ty, $col1: ty, $col2: ty), $indices: expr_2021, ser, (), [0, 1, 2], $key: ty, $val: ty) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:155:10 [INFO] [stdout] | [INFO] [stdout] 155 | self.find(grandparent_id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:138:7 [INFO] [stdout] | [INFO] [stdout] 138 | pub(super) unsafe fn find(&self, id: Id) -> FindResult { [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 `core::slice::::get_unchecked_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:175:10 [INFO] [stdout] | [INFO] [stdout] 175 | self.0.get_unchecked_mut(id.0.to_usize()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:173:7 [INFO] [stdout] | [INFO] [stdout] 173 | pub(super) unsafe fn _get_unchecked_mut(&mut self, id: Id) -> &mut Elem { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Class::<'a, T>::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:197:10 [INFO] [stdout] | [INFO] [stdout] 197 | Class::new_unchecked(&self, start) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:196:7 [INFO] [stdout] | [INFO] [stdout] 196 | pub(super) unsafe fn iter_class_unchecked(&self, start: Id) -> impl Iterator)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::get_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:342:22 [INFO] [stdout] | [INFO] [stdout] 342 | current: elems.get_unchecked(start), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:338:7 [INFO] [stdout] | [INFO] [stdout] 338 | unsafe fn new_unchecked(elems: &'a Elems, start: Id) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:437:7 [INFO] [stdout] | [INFO] [stdout] 437 | self.elems.find(id).id [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:435:4 [INFO] [stdout] | [INFO] [stdout] 435 | pub unsafe fn find(&self, id: Id) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | return self.elems.find(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:488:4 [INFO] [stdout] | [INFO] [stdout] 488 | unsafe fn union_internal(&self, x: Id, y: Id) -> FindResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:495:22 [INFO] [stdout] | [INFO] [stdout] 495 | let x_result = self.elems.find(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:496:22 [INFO] [stdout] | [INFO] [stdout] 496 | let y_result = self.elems.find(y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::UnionFind::::union_internal` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:515:7 [INFO] [stdout] | [INFO] [stdout] 515 | self.union_internal(x, y).id [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:512:4 [INFO] [stdout] | [INFO] [stdout] 512 | pub unsafe fn union(&self, x: Id, y: Id) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/eqrel_ind.rs:219:55 [INFO] [stdout] | [INFO] [stdout] 219 | pub(crate) fn set_of_added(&self, x: &T) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/eqrel_ind.rs:219:41 [INFO] [stdout] | [INFO] [stdout] 219 | pub(crate) fn set_of_added(&self, x: &T) -> Option> { [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] 219 | pub(crate) fn set_of_added(&self, x: &T) -> Option + use<'_, T>> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:13:16 [INFO] [stdout] | [INFO] [stdout] 13 | relation indexed_eq_rel(u32, u64, u64); [INFO] [stdout] | ________________^ [INFO] [stdout] 14 | | [INFO] [stdout] 15 | | relation seed(u32); [INFO] [stdout] 16 | | seed(x) <-- for x in 0..2; [INFO] [stdout] ... | [INFO] [stdout] 25 | | relation indexed_eq_rel_materialized(u32, u64, u64); [INFO] [stdout] 26 | | indexed_eq_rel_materialized(a, x, y) <-- indexed_eq_rel(a, x, y); [INFO] [stdout] | |_____________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:26:69 [INFO] [stdout] | [INFO] [stdout] 26 | indexed_eq_rel_materialized(a, x, y) <-- indexed_eq_rel(a, x, y); [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] 26 | indexed_eq_rel_materialized(a, x, y) <-- match { indexed_eq_rel(a, x, y => indexed_eq_rel(a, x, y _ => {}}); [INFO] [stdout] | +++++ +++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | relation indexed_eq_rel(u32, u64, u64); [INFO] [stdout] | ___________________^ [INFO] [stdout] 52 | | [INFO] [stdout] 53 | | relation indexed_eq_rel_explicit(u32, u64, u64); [INFO] [stdout] ... | [INFO] [stdout] 61 | | relation indexed_eq_rel_materialized(u32, u64, u64); [INFO] [stdout] 62 | | indexed_eq_rel_materialized(a, x, y) <-- indexed_eq_rel(a, x, y); [INFO] [stdout] | |________________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:62:72 [INFO] [stdout] | [INFO] [stdout] 62 | indexed_eq_rel_materialized(a, x, y) <-- indexed_eq_rel(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 62 | indexed_eq_rel_materialized(a, x, y) <-- match { indexed_eq_rel(a, x, y => indexed_eq_rel(a, x, y _ => {}}); [INFO] [stdout] | +++++ +++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:53:19 [INFO] [stdout] | [INFO] [stdout] 53 | relation indexed_eq_rel_explicit(u32, u64, u64); [INFO] [stdout] | ^---------------------- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 54 | | [INFO] [stdout] 55 | | indexed_eq_rel_explicit(a, x, x), indexed_eq_rel_explicit(a, y, x) <-- indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] 56 | | indexed_eq_rel_explicit(a, x, z) <-- indexed_eq_rel_explicit(a, x, y), indexed_eq_rel_explicit(a, y, z); [INFO] [stdout] ... | [INFO] [stdout] 69 | | [INFO] [stdout] 70 | | test1_expected(a, x, y) <-- foo(a, x, y), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:70:48 [INFO] [stdout] | [INFO] [stdout] 70 | test1_expected(a, x, y) <-- foo(a, x, y), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 | test1_expected(a, x, y) <-- match { foo(a, x, y => foo(a, x, y _ => {}}), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | relation foo(u32, u64, u64); [INFO] [stdout] | ^-- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 65 | | foo(a, x, y) <-- for a in 0..2, for x in 8..12, for y in 10..15; [INFO] [stdout] 66 | | [INFO] [stdout] 67 | | relation test1_expected(u32, u64, u64); [INFO] [stdout] 68 | | relation test1_actual(u32, u64, u64); [INFO] [stdout] 69 | | [INFO] [stdout] 70 | | test1_expected(a, x, y) <-- foo(a, x, y), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] | |__________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:70:82 [INFO] [stdout] | [INFO] [stdout] 70 | test1_expected(a, x, y) <-- foo(a, x, y), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 | test1_expected(a, x, y) <-- foo(a, x, y), match { indexed_eq_rel_explicit(a, x, y => indexed_eq_rel_explicit(a, x, y _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | relation indexed_eq_rel(u32, u64, u64); [INFO] [stdout] | ^------------- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 52 | | [INFO] [stdout] 53 | | relation indexed_eq_rel_explicit(u32, u64, u64); [INFO] [stdout] ... | [INFO] [stdout] 70 | | test1_expected(a, x, y) <-- foo(a, x, y), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] 71 | | test1_actual(a, x, y) <-- foo(a, x, y), indexed_eq_rel(a, x, y); [INFO] [stdout] | |______________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:71:46 [INFO] [stdout] | [INFO] [stdout] 71 | test1_actual(a, x, y) <-- foo(a, x, y), indexed_eq_rel(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 71 | test1_actual(a, x, y) <-- match { foo(a, x, y => foo(a, x, y _ => {}}), indexed_eq_rel(a, x, y); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:64:19 [INFO] [stdout] | [INFO] [stdout] 64 | relation foo(u32, u64, u64); [INFO] [stdout] | ^-- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 65 | | foo(a, x, y) <-- for a in 0..2, for x in 8..12, for y in 10..15; [INFO] [stdout] 66 | | [INFO] [stdout] 67 | | relation test1_expected(u32, u64, u64); [INFO] [stdout] ... | [INFO] [stdout] 70 | | test1_expected(a, x, y) <-- foo(a, x, y), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] 71 | | test1_actual(a, x, y) <-- foo(a, x, y), indexed_eq_rel(a, x, y); [INFO] [stdout] | |_______________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:71:71 [INFO] [stdout] | [INFO] [stdout] 71 | test1_actual(a, x, y) <-- foo(a, x, y), indexed_eq_rel(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 71 | test1_actual(a, x, y) <-- foo(a, x, y), match { indexed_eq_rel(a, x, y => indexed_eq_rel(a, x, y _ => {}}); [INFO] [stdout] | +++++ +++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | relation bar(u32, u64); [INFO] [stdout] | ^-- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 74 | | bar(a, x) <-- for a in 0..3, for x in 10..16; [INFO] [stdout] 75 | | [INFO] [stdout] 76 | | relation test2_expected(u32, u64, u64); [INFO] [stdout] 77 | | relation test2_actual(u32, u64, u64); [INFO] [stdout] 78 | | [INFO] [stdout] 79 | | test2_expected(a, x, y) <-- bar(a, x), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] | |_______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:79:79 [INFO] [stdout] | [INFO] [stdout] 79 | test2_expected(a, x, y) <-- bar(a, x), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 79 | test2_expected(a, x, y) <-- bar(a, x), match { indexed_eq_rel_explicit(a, x, y => indexed_eq_rel_explicit(a, x, y _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | relation indexed_eq_rel(u32, u64, u64); [INFO] [stdout] | ___________________^ [INFO] [stdout] 52 | | [INFO] [stdout] 53 | | relation indexed_eq_rel_explicit(u32, u64, u64); [INFO] [stdout] ... | [INFO] [stdout] 79 | | test2_expected(a, x, y) <-- bar(a, x), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] 80 | | test2_actual(a, x, y) <-- bar(a, x), indexed_eq_rel(a, x, y); [INFO] [stdout] | |___________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:80:43 [INFO] [stdout] | [INFO] [stdout] 80 | test2_actual(a, x, y) <-- bar(a, x), indexed_eq_rel(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 80 | test2_actual(a, x, y) <-- match { bar(a, x => bar(a, x _ => {}}), indexed_eq_rel(a, x, y); [INFO] [stdout] | +++++ +++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:73:19 [INFO] [stdout] | [INFO] [stdout] 73 | relation bar(u32, u64); [INFO] [stdout] | ^-- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 74 | | bar(a, x) <-- for a in 0..3, for x in 10..16; [INFO] [stdout] 75 | | [INFO] [stdout] 76 | | relation test2_expected(u32, u64, u64); [INFO] [stdout] ... | [INFO] [stdout] 79 | | test2_expected(a, x, y) <-- bar(a, x), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] 80 | | test2_actual(a, x, y) <-- bar(a, x), indexed_eq_rel(a, x, y); [INFO] [stdout] | |____________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:80:68 [INFO] [stdout] | [INFO] [stdout] 80 | test2_actual(a, x, y) <-- bar(a, x), indexed_eq_rel(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 80 | test2_actual(a, x, y) <-- bar(a, x), match { indexed_eq_rel(a, x, y => indexed_eq_rel(a, x, y _ => {}}); [INFO] [stdout] | +++++ +++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | relation indexed_eq_rel(u32, u64, u64); [INFO] [stdout] | ___________________^ [INFO] [stdout] 52 | | [INFO] [stdout] 53 | | relation indexed_eq_rel_explicit(u32, u64, u64); [INFO] [stdout] ... | [INFO] [stdout] 85 | | test3_expected(a, x, y) <-- bar(a, _), indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] 86 | | test3_actual(a, x, y) <-- bar(a, _), indexed_eq_rel(a, x, y); [INFO] [stdout] | |___________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:86:43 [INFO] [stdout] | [INFO] [stdout] 86 | test3_actual(a, x, y) <-- bar(a, _), indexed_eq_rel(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 86 | test3_actual(a, x, y) <-- match { bar(a, _ => bar(a, _ _ => {}}), indexed_eq_rel(a, x, y); [INFO] [stdout] | +++++ +++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | relation indexed_eq_rel(u32, u64, u64); [INFO] [stdout] | ___________________^ [INFO] [stdout] 52 | | [INFO] [stdout] 53 | | relation indexed_eq_rel_explicit(u32, u64, u64); [INFO] [stdout] ... | [INFO] [stdout] 97 | | test5_expected(a, x, x) <-- for x in [5, 7, 9, 11, 13], indexed_eq_rel_explicit(a, x, x); [INFO] [stdout] 98 | | test5_actual(a, x, x) <-- for x in [5, 7, 9, 11, 13], indexed_eq_rel(a, x, x); [INFO] [stdout] | |_____________________________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:98:85 [INFO] [stdout] | [INFO] [stdout] 98 | test5_actual(a, x, x) <-- for x in [5, 7, 9, 11, 13], indexed_eq_rel(a, x, x); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 98 | test5_actual(a, x, x) <-- for x in [5, 7, 9, 11, 13], match { indexed_eq_rel(a, x, x => indexed_eq_rel(a, x, x _ => {}}); [INFO] [stdout] | +++++ +++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | relation indexed_eq_rel(u32, u64, u64); [INFO] [stdout] | ___________________^ [INFO] [stdout] 52 | | [INFO] [stdout] 53 | | relation indexed_eq_rel_explicit(u32, u64, u64); [INFO] [stdout] ... | [INFO] [stdout] 103 | | test6_expected(a, x, y) <-- for x in 8..14, indexed_eq_rel_explicit(a, x, y); [INFO] [stdout] 104 | | test6_actual(a, x, y) <-- for x in 8..14, indexed_eq_rel(a, x, y); [INFO] [stdout] | |_________________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:104:73 [INFO] [stdout] | [INFO] [stdout] 104 | test6_actual(a, x, y) <-- for x in 8..14, indexed_eq_rel(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 104 | test6_actual(a, x, y) <-- for x in 8..14, match { indexed_eq_rel(a, x, y => indexed_eq_rel(a, x, y _ => {}}); [INFO] [stdout] | +++++ +++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:134:16 [INFO] [stdout] | [INFO] [stdout] 134 | relation tr(u32, u32); [INFO] [stdout] | ^- [INFO] [stdout] | | [INFO] [stdout] | ________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 135 | | [INFO] [stdout] 136 | | tr(x, x + 1), tr(x + 1, x) <-- seed(x); [INFO] [stdout] ... | [INFO] [stdout] 139 | | seed(0) <-- if false, tr(1000, 2000); [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:139:41 [INFO] [stdout] | [INFO] [stdout] 139 | seed(0) <-- if false, tr(1000, 2000); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 139 | seed(0) <-- if false, match { tr(1000, 2000 => tr(1000, 2000 _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:153:16 [INFO] [stdout] | [INFO] [stdout] 153 | relation tr(u8, u32, u32); [INFO] [stdout] | ________________^ [INFO] [stdout] 154 | | [INFO] [stdout] 155 | | tr(i, x, x + 1), tr(i, x + 1, x) <-- seed(x), for i in 0..10; [INFO] [stdout] ... | [INFO] [stdout] 158 | | seed(0) <-- if false, tr(_, 1000, 2000); [INFO] [stdout] | |____________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:158:44 [INFO] [stdout] | [INFO] [stdout] 158 | seed(0) <-- if false, tr(_, 1000, 2000); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 158 | seed(0) <-- if false, match { tr(_, 1000, 2000 => tr(_, 1000, 2000 _ => {}}); [INFO] [stdout] | +++++ +++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:178:19 [INFO] [stdout] | [INFO] [stdout] 178 | relation tr(u32, u32); [INFO] [stdout] | ___________________^ [INFO] [stdout] 179 | | [INFO] [stdout] 180 | | relation tr_explicit(u32, u32); [INFO] [stdout] 181 | | tr_explicit(x, z) <-- tr_explicit(x, y), tr_explicit(y, z); [INFO] [stdout] ... | [INFO] [stdout] 184 | | [INFO] [stdout] 185 | | tr(x, y) <-- tr(x, y); [INFO] [stdout] | |_____________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:185:29 [INFO] [stdout] | [INFO] [stdout] 185 | tr(x, y) <-- tr(x, y); [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 | tr(x, y) <-- match { tr(x, y => tr(x, y _ => {}}); [INFO] [stdout] | +++++ ++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:178:19 [INFO] [stdout] | [INFO] [stdout] 178 | relation tr(u32, u32); [INFO] [stdout] | ___________________^ [INFO] [stdout] 179 | | [INFO] [stdout] 180 | | relation tr_explicit(u32, u32); [INFO] [stdout] 181 | | tr_explicit(x, z) <-- tr_explicit(x, y), tr_explicit(y, z); [INFO] [stdout] ... | [INFO] [stdout] 186 | | relation tr_materialized(u32, u32); [INFO] [stdout] 187 | | tr_materialized(x, y) <-- tr(x, y); [INFO] [stdout] | |__________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:187:42 [INFO] [stdout] | [INFO] [stdout] 187 | tr_materialized(x, y) <-- tr(x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 187 | tr_materialized(x, y) <-- match { tr(x, y => tr(x, y _ => {}}); [INFO] [stdout] | +++++ ++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:191:19 [INFO] [stdout] | [INFO] [stdout] 191 | relation dummy1(u32, u32); [INFO] [stdout] | ___________________^ [INFO] [stdout] 192 | | [INFO] [stdout] 193 | | #[ds(crate::trrel)] [INFO] [stdout] 194 | | relation dummy2(u32, u32); [INFO] [stdout] 195 | | [INFO] [stdout] 196 | | dummy2(x, y) <-- dummy1(x, y); [INFO] [stdout] | |_____________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:196:37 [INFO] [stdout] | [INFO] [stdout] 196 | dummy2(x, y) <-- dummy1(x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 196 | dummy2(x, y) <-- match { dummy1(x, y => dummy1(x, y _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:221:19 [INFO] [stdout] | [INFO] [stdout] 221 | relation tr(u32, u32); [INFO] [stdout] | ___________________^ [INFO] [stdout] 222 | | [INFO] [stdout] 223 | | relation tr_explicit(u32, u32); [INFO] [stdout] 224 | | tr_explicit(x, z) <-- tr_explicit(x, y), tr_explicit(y, z); [INFO] [stdout] ... | [INFO] [stdout] 228 | | relation tr_materialized(u32, u32); [INFO] [stdout] 229 | | tr_materialized(x, y) <-- tr(x, y); [INFO] [stdout] | |__________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:229:42 [INFO] [stdout] | [INFO] [stdout] 229 | tr_materialized(x, y) <-- tr(x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 229 | tr_materialized(x, y) <-- match { tr(x, y => tr(x, y _ => {}}); [INFO] [stdout] | +++++ ++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:257:19 [INFO] [stdout] | [INFO] [stdout] 257 | relation empty(u32, u64); [INFO] [stdout] | ^---- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 258 | | [INFO] [stdout] 259 | | relation seed(u32, u64, u64) = seed_rel; [INFO] [stdout] ... | [INFO] [stdout] 263 | | // checking join works, should add no tuples [INFO] [stdout] 264 | | tr_indexed(a, x, y) <-- tr_indexed(a, x, y), empty(a, y); [INFO] [stdout] | |___________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:264:51 [INFO] [stdout] | [INFO] [stdout] 264 | tr_indexed(a, x, y) <-- tr_indexed(a, x, y), empty(a, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 264 | tr_indexed(a, x, y) <-- match { tr_indexed(a, x, y => tr_indexed(a, x, y _ => {}}), empty(a, y); [INFO] [stdout] | +++++ +++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:252:19 [INFO] [stdout] | [INFO] [stdout] 252 | relation tr_indexed(u32, u64, u64); [INFO] [stdout] | ^--------- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 253 | | [INFO] [stdout] 254 | | relation tr_indexed_explicit(u32, u64, u64); [INFO] [stdout] 255 | | tr_indexed_explicit(a, x, z) <-- tr_indexed_explicit(a, x, y), tr_indexed_explicit(a, y, z); [INFO] [stdout] ... | [INFO] [stdout] 263 | | // checking join works, should add no tuples [INFO] [stdout] 264 | | tr_indexed(a, x, y) <-- tr_indexed(a, x, y), empty(a, y); [INFO] [stdout] | |________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:264:64 [INFO] [stdout] | [INFO] [stdout] 264 | tr_indexed(a, x, y) <-- tr_indexed(a, x, y), empty(a, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 264 | tr_indexed(a, x, y) <-- tr_indexed(a, x, y), match { empty(a, y => empty(a, y _ => {}}); [INFO] [stdout] | +++++ +++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:252:19 [INFO] [stdout] | [INFO] [stdout] 252 | relation tr_indexed(u32, u64, u64); [INFO] [stdout] | ___________________^ [INFO] [stdout] 253 | | [INFO] [stdout] 254 | | relation tr_indexed_explicit(u32, u64, u64); [INFO] [stdout] 255 | | tr_indexed_explicit(a, x, z) <-- tr_indexed_explicit(a, x, y), tr_indexed_explicit(a, y, z); [INFO] [stdout] ... | [INFO] [stdout] 267 | | [INFO] [stdout] 268 | | tr_indexed_materialized(a, x, y) <-- tr_indexed(a, x, y); [INFO] [stdout] | |________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:268:64 [INFO] [stdout] | [INFO] [stdout] 268 | tr_indexed_materialized(a, x, y) <-- tr_indexed(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 268 | tr_indexed_materialized(a, x, y) <-- match { tr_indexed(a, x, y => tr_indexed(a, x, y _ => {}}); [INFO] [stdout] | +++++ +++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:270:19 [INFO] [stdout] | [INFO] [stdout] 270 | relation foo(u32, u64); [INFO] [stdout] | ^-- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 271 | | foo(a, x) <-- for a in 0..1, for x in 4..12; [INFO] [stdout] 272 | | foo(a, x) <-- for a in 0..1, for x in (0..20).filter(|x| x % 3 == 2); [INFO] [stdout] ... | [INFO] [stdout] 277 | | [INFO] [stdout] 278 | | test1_actual(a, x) <-- tr_indexed(a, x, _), foo(a, x); [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:278:50 [INFO] [stdout] | [INFO] [stdout] 278 | test1_actual(a, x) <-- tr_indexed(a, x, _), foo(a, x); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 | test1_actual(a, x) <-- match { tr_indexed(a, x, _ => tr_indexed(a, x, _ _ => {}}), foo(a, x); [INFO] [stdout] | +++++ +++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:252:19 [INFO] [stdout] | [INFO] [stdout] 252 | relation tr_indexed(u32, u64, u64); [INFO] [stdout] | ^--------- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 253 | | [INFO] [stdout] 254 | | relation tr_indexed_explicit(u32, u64, u64); [INFO] [stdout] 255 | | tr_indexed_explicit(a, x, z) <-- tr_indexed_explicit(a, x, y), tr_indexed_explicit(a, y, z); [INFO] [stdout] ... | [INFO] [stdout] 277 | | [INFO] [stdout] 278 | | test1_actual(a, x) <-- tr_indexed(a, x, _), foo(a, x); [INFO] [stdout] | |_____________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:278:61 [INFO] [stdout] | [INFO] [stdout] 278 | test1_actual(a, x) <-- tr_indexed(a, x, _), foo(a, x); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 | test1_actual(a, x) <-- tr_indexed(a, x, _), match { foo(a, x => foo(a, x _ => {}}); [INFO] [stdout] | +++++ +++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:270:19 [INFO] [stdout] | [INFO] [stdout] 270 | relation foo(u32, u64); [INFO] [stdout] | ^-- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 271 | | foo(a, x) <-- for a in 0..1, for x in 4..12; [INFO] [stdout] 272 | | foo(a, x) <-- for a in 0..1, for x in (0..20).filter(|x| x % 3 == 2); [INFO] [stdout] ... | [INFO] [stdout] 278 | | test1_actual(a, x) <-- tr_indexed(a, x, _), foo(a, x); [INFO] [stdout] 279 | | test1_expected(a, x) <-- tr_indexed_explicit(a, x, _), foo(a, x); [INFO] [stdout] | |_____________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:279:61 [INFO] [stdout] | [INFO] [stdout] 279 | test1_expected(a, x) <-- tr_indexed_explicit(a, x, _), foo(a, x); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 279 | test1_expected(a, x) <-- match { tr_indexed_explicit(a, x, _ => tr_indexed_explicit(a, x, _ _ => {}}), foo(a, x); [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:281:19 [INFO] [stdout] | [INFO] [stdout] 281 | relation bar(u32, u64, u64); [INFO] [stdout] | ^-- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 282 | | bar(a, x, y) <-- for a in 0..1, for x in 5..6, for y in 10..12; [INFO] [stdout] 283 | | bar(a, x, y) <-- [INFO] [stdout] 284 | | for a in 1..5, [INFO] [stdout] ... | [INFO] [stdout] 291 | | [INFO] [stdout] 292 | | test2_actual(a, x, y) <-- tr_indexed(a, x, y), bar(a, x, y); [INFO] [stdout] | |_____________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:292:53 [INFO] [stdout] | [INFO] [stdout] 292 | test2_actual(a, x, y) <-- tr_indexed(a, x, y), bar(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 292 | test2_actual(a, x, y) <-- match { tr_indexed(a, x, y => tr_indexed(a, x, y _ => {}}), bar(a, x, y); [INFO] [stdout] | +++++ +++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:252:19 [INFO] [stdout] | [INFO] [stdout] 252 | relation tr_indexed(u32, u64, u64); [INFO] [stdout] | ^--------- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 253 | | [INFO] [stdout] 254 | | relation tr_indexed_explicit(u32, u64, u64); [INFO] [stdout] 255 | | tr_indexed_explicit(a, x, z) <-- tr_indexed_explicit(a, x, y), tr_indexed_explicit(a, y, z); [INFO] [stdout] ... | [INFO] [stdout] 291 | | [INFO] [stdout] 292 | | test2_actual(a, x, y) <-- tr_indexed(a, x, y), bar(a, x, y); [INFO] [stdout] | |___________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:292:67 [INFO] [stdout] | [INFO] [stdout] 292 | test2_actual(a, x, y) <-- tr_indexed(a, x, y), bar(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 292 | test2_actual(a, x, y) <-- tr_indexed(a, x, y), match { bar(a, x, y => bar(a, x, y _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:281:19 [INFO] [stdout] | [INFO] [stdout] 281 | relation bar(u32, u64, u64); [INFO] [stdout] | ^-- [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 282 | | bar(a, x, y) <-- for a in 0..1, for x in 5..6, for y in 10..12; [INFO] [stdout] 283 | | bar(a, x, y) <-- [INFO] [stdout] 284 | | for a in 1..5, [INFO] [stdout] ... | [INFO] [stdout] 292 | | test2_actual(a, x, y) <-- tr_indexed(a, x, y), bar(a, x, y); [INFO] [stdout] 293 | | test2_expected(a, x, y) <-- tr_indexed_explicit(a, x, y), bar(a, x, y); [INFO] [stdout] | |________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:293:64 [INFO] [stdout] | [INFO] [stdout] 293 | test2_expected(a, x, y) <-- tr_indexed_explicit(a, x, y), bar(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 293 | test2_expected(a, x, y) <-- match { tr_indexed_explicit(a, x, y => tr_indexed_explicit(a, x, y _ => {}}), bar(a, x, y); [INFO] [stdout] | +++++ ++++++++++++++++++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:254:19 [INFO] [stdout] | [INFO] [stdout] 254 | relation tr_indexed_explicit(u32, u64, u64); [INFO] [stdout] | ^------------------ [INFO] [stdout] | | [INFO] [stdout] | ___________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 255 | | tr_indexed_explicit(a, x, z) <-- tr_indexed_explicit(a, x, y), tr_indexed_explicit(a, y, z); [INFO] [stdout] 256 | | [INFO] [stdout] 257 | | relation empty(u32, u64); [INFO] [stdout] ... | [INFO] [stdout] 292 | | test2_actual(a, x, y) <-- tr_indexed(a, x, y), bar(a, x, y); [INFO] [stdout] 293 | | test2_expected(a, x, y) <-- tr_indexed_explicit(a, x, y), bar(a, x, y); [INFO] [stdout] | |______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:293:78 [INFO] [stdout] | [INFO] [stdout] 293 | test2_expected(a, x, y) <-- tr_indexed_explicit(a, x, y), bar(a, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 293 | test2_expected(a, x, y) <-- tr_indexed_explicit(a, x, y), match { bar(a, x, y => bar(a, x, y _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:252:19 [INFO] [stdout] | [INFO] [stdout] 252 | relation tr_indexed(u32, u64, u64); [INFO] [stdout] | ___________________^ [INFO] [stdout] 253 | | [INFO] [stdout] 254 | | relation tr_indexed_explicit(u32, u64, u64); [INFO] [stdout] 255 | | tr_indexed_explicit(a, x, z) <-- tr_indexed_explicit(a, x, y), tr_indexed_explicit(a, y, z); [INFO] [stdout] ... | [INFO] [stdout] 297 | | [INFO] [stdout] 298 | | test3_actual(a, x, y) <-- tr_indexed(a, x, y), bar(_, x, y); [INFO] [stdout] | |___________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:298:67 [INFO] [stdout] | [INFO] [stdout] 298 | test3_actual(a, x, y) <-- tr_indexed(a, x, y), bar(_, x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 298 | test3_actual(a, x, y) <-- tr_indexed(a, x, y), match { bar(_, x, y => bar(_, x, y _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:252:19 [INFO] [stdout] | [INFO] [stdout] 252 | relation tr_indexed(u32, u64, u64); [INFO] [stdout] | ___________________^ [INFO] [stdout] 253 | | [INFO] [stdout] 254 | | relation tr_indexed_explicit(u32, u64, u64); [INFO] [stdout] 255 | | tr_indexed_explicit(a, x, z) <-- tr_indexed_explicit(a, x, y), tr_indexed_explicit(a, y, z); [INFO] [stdout] ... | [INFO] [stdout] 303 | | [INFO] [stdout] 304 | | test4_actual(a, x, y) <-- tr_indexed(a, x, y), bar(_, x, _); [INFO] [stdout] | |___________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:304:67 [INFO] [stdout] | [INFO] [stdout] 304 | test4_actual(a, x, y) <-- tr_indexed(a, x, y), bar(_, x, _); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 304 | test4_actual(a, x, y) <-- tr_indexed(a, x, y), match { bar(_, x, _ => bar(_, x, _ _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/test.rs:252:19 [INFO] [stdout] | [INFO] [stdout] 252 | relation tr_indexed(u32, u64, u64); [INFO] [stdout] | ___________________^ [INFO] [stdout] 253 | | [INFO] [stdout] 254 | | relation tr_indexed_explicit(u32, u64, u64); [INFO] [stdout] 255 | | tr_indexed_explicit(a, x, z) <-- tr_indexed_explicit(a, x, y), tr_indexed_explicit(a, y, z); [INFO] [stdout] ... | [INFO] [stdout] 309 | | [INFO] [stdout] 310 | | test5_actual(a, x, y) <-- tr_indexed(a, x, y), bar(_, _, y); [INFO] [stdout] | |___________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/test.rs:310:67 [INFO] [stdout] | [INFO] [stdout] 310 | test5_actual(a, x, y) <-- tr_indexed(a, x, y), bar(_, _, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 310 | test5_actual(a, x, y) <-- tr_indexed(a, x, y), match { bar(_, _, y => bar(_, _, y _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eqrel_ternary.rs:122:10 [INFO] [stdout] | [INFO] [stdout] 122 | if let Some(reverse_map) = &mut self.reverse_map { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eqrel_ternary.rs:125:7 [INFO] [stdout] | [INFO] [stdout] 125 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 122 ~ match &mut self.reverse_map { Some(reverse_map) => { [INFO] [stdout] 123 | reverse_map.raw_entry_mut().from_key(&key.1).or_insert_with(|| (key.1.clone(), Default::default())).1.insert(key.0.clone()); [INFO] [stdout] 124 | reverse_map.raw_entry_mut().from_key(&key.2).or_insert_with(|| (key.2.clone(), Default::default())).1.insert(key.0.clone()); [INFO] [stdout] 125 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/eqrel_ternary.rs:407:10 [INFO] [stdout] | [INFO] [stdout] 407 | if let Some(eqrel) = self.0.map.get(t0) { eqrel.added_contains(t1, t2) } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/eqrel_ternary.rs:407:78 [INFO] [stdout] | [INFO] [stdout] 407 | if let Some(eqrel) = self.0.map.get(t0) { eqrel.added_contains(t1, t2) } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 407 | match self.0.map.get(t0) { Some(eqrel) => { eqrel.added_contains(t1, t2) } _ => { false }} [INFO] [stdout] | ~~~~~ ++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/ceqrel_ind.rs:378:55 [INFO] [stdout] | [INFO] [stdout] 378 | pub(crate) fn set_of_added(&self, x: &T) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/ceqrel_ind.rs:378:41 [INFO] [stdout] | [INFO] [stdout] 378 | pub(crate) fn set_of_added(&self, x: &T) -> Option> { [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] 378 | pub(crate) fn set_of_added(&self, x: &T) -> Option + use<'_, T>> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | if let Some(s_rev_connections) = self.reverse_set_connections.get(&s) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:192:10 [INFO] [stdout] | [INFO] [stdout] 192 | } [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 self.reverse_set_connections.get(&s) { Some(s_rev_connections) => { [INFO] [stdout] 186 | for z in s_rev_connections.difference(in_between) { [INFO] [stdout] ... [INFO] [stdout] 191 | } [INFO] [stdout] 192 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:273:49 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn set_of<'a>(&'a self, x: &T) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/trrel_union_find.rs:273:35 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn set_of<'a>(&'a self, x: &T) -> Option> { [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] 273 | pub fn set_of<'a>(&'a self, x: &T) -> Option + use<'a, T>> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:278:71 [INFO] [stdout] | [INFO] [stdout] 278 | pub(crate) fn set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> 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] --> src/trrel_union_find.rs:278:53 [INFO] [stdout] | [INFO] [stdout] 278 | pub(crate) fn set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> impl Iterator { [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] 278 | pub(crate) fn set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> impl Iterator + use<'a, T> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:292:53 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn rev_set_of<'a>(&'a self, x: &T) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/trrel_union_find.rs:292:39 [INFO] [stdout] | [INFO] [stdout] 292 | pub fn rev_set_of<'a>(&'a self, x: &T) -> Option> { [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] 292 | pub fn rev_set_of<'a>(&'a self, x: &T) -> Option + use<'a, T>> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:297:75 [INFO] [stdout] | [INFO] [stdout] 297 | pub(crate) fn rev_set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> 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] --> src/trrel_union_find.rs:297:57 [INFO] [stdout] | [INFO] [stdout] 297 | pub(crate) fn rev_set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> impl Iterator { [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] 297 | pub(crate) fn rev_set_of_by_set_id<'a>(&'a self, _x: &T, id: usize) -> impl Iterator + use<'a, T> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:553:16 [INFO] [stdout] | [INFO] [stdout] 553 | relation r(T, T); [INFO] [stdout] | ^ 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] 554 | | relation rtc(T, T); [INFO] [stdout] 555 | | rtc(x, y), rtc(x, x), rtc(y, y) <-- r(x, y); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:555:48 [INFO] [stdout] | [INFO] [stdout] 555 | rtc(x, y), rtc(x, x), rtc(y, y) <-- r(x, y); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 555 | rtc(x, y), rtc(x, x), rtc(y, y) <-- match { r(x, y => r(x, y _ => {}}); [INFO] [stdout] | +++++ +++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:554:16 [INFO] [stdout] | [INFO] [stdout] 554 | relation rtc(T, T); [INFO] [stdout] | ^-- [INFO] [stdout] | | [INFO] [stdout] | ________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 555 | | rtc(x, y), rtc(x, x), rtc(y, y) <-- r(x, y); [INFO] [stdout] 556 | | rtc(x, z) <-- r(x, y), rtc(y, z); [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:556:26 [INFO] [stdout] | [INFO] [stdout] 556 | rtc(x, z) <-- r(x, y), rtc(y, z); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 556 | rtc(x, z) <-- match { r(x, y => r(x, y _ => {}}), rtc(y, z); [INFO] [stdout] | +++++ +++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:553:16 [INFO] [stdout] | [INFO] [stdout] 553 | relation r(T, T); [INFO] [stdout] | ^ 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] 554 | | relation rtc(T, T); [INFO] [stdout] 555 | | rtc(x, y), rtc(x, x), rtc(y, y) <-- r(x, y); [INFO] [stdout] 556 | | rtc(x, z) <-- r(x, y), rtc(y, z); [INFO] [stdout] | |_____________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/trrel_union_find.rs:556:37 [INFO] [stdout] | [INFO] [stdout] 556 | rtc(x, z) <-- r(x, y), rtc(y, z); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 556 | rtc(x, z) <-- r(x, y), match { rtc(y, z => rtc(y, z _ => {}}); [INFO] [stdout] | +++++ +++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:244:19 [INFO] [stdout] | [INFO] [stdout] 244 | if let Some(x_rev_set) = rel2_rev.index_get(x) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:258:16 [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] 244 ~ match rel2_rev.index_get(x) { Some(x_rev_set) => { [INFO] [stdout] 245 | for w in x_rev_set { [INFO] [stdout] ... [INFO] [stdout] 257 | } [INFO] [stdout] 258 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:262:19 [INFO] [stdout] | [INFO] [stdout] 262 | if let Some(x_set) = rel1.index_get(x) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:276:16 [INFO] [stdout] | [INFO] [stdout] 276 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 262 ~ match rel1.index_get(x) { Some(x_set) => { [INFO] [stdout] 263 | for w in x_rev_set { [INFO] [stdout] ... [INFO] [stdout] 275 | } [INFO] [stdout] 276 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | relation foo(u32, usize); [INFO] [stdout] | ________________^ [INFO] [stdout] 104 | | [INFO] [stdout] 105 | | foo(*x as u32, *y as usize) <-- foo(y, x); [INFO] [stdout] 106 | | foo(x, y) <-- foo(x, y), foo(& (*y as u32), &(*x as usize)); [INFO] [stdout] | |____________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:106:28 [INFO] [stdout] | [INFO] [stdout] 106 | foo(x, y) <-- foo(x, y), foo(& (*y as u32), &(*x as usize)); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 | foo(x, y) <-- match { foo(x, y => foo(x, y _ => {}}), foo(& (*y as u32), &(*x as usize)); [INFO] [stdout] | +++++ +++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | relation foo(u32, usize); [INFO] [stdout] | ________________^ [INFO] [stdout] 104 | | [INFO] [stdout] 105 | | foo(*x as u32, *y as usize) <-- foo(y, x); [INFO] [stdout] | |______________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_provider.rs:105:46 [INFO] [stdout] | [INFO] [stdout] 105 | foo(*x as u32, *y as usize) <-- foo(y, x); [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 | foo(*x as u32, *y as usize) <-- match { foo(y, x => foo(y, x _ => {}}); [INFO] [stdout] | +++++ +++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:104:16 [INFO] [stdout] | [INFO] [stdout] 104 | relation foo(u32, u64, u128); [INFO] [stdout] | ________________^ [INFO] [stdout] 105 | | [INFO] [stdout] 106 | | relation bar(u32, u64, u128); [INFO] [stdout] 107 | | [INFO] [stdout] 108 | | foo(*x as u32, *y as u64, *z as u128) <-- foo(y, x, z); [INFO] [stdout] | |___________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:108:59 [INFO] [stdout] | [INFO] [stdout] 108 | foo(*x as u32, *y as u64, *z as u128) <-- foo(y, x, z); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 108 | foo(*x as u32, *y as u64, *z as u128) <-- match { foo(y, x, z => foo(y, x, z _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:104:16 [INFO] [stdout] | [INFO] [stdout] 104 | relation foo(u32, u64, u128); [INFO] [stdout] | ^-- [INFO] [stdout] | | [INFO] [stdout] | ________________this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | | [INFO] [stdout] 105 | | [INFO] [stdout] 106 | | relation bar(u32, u64, u128); [INFO] [stdout] ... | [INFO] [stdout] 109 | | [INFO] [stdout] 110 | | bar(x, y, z) <-- foo(x, y, z), bar(x, _, z); [INFO] [stdout] | |________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:110:48 [INFO] [stdout] | [INFO] [stdout] 110 | bar(x, y, z) <-- foo(x, y, z), bar(x, _, z); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 110 | bar(x, y, z) <-- foo(x, y, z), match { bar(x, _, z => bar(x, _, z _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:104:16 [INFO] [stdout] | [INFO] [stdout] 104 | relation foo(u32, u64, u128); [INFO] [stdout] | ________________^ [INFO] [stdout] 105 | | [INFO] [stdout] 106 | | relation bar(u32, u64, u128); [INFO] [stdout] ... | [INFO] [stdout] 111 | | [INFO] [stdout] 112 | | bar(x, y, z) <-- foo(_, y, z), bar(x, y, z), foo(x, _, _); [INFO] [stdout] | |______________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:112:62 [INFO] [stdout] | [INFO] [stdout] 112 | bar(x, y, z) <-- foo(_, y, z), bar(x, y, z), foo(x, _, _); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 112 | bar(x, y, z) <-- foo(_, y, z), bar(x, y, z), match { foo(x, _, _ => foo(x, _, _ _ => {}}); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:104:16 [INFO] [stdout] | [INFO] [stdout] 104 | relation foo(u32, u64, u128); [INFO] [stdout] | ________________^ [INFO] [stdout] 105 | | [INFO] [stdout] 106 | | relation bar(u32, u64, u128); [INFO] [stdout] ... | [INFO] [stdout] 111 | | [INFO] [stdout] 112 | | bar(x, y, z) <-- foo(_, y, z), bar(x, y, z), foo(x, _, _); [INFO] [stdout] | |________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/adaptor/bin_rel_plus_ternary_provider.rs:112:48 [INFO] [stdout] | [INFO] [stdout] 112 | bar(x, y, z) <-- foo(_, y, z), bar(x, y, z), foo(x, _, _); [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 112 | bar(x, y, z) <-- foo(_, y, z), match { bar(x, y, z => bar(x, y, z _ => {}}), foo(x, _, _); [INFO] [stdout] | +++++ ++++++++++++++++ ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 137 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.34s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking ascent-byods-rels v0.6.0 (/tmp/fixit) [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/eqrel_ternary.rs:307:131 [INFO] [stdout] | [INFO] [stdout] 307 | type ValueIteratorType = Map>, for<'aa> fn(&'aa T0) -> (&T0,)>; [INFO] [stdout] | --- ^ this elided lifetime gets resolved as `'aa` [INFO] [stdout] | | [INFO] [stdout] | lifetime `'aa` declared here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/utils.rs:149:79 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn intersection<'a>(&'a self, other: &'a Self) -> impl Iterator + 'a{ [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:54 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:78 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:80 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:54 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:78 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:80 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/eqrel_ternary.rs:307:131 [INFO] [stdout] | [INFO] [stdout] 307 | type ValueIteratorType = Map>, for<'aa> fn(&'aa T0) -> (&T0,)>; [INFO] [stdout] | --- ^ this elided lifetime gets resolved as `'aa` [INFO] [stdout] | | [INFO] [stdout] | lifetime `'aa` declared here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/utils.rs:149:79 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn intersection<'a>(&'a self, other: &'a Self) -> impl Iterator + 'a{ [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:54 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:78 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:54:80 [INFO] [stdout] | [INFO] [stdout] 54 | fn ind_0_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:54 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:78 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/trrel_union_find_binary_ind.rs:66:80 [INFO] [stdout] | [INFO] [stdout] 66 | fn ind_1_iter_all<'a>(&'a self) -> IteratorFromDyn<(&'a T, IteratorFromDyn<&'_ T>)> { [INFO] [stdout] | -- lifetime `'a` declared here ^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/eqrel_ind.rs:165:30 [INFO] [stdout] | [INFO] [stdout] 165 | let producer = move || self.0.set_of_added(&key.0).unwrap().map(|x| (x,)); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `std::iter::Map, {closure@src/eqrel_ind.rs:165:71: 165:74}>` contains a lifetime `'2` [INFO] [stdout] | lifetime `'1` represents this closure's body [INFO] [stdout] | [INFO] [stdout] = note: closure implements `Fn`, so references to captured variables can't escape the closure [INFO] [stdout] help: consider adding 'move' keyword before the nested closure [INFO] [stdout] | [INFO] [stdout] 165 | let producer = move || self.0.set_of_added(&key.0).unwrap().map(move |x| (x,)); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/eqrel_ternary.rs:205:30 [INFO] [stdout] | [INFO] [stdout] 205 | let producer = move || eqrel.set_of_added(&key_1).unwrap().map(|x| (x,)); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `std::iter::Map, {closure@src/eqrel_ternary.rs:205:70: 205:73}>` contains a lifetime `'2` [INFO] [stdout] | lifetime `'1` represents this closure's body [INFO] [stdout] | [INFO] [stdout] = note: closure implements `Fn`, so references to captured variables can't escape the closure [INFO] [stdout] help: consider adding 'move' keyword before the nested closure [INFO] [stdout] | [INFO] [stdout] 205 | let producer = move || eqrel.set_of_added(&key_1).unwrap().map(move |x| (x,)); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local variable `t1` [INFO] [stdout] --> src/eqrel_ternary.rs:290:96 [INFO] [stdout] | [INFO] [stdout] 290 | ...(move |(t0, t1)| self.0.map.get(t0).unwrap().set_of_added(&t1).into_iter().flatten().map(move |t2| (t0, t2))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `t1` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] | [INFO] [stdout] = help: use `.collect()` to allocate the iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/ceqrel_ind.rs:194:30 [INFO] [stdout] | [INFO] [stdout] 194 | let producer = move || self.0.set_of_added(&key.0).unwrap().map(|x| (x,)); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `std::iter::Map, {closure@src/ceqrel_ind.rs:194:71: 194:74}>` contains a lifetime `'2` [INFO] [stdout] | lifetime `'1` represents this closure's body [INFO] [stdout] | [INFO] [stdout] = note: closure implements `Fn`, so references to captured variables can't escape the closure [INFO] [stdout] help: consider adding 'move' keyword before the nested closure [INFO] [stdout] | [INFO] [stdout] 194 | let producer = move || self.0.set_of_added(&key.0).unwrap().map(move |x| (x,)); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:155:10 [INFO] [stdout] | [INFO] [stdout] 155 | self.find(grandparent_id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:138:7 [INFO] [stdout] | [INFO] [stdout] 138 | pub(super) unsafe fn find(&self, id: Id) -> FindResult { [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 `core::slice::::get_unchecked_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:175:10 [INFO] [stdout] | [INFO] [stdout] 175 | self.0.get_unchecked_mut(id.0.to_usize()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:173:7 [INFO] [stdout] | [INFO] [stdout] 173 | pub(super) unsafe fn _get_unchecked_mut(&mut self, id: Id) -> &mut Elem { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Class::<'a, T>::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:197:10 [INFO] [stdout] | [INFO] [stdout] 197 | Class::new_unchecked(&self, start) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:196:7 [INFO] [stdout] | [INFO] [stdout] 196 | pub(super) unsafe fn iter_class_unchecked(&self, start: Id) -> impl Iterator)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::get_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:342:22 [INFO] [stdout] | [INFO] [stdout] 342 | current: elems.get_unchecked(start), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:338:7 [INFO] [stdout] | [INFO] [stdout] 338 | unsafe fn new_unchecked(elems: &'a Elems, start: Id) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:437:7 [INFO] [stdout] | [INFO] [stdout] 437 | self.elems.find(id).id [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:435:4 [INFO] [stdout] | [INFO] [stdout] 435 | pub unsafe fn find(&self, id: Id) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | return self.elems.find(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:488:4 [INFO] [stdout] | [INFO] [stdout] 488 | unsafe fn union_internal(&self, x: Id, y: Id) -> FindResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:495:22 [INFO] [stdout] | [INFO] [stdout] 495 | let x_result = self.elems.find(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:496:22 [INFO] [stdout] | [INFO] [stdout] 496 | let y_result = self.elems.find(y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::UnionFind::::union_internal` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:515:7 [INFO] [stdout] | [INFO] [stdout] 515 | self.union_internal(x, y).id [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:512:4 [INFO] [stdout] | [INFO] [stdout] 512 | pub unsafe fn union(&self, x: Id, y: Id) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0515. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ascent-byods-rels` (lib) due to 5 previous errors; 17 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/eqrel_ind.rs:165:30 [INFO] [stdout] | [INFO] [stdout] 165 | let producer = move || self.0.set_of_added(&key.0).unwrap().map(|x| (x,)); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `std::iter::Map, {closure@src/eqrel_ind.rs:165:71: 165:74}>` contains a lifetime `'2` [INFO] [stdout] | lifetime `'1` represents this closure's body [INFO] [stdout] | [INFO] [stdout] = note: closure implements `Fn`, so references to captured variables can't escape the closure [INFO] [stdout] help: consider adding 'move' keyword before the nested closure [INFO] [stdout] | [INFO] [stdout] 165 | let producer = move || self.0.set_of_added(&key.0).unwrap().map(move |x| (x,)); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/eqrel_ternary.rs:205:30 [INFO] [stdout] | [INFO] [stdout] 205 | let producer = move || eqrel.set_of_added(&key_1).unwrap().map(|x| (x,)); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `std::iter::Map, {closure@src/eqrel_ternary.rs:205:70: 205:73}>` contains a lifetime `'2` [INFO] [stdout] | lifetime `'1` represents this closure's body [INFO] [stdout] | [INFO] [stdout] = note: closure implements `Fn`, so references to captured variables can't escape the closure [INFO] [stdout] help: consider adding 'move' keyword before the nested closure [INFO] [stdout] | [INFO] [stdout] 205 | let producer = move || eqrel.set_of_added(&key_1).unwrap().map(move |x| (x,)); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local variable `t1` [INFO] [stdout] --> src/eqrel_ternary.rs:290:96 [INFO] [stdout] | [INFO] [stdout] 290 | ...(move |(t0, t1)| self.0.map.get(t0).unwrap().set_of_added(&t1).into_iter().flatten().map(move |t2| (t0, t2))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | `t1` is borrowed here [INFO] [stdout] | returns a value referencing data owned by the current function [INFO] [stdout] | [INFO] [stdout] = help: use `.collect()` to allocate the iterator [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: lifetime may not live long enough [INFO] [stdout] --> src/ceqrel_ind.rs:194:30 [INFO] [stdout] | [INFO] [stdout] 194 | let producer = move || self.0.set_of_added(&key.0).unwrap().map(|x| (x,)); [INFO] [stdout] | ------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2` [INFO] [stdout] | | | [INFO] [stdout] | | return type of closure `std::iter::Map, {closure@src/ceqrel_ind.rs:194:71: 194:74}>` contains a lifetime `'2` [INFO] [stdout] | lifetime `'1` represents this closure's body [INFO] [stdout] | [INFO] [stdout] = note: closure implements `Fn`, so references to captured variables can't escape the closure [INFO] [stdout] help: consider adding 'move' keyword before the nested closure [INFO] [stdout] | [INFO] [stdout] 194 | let producer = move || self.0.set_of_added(&key.0).unwrap().map(move |x| (x,)); [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:155:10 [INFO] [stdout] | [INFO] [stdout] 155 | self.find(grandparent_id) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:138:7 [INFO] [stdout] | [INFO] [stdout] 138 | pub(super) unsafe fn find(&self, id: Id) -> FindResult { [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 `core::slice::::get_unchecked_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:175:10 [INFO] [stdout] | [INFO] [stdout] 175 | self.0.get_unchecked_mut(id.0.to_usize()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:173:7 [INFO] [stdout] | [INFO] [stdout] 173 | pub(super) unsafe fn _get_unchecked_mut(&mut self, id: Id) -> &mut Elem { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Class::<'a, T>::new_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:197:10 [INFO] [stdout] | [INFO] [stdout] 197 | Class::new_unchecked(&self, start) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:196:7 [INFO] [stdout] | [INFO] [stdout] 196 | pub(super) unsafe fn iter_class_unchecked(&self, start: Id) -> impl Iterator)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::get_unchecked` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:342:22 [INFO] [stdout] | [INFO] [stdout] 342 | current: elems.get_unchecked(start), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:338:7 [INFO] [stdout] | [INFO] [stdout] 338 | unsafe fn new_unchecked(elems: &'a Elems, start: Id) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:437:7 [INFO] [stdout] | [INFO] [stdout] 437 | self.elems.find(id).id [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:435:4 [INFO] [stdout] | [INFO] [stdout] 435 | pub unsafe fn find(&self, id: Id) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:493:17 [INFO] [stdout] | [INFO] [stdout] 493 | return self.elems.find(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:488:4 [INFO] [stdout] | [INFO] [stdout] 488 | unsafe fn union_internal(&self, x: Id, y: Id) -> FindResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:495:22 [INFO] [stdout] | [INFO] [stdout] 495 | let x_result = self.elems.find(x); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::elems::Elems::::find` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:496:22 [INFO] [stdout] | [INFO] [stdout] 496 | let y_result = self.elems.find(y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `uf::UnionFind::::union_internal` is unsafe and requires unsafe block [INFO] [stdout] --> src/uf.rs:515:7 [INFO] [stdout] | [INFO] [stdout] 515 | self.union_internal(x, y).id [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/uf.rs:512:4 [INFO] [stdout] | [INFO] [stdout] 512 | pub unsafe fn union(&self, x: Id, y: Id) -> Id { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 17 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0515. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ascent-byods-rels` (lib test) due to 5 previous errors; 17 warnings emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "dd48d886789e08a8f38e113519547308620262fd4691083178dd1a7b5ca68e5b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dd48d886789e08a8f38e113519547308620262fd4691083178dd1a7b5ca68e5b", kill_on_drop: false }` [INFO] [stdout] dd48d886789e08a8f38e113519547308620262fd4691083178dd1a7b5ca68e5b