[INFO] fetching crate feanor-math 2.3.0... [INFO] checking feanor-math-2.3.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate feanor-math 2.3.0 into /workspace/builds/worker-2-tc2/source [INFO] validating manifest of crates.io crate feanor-math 2.3.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 feanor-math 2.3.0 [INFO] finished tweaking crates.io crate feanor-math 2.3.0 [INFO] tweaked toml for crates.io crate feanor-math 2.3.0 written to /workspace/builds/worker-2-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 35 packages to latest compatible versions [INFO] [stderr] Adding ndarray v0.15.6 (available: v0.16.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 0a75dd51367962e34d5f2608ddd006baa7a4285509561b577fb7c3bb3e8a61f8 [INFO] running `Command { std: "docker" "start" "-a" "0a75dd51367962e34d5f2608ddd006baa7a4285509561b577fb7c3bb3e8a61f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0a75dd51367962e34d5f2608ddd006baa7a4285509561b577fb7c3bb3e8a61f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a75dd51367962e34d5f2608ddd006baa7a4285509561b577fb7c3bb3e8a61f8", kill_on_drop: false }` [INFO] [stdout] 0a75dd51367962e34d5f2608ddd006baa7a4285509561b577fb7c3bb3e8a61f8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] b2c9d1605c312d746e261f6b87911b8e6c4c442d9cf720ab26766da373c4aec9 [INFO] running `Command { std: "docker" "start" "-a" "b2c9d1605c312d746e261f6b87911b8e6c4c442d9cf720ab26766da373c4aec9", 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 serde v1.0.210 [INFO] [stderr] Checking append-only-vec v0.1.5 [INFO] [stderr] Checking atomicbox v0.4.0 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking feanor-mempool v2.1.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking serde_bytes v0.11.15 [INFO] [stderr] Checking serde_assert v0.8.0 [INFO] [stderr] Checking serde_json v1.0.128 [INFO] [stderr] Compiling stability v0.2.1 [INFO] [stderr] Checking feanor-math v2.3.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 `feanor_math` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * /rustc/ccf408f4326a858c00dd845a64a86b16f360a801/library/core/src/macros/mod.rs [INFO] [stderr] * src/algorithms/linsolve/poly_det.rs [INFO] [stderr] * src/algorithms/lll.rs [INFO] [stderr] * src/algorithms/matmul/strassen.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/matrix/mod.rs [INFO] [stderr] * src/ring.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/ring.rs:525:6 [INFO] [stderr] | [INFO] [stderr] 525 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/ring.rs:525:23 [INFO] [stderr] | [INFO] [stderr] 525 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/ring.rs:525:39 [INFO] [stderr] | [INFO] [stderr] 525 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/matrix/mod.rs:140:6 [INFO] [stderr] | [INFO] [stderr] 140 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/matrix/mod.rs:140:23 [INFO] [stderr] | [INFO] [stderr] 140 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/matrix/mod.rs:140:39 [INFO] [stderr] | [INFO] [stderr] 140 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:6 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:20 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:35 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:50 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:65 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:88 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:103 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:118 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:133 [INFO] [stderr] | [INFO] [stderr] 210 | ...expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $steps_left:expr_2021, $block_size_log2:expr_2021, $lhs:expr_2021, $rhs:expr_2... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:156 [INFO] [stderr] | [INFO] [stderr] 210 | ... $T2:expr_2021, $T3:expr_2021, $steps_left:expr_2021, $block_size_log2:expr_2021, $lhs:expr_2021, $rhs:expr_2021, $dst:expr_2021, $rin... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:184 [INFO] [stderr] | [INFO] [stderr] 210 | ...pr_2021, $steps_left:expr_2021, $block_size_log2:expr_2021, $lhs:expr_2021, $rhs:expr_2021, $dst:expr_2021, $ring:expr_2021, $memory:e... [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:200 [INFO] [stderr] | [INFO] [stderr] 210 | ...left:expr_2021, $block_size_log2:expr_2021, $lhs:expr_2021, $rhs:expr_2021, $dst:expr_2021, $ring:expr_2021, $memory:expr_2021, $small... [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:216 [INFO] [stderr] | [INFO] [stderr] 210 | ...$block_size_log2:expr_2021, $lhs:expr_2021, $rhs:expr_2021, $dst:expr_2021, $ring:expr_2021, $memory:expr_2021, $smaller_strassen:iden... [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:232 [INFO] [stderr] | [INFO] [stderr] 210 | ...expr_2021, $lhs:expr_2021, $rhs:expr_2021, $dst:expr_2021, $ring:expr_2021, $memory:expr_2021, $smaller_strassen:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:249 [INFO] [stderr] | [INFO] [stderr] 210 | ...pr_2021, $rhs:expr_2021, $dst:expr_2021, $ring:expr_2021, $memory:expr_2021, $smaller_strassen:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/lll.rs:369:6 [INFO] [stderr] | [INFO] [stderr] 369 | ($hom:expr_2021; $num:literal) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/algorithms/linsolve/extension.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let gen = ring.canonical_gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/algorithms/linsolve/extension.rs:36:52 [INFO] [stdout] | [INFO] [stdout] 36 | ring.mul_assign_ref(&mut current, &gen); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/rings/extension/mod.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | let gen = ring.canonical_gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/rings/extension/mod.rs:214:44 [INFO] [stdout] | [INFO] [stdout] 214 | ring.mul_assign_ref(&mut current, &gen); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/rings/local.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | let gen = ring.can_hom(ring.integer_ring()).unwrap().map(p); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/rings/local.rs:89:68 [INFO] [stdout] | [INFO] [stdout] 89 | Some(Self::from(AsLocalPIRBase::promise_is_local_pir(ring, gen, Some(e)))) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/ring.rs:525:12 [INFO] [stdout] | [INFO] [stdout] 525 | ($ring:expr, $lhs:expr, $rhs:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 525 | ($ring:expr_2021, $lhs:expr, $rhs:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/algorithms/lll.rs:372:6 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/ring.rs:525:23 [INFO] [stdout] | [INFO] [stdout] 525 | ($ring:expr, $lhs:expr, $rhs: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] 525 | ($ring:expr, $lhs:expr_2021, $rhs:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/ring.rs:525:34 [INFO] [stdout] | [INFO] [stdout] 525 | ($ring:expr, $lhs:expr, $rhs: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] 525 | ($ring:expr, $lhs:expr, $rhs:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 372 | ($hom:expr_2021; $num:literal, $den:literal) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/matrix/mod.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 140 | ($ring:expr, $lhs:expr, $rhs: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] 140 | ($ring:expr_2021, $lhs:expr, $rhs:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/matrix/mod.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | ($ring:expr, $lhs:expr, $rhs: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] 140 | ($ring:expr, $lhs:expr_2021, $rhs:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/matrix/mod.rs:140:34 [INFO] [stdout] | [INFO] [stdout] 140 | ($ring:expr, $lhs:expr, $rhs: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] 140 | ($ring:expr, $lhs:expr, $rhs:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr_2021, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr_2021, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:29 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr_2021, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] warning: the feature `is_sorted` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stderr] --> src/lib.rs:12:12 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:39 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr_2021, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 12 | #![feature(is_sorted)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:57 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr_2021, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(stable_features)]` on by default [INFO] [stderr] [INFO] [stderr] warning: the feature `new_uninit` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stderr] --> src/lib.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | #![feature(new_uninit)] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:67 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr_2021, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:77 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr_2021, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/algorithms/linsolve/poly_det.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | return unimplemented!(); [INFO] [stderr] | ^^^^^^^---------------- [INFO] [stderr] | | | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:87 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr_2021, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 23 previous errors; 3 warnings emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:105 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr_2021, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:128 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr_2021, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:139 [INFO] [stdout] | [INFO] [stdout] 210 | ...T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strass... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr_2021, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:150 [INFO] [stdout] | [INFO] [stdout] 210 | ...3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr_2021, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:161 [INFO] [stdout] | [INFO] [stdout] 210 | ...eps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr_2021, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:173 [INFO] [stdout] | [INFO] [stdout] 210 | ...r, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr_2021, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:187 [INFO] [stdout] | [INFO] [stdout] 210 | ..._log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr_2021, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/lll.rs:369:11 [INFO] [stdout] | [INFO] [stdout] 369 | ($hom:expr; $num:literal) => { [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] 369 | ($hom:expr_2021; $num:literal) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/lll.rs:372:11 [INFO] [stdout] | [INFO] [stdout] 372 | ($hom:expr; $num:literal, $den:literal) => { [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] 372 | ($hom:expr_2021; $num:literal, $den:literal) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `is_sorted` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | #![feature(is_sorted)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `new_uninit` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | #![feature(new_uninit)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/algorithms/linsolve/poly_det.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | return unimplemented!(); [INFO] [stdout] | ^^^^^^^---------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/matrix/submatrix.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | std::mem::transmute(self_) [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/matrix/submatrix.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | unsafe fn get_pointer(self_: NonNull) -> NonNull { [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: trait `seq::SparseVectorViewOperation` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/subvector.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | fn specialize_sparse>(&self, op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_bounds)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated type `seq::SparseVectorViewOperation::Output` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/subvector.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | fn specialize_sparse>(&self, op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but associated type `seq::SparseVectorViewOperation::Output` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/subvector.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | fn specialize_sparse>(&self, op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `seq::VectorView::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | fn specialize_sparse>(&self, _op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `seq::VectorView::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated type `seq::SparseVectorViewOperation::Output` is more private than the item `seq::VectorView::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | fn specialize_sparse>(&self, _op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `seq::VectorView::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but associated type `seq::SparseVectorViewOperation::Output` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `seq::VectorView::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | fn specialize_sparse>(&self, _op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `seq::VectorView::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated type `seq::SparseVectorViewOperation::Output` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but associated type `seq::SparseVectorViewOperation::Output` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `<&'a V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated type `seq::SparseVectorViewOperation::Output` is more private than the item `<&'a V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but associated type `seq::SparseVectorViewOperation::Output` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `<&'a V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `<&'a mut V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:307:5 [INFO] [stdout] | [INFO] [stdout] 307 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a mut V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated type `seq::SparseVectorViewOperation::Output` is more private than the item `<&'a mut V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:307:5 [INFO] [stdout] | [INFO] [stdout] 307 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a mut V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but associated type `seq::SparseVectorViewOperation::Output` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `<&'a mut V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:307:5 [INFO] [stdout] | [INFO] [stdout] 307 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a mut V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, [<>> as ring::RingStore>::Type as ring::RingBase>::Element; DEGREE]>` is more private than the item `galois_field::GaloisField` [INFO] [stdout] --> src/rings/extension/galois_field.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | pub type GaloisField = AsField, [El>; DEGREE]>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type alias `galois_field::GaloisField` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, [<>> as ring::RingStore>::Type as ring::RingBase>::Element; DEGREE]>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is more private than the item `GaloisFieldDyn` [INFO] [stdout] --> src/rings/extension/galois_field.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub type GaloisFieldDyn = AsField, Box<[El>]>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ type alias `GaloisFieldDyn` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, [<>> as ring::RingStore>::Type as ring::RingBase>::Element; DEGREE]>` is more private than the item `GF` [INFO] [stdout] --> src/rings/extension/galois_field.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn GF(p: u64) -> GaloisField { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `GF` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, [<>> as ring::RingStore>::Type as ring::RingBase>::Element; DEGREE]>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is more private than the item `GFdyn` [INFO] [stdout] --> src/rings/extension/galois_field.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn GFdyn(power_of_p: u64) -> GaloisFieldDyn { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `GFdyn` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is more private than the item `galois_field_dyn` [INFO] [stdout] --> src/rings/extension/galois_field.rs:181:1 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn galois_field_dyn(p: i64, degree: usize) -> GaloisFieldDyn { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `galois_field_dyn` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is more private than the item `GF_conway` [INFO] [stdout] --> src/rings/extension/galois_field.rs:267:1 [INFO] [stdout] | [INFO] [stdout] 267 | pub fn GF_conway(power_of_p: u64) -> GaloisFieldDyn { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `GF_conway` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/ring.rs:717:12 [INFO] [stdout] | [INFO] [stdout] 717 | if let Some(err) = error { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/ring.rs:719:9 [INFO] [stdout] | [INFO] [stdout] 719 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 717 ~ match error { Some(err) => { [INFO] [stdout] 718 | return Err(err); [INFO] [stdout] 719 ~ } _ => { [INFO] [stdout] 720 | return Ok(result); [INFO] [stdout] 721 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/seq/sparse.rs:91:19 [INFO] [stdout] | [INFO] [stdout] 91 | } else if let Some(res) = self.data.get(&i) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/seq/sparse.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 91 ~ } else { match self.data.get(&i) { Some(res) => { [INFO] [stdout] 92 | res [INFO] [stdout] 93 ~ } _ => { [INFO] [stdout] 94 | &self.zero [INFO] [stdout] 95 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 182 | if let Some(d) = Zn.checked_div(&Zn.sub(Zn.add_ref(&x_sqr, &y_sqr), Zn.one()), &Zn.mul(x_sqr, y_sqr)) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 182 ~ match Zn.checked_div(&Zn.sub(Zn.add_ref(&x_sqr, &y_sqr), Zn.one()), &Zn.mul(x_sqr, y_sqr)) { Some(d) => { [INFO] [stdout] 183 | let P = (x, y, Zn.one()); [INFO] [stdout] ... [INFO] [stdout] 189 | } [INFO] [stdout] 190 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(factor) = lenstra_ec_factor_base(&Zn, log2_size, &mut rng) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 207 ~ match lenstra_ec_factor_base(&Zn, log2_size, &mut rng) { Some(factor) => { [INFO] [stdout] 208 | return factor; [INFO] [stdout] 209 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:213:12 [INFO] [stdout] | [INFO] [stdout] 213 | if let Some(factor) = lenstra_ec_factor_base(&Zn, log2_N / 2, &mut rng) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 213 ~ match lenstra_ec_factor_base(&Zn, log2_N / 2, &mut rng) { Some(factor) => { [INFO] [stdout] 214 | return factor; [INFO] [stdout] 215 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/int_factor.rs:92:15 [INFO] [stdout] | [INFO] [stdout] 92 | while let Some(quo) = ZZ.checked_div(&n, &ZZ_p) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/int_factor.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/poly_div.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | while let Some(lhs_deg) = ring.degree(&lhs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/poly_div.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/mod.rs:351:20 [INFO] [stdout] | [INFO] [stdout] 351 | if let Some((i, _)) = result.iter().enumerate().filter(|(_, (f, _))| QQX.eq_el(f, &factor_rational)).next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/mod.rs:353:17 [INFO] [stdout] | [INFO] [stdout] 353 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 351 ~ match result.iter().enumerate().filter(|(_, (f, _))| QQX.eq_el(f, &factor_rational)).next() { Some((i, _)) => { [INFO] [stdout] 352 | result[i].1 += 1; [INFO] [stdout] 353 ~ } _ => { [INFO] [stdout] 354 | result.push((factor_rational, 1)); [INFO] [stdout] 355 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/mod.rs:434:23 [INFO] [stdout] | [INFO] [stdout] 434 | while let Some(mut current) = stack.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/mod.rs:465:17 [INFO] [stdout] | [INFO] [stdout] 465 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/number_field.rs:102:16 [INFO] [stdout] | [INFO] [stdout] 102 | if let Some((i, _)) = result.iter().enumerate().filter(|(_, f)| KX.eq_el(&f.0, &factor)).next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/number_field.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 102 ~ match result.iter().enumerate().filter(|(_, f)| KX.eq_el(&f.0, &factor)).next() { Some((i, _)) => { [INFO] [stdout] 103 | result[i].1 += 1; [INFO] [stdout] 104 ~ } _ => { [INFO] [stdout] 105 | result.push((factor, 1)); [INFO] [stdout] 106 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:120:11 [INFO] [stdout] | [INFO] [stdout] 120 | while let Some(new) = ring.checked_div(&val, p) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:159:15 [INFO] [stdout] | [INFO] [stdout] 159 | while let Some(m) = open.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:181:12 [INFO] [stdout] | [INFO] [stdout] 181 | if let Some(j) = entries[i].iter().inspect(|(_, c)| assert!(!ring.base_ring().is_zero(c))).map(|(j, _)| *j).min() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 181 ~ match entries[i].iter().inspect(|(_, c)| assert!(!ring.base_ring().is_zero(c))).map(|(j, _)| *j).min() { Some(j) => { [INFO] [stdout] 182 | if basis.iter().all(|f| !ring.lm(f, order).unwrap().divides(columns.at_index(j)) || ring.base_ring().checked_div(&entries[i][0].1, ring.lt(f, order).unwrap().0).is_none()) { [INFO] [stdout] ... [INFO] [stdout] 194 | } [INFO] [stdout] 195 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:291:34 [INFO] [stdout] | [INFO] [stdout] 291 | let mut current = if let Some(lt_than) = lt_than { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:293:13 [INFO] [stdout] | [INFO] [stdout] 293 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 291 ~ let mut current = match lt_than { Some(lt_than) => { [INFO] [stdout] 292 | ring.get_ring().max_term_lt(poly, <_than, order) [INFO] [stdout] 293 ~ } _ => { [INFO] [stdout] 294 | ring.lt(poly, order) [INFO] [stdout] 295 ~ }}?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:600:23 [INFO] [stdout] | [INFO] [stdout] 600 | } else if let Some(poly) = select(S_poly, &basis[..], degree_bound, &mut filtered_out_degree, &mut filtered_out_valuation) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:606:13 [INFO] [stdout] | [INFO] [stdout] 606 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 600 ~ } else { match select(S_poly, &basis[..], degree_bound, &mut filtered_out_degree, &mut filtered_out_valuation) { Some(poly) => { [INFO] [stdout] 601 | S_polys.push(poly); [INFO] [stdout] ... [INFO] [stdout] 605 | false [INFO] [stdout] 606 ~ } _ => { [INFO] [stdout] 607 | true [INFO] [stdout] 608 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:753:15 [INFO] [stdout] | [INFO] [stdout] 753 | while let Some((quo, g)) = set.clone() [INFO] [stdout] | _______________^ - [INFO] [stdout] | |____________________________________| [INFO] [stdout] 754 | || .filter(|g| ring.lm(g, order).unwrap().divides(&f_lm)) [INFO] [stdout] 755 | || .filter_map(|g| ring.base_ring().checked_div(&f_lc, ring.coefficient_at(g, ring.lm(g, order).unwrap())).map(|quo| (quo, g))).next() [INFO] [stdout] | ||_______________________________________________________________________________________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_______________________________________________________________________________________________________________________________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:770:9 [INFO] [stdout] | [INFO] [stdout] 770 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:764:16 [INFO] [stdout] | [INFO] [stdout] 764 | if let Some(m) = ring.lm(&f, order) { [INFO] [stdout] | ^^^^^^^^^^^^^^----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:767:13 [INFO] [stdout] | [INFO] [stdout] 767 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 764 ~ match ring.lm(&f, order) { Some(m) => { [INFO] [stdout] 765 | f_lm = ring.clone_monomial(m); [INFO] [stdout] 766 | f_lc = ring.base_ring().clone_el(ring.coefficient_at(&f, &f_lm)) [INFO] [stdout] 767 ~ } _ => { [INFO] [stdout] 768 | return f; [INFO] [stdout] 769 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/sparse_invert/row_echelon.rs:248:16 [INFO] [stdout] | [INFO] [stdout] 248 | if let Some(quo) = ring.checked_div(¤t, pivot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/sparse_invert/row_echelon.rs:250:13 [INFO] [stdout] | [INFO] [stdout] 250 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 248 ~ match ring.checked_div(¤t, pivot) { Some(quo) => { [INFO] [stdout] 249 | out.data.push((i, ring.negate(quo))); [INFO] [stdout] 250 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/sparse_invert/row_echelon.rs:387:20 [INFO] [stdout] | [INFO] [stdout] 387 | if let Some(quo) = ring.checked_div(factor, &pivot_entry) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/sparse_invert/row_echelon.rs:394:17 [INFO] [stdout] | [INFO] [stdout] 394 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 387 ~ match ring.checked_div(factor, &pivot_entry) { Some(quo) => { [INFO] [stdout] 388 | let rhs_factor = ring.negate(quo); [INFO] [stdout] ... [INFO] [stdout] 393 | row_ops.subtract(ring.get_ring(), pivot_i, elim_i, &ring.negate(rhs_factor)); [INFO] [stdout] 394 ~ } _ => { [INFO] [stdout] 395 | assert!(elim_i < pivot_i); [INFO] [stdout] 396 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:56:27 [INFO] [stdout] | [INFO] [stdout] 56 | } else if let Some(quo) = ring.checked_div(A.at(i, k), A.at(k, k)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:59:17 [INFO] [stdout] | [INFO] [stdout] 59 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 56 ~ } else { match ring.checked_div(A.at(i, k), A.at(k, k)) { Some(quo) => { [INFO] [stdout] 57 | TransformRows(A.reborrow(), ring.get_ring()).subtract(ring.get_ring(), k, i, &quo); [INFO] [stdout] 58 | L.subtract(ring.get_ring(), k, i, &quo); [INFO] [stdout] 59 ~ } _ => { [INFO] [stdout] 60 | let (transform, _) = ring.get_ring().create_left_elimination_matrix(A.at(k, k), A.at(i, k)); [INFO] [stdout] 61 | TransformRows(A.reborrow(), ring.get_ring()).transform(ring.get_ring(), k, i, &transform); [INFO] [stdout] 62 | L.transform(ring.get_ring(), k, i, &transform); [INFO] [stdout] 63 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:70:27 [INFO] [stdout] | [INFO] [stdout] 70 | } else if let Some(quo) = ring.checked_div(A.at(k, j), A.at(k, k)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ } else { match ring.checked_div(A.at(k, j), A.at(k, k)) { Some(quo) => { [INFO] [stdout] 71 | changed = true; [INFO] [stdout] 72 | TransformCols(A.reborrow(), ring.get_ring()).subtract(ring.get_ring(), k, j, &quo); [INFO] [stdout] 73 | R.subtract(ring.get_ring(), k, j, &quo); [INFO] [stdout] 74 ~ } _ => { [INFO] [stdout] 75 | changed = true; [INFO] [stdout] ... [INFO] [stdout] 78 | R.transform(ring.get_ring(), k, j, &transform); [INFO] [stdout] 79 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 117 | if let Some(quo) = ring.checked_left_div(rhs.at(i, j), pivot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 117 ~ match ring.checked_left_div(rhs.at(i, j), pivot) { Some(quo) => { [INFO] [stdout] 118 | *result.at_mut(i, j) = quo; [INFO] [stdout] 119 ~ } _ => { [INFO] [stdout] 120 | return SolveResult::NoSolution; [INFO] [stdout] 121 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/interpolate.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | if let Some(inv) = R.invert(&denominator) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/interpolate.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 116 ~ match R.invert(&denominator) { Some(inv) => { [INFO] [stdout] 117 | return Ok(poly_ring.inclusion().mul_map(<_ as RingStore>::sum(&poly_ring, nums.into_iter().zip(factors.into_iter()).map(|(num, c)| poly_ring.inclusion().mul_map(num, c))), inv)); [INFO] [stdout] 118 ~ } _ => { [INFO] [stdout] 119 | let scaled_result = <_ as RingStore>::sum(&poly_ring, nums.into_iter().zip(factors.into_iter()).map(|(num, c)| poly_ring.inclusion().mul_map(num, c))); [INFO] [stdout] ... [INFO] [stdout] 132 | } [INFO] [stdout] 133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:120:16 [INFO] [stdout] | [INFO] [stdout] 120 | if let Some(quo_c) = ring.base_ring().checked_div(f_lc, r_lc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 120 ~ match ring.base_ring().checked_div(f_lc, r_lc) { Some(quo_c) => { [INFO] [stdout] 121 | return Some((i, reducer, quo_c, quo_m)); [INFO] [stdout] 122 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:374:11 [INFO] [stdout] | [INFO] [stdout] 374 | while let Some((i, _, quo_c, quo_m)) = find_reducer(ring, to_reduce, reducers.iter().map(|(f, _)| f), order.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:392:5 [INFO] [stdout] | [INFO] [stdout] 392 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:435:11 [INFO] [stdout] | [INFO] [stdout] 435 | while let Some((_, reducer, quo_c, quo_m)) = find_reducer(ring, &f, reducers.clone(), order.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:437:5 [INFO] [stdout] | [INFO] [stdout] 437 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/rings/rust_bigint.rs:92:64 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn abs_base_u64_repr<'a>(&self, el: &'a RustBigint) -> impl 'a + 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/rings/rust_bigint.rs:92:34 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn abs_base_u64_repr<'a>(&self, el: &'a RustBigint) -> impl 'a + Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 92 | pub fn abs_base_u64_repr<'a>(&self, el: &'a RustBigint) -> impl 'a + Iterator + use<'a, A> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/zn/zn_64.rs:272:15 [INFO] [stdout] | [INFO] [stdout] 272 | while let Some(ZnEl(start)) = els.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/zn/zn_64.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 278 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl seq::VectorView<<::Type as ring::RingBase>::Element> + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/rings/zn/zn_rns.rs:172:61 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> { [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/rings/zn/zn_rns.rs:172:31 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> { [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] 172 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> + use<'a, C, J, A> { [INFO] [stdout] | ++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl seq::VectorView<<::Type as ring::RingBase>::Element> + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/rings/zn/zn_rns.rs:199:61 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> { [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/rings/zn/zn_rns.rs:199:31 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> { [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] 199 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> + use<'a, C, J, A> { [INFO] [stdout] | ++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/zn/mod.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 265 | if let Some(quotient) = int_ring.checked_div(&lhs_lift, &d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^----------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/zn/mod.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 265 ~ match int_ring.checked_div(&lhs_lift, &d) { Some(quotient) => { [INFO] [stdout] 266 | Some(ring.mul(ring.coerce(int_ring, quotient), ring.coerce(int_ring, s))) [INFO] [stdout] 267 ~ } _ => { [INFO] [stdout] 268 | None [INFO] [stdout] 269 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:183:19 [INFO] [stdout] | [INFO] [stdout] 183 | } else if let Some(inv_lc) = self.base_ring().invert(self.lc(&f).unwrap()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ } else { match self.base_ring().invert(self.lc(&f).unwrap()) { Some(inv_lc) => { [INFO] [stdout] 184 | self.inclusion().mul_assign_map_ref(&mut f, &inv_lc); [INFO] [stdout] 185 | return f; [INFO] [stdout] 186 ~ } _ => { [INFO] [stdout] 187 | let lc = self.lc(&f).unwrap(); [INFO] [stdout] 188 | return self.from_terms(self.terms(&f).map(|(c, i)| (self.base_ring().checked_div(c, &lc).unwrap(), i))); [INFO] [stdout] 189 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | if let Some((c, i)) = terms.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:363:9 [INFO] [stdout] | [INFO] [stdout] 363 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 360 ~ match terms.next() { Some((c, i)) => { [INFO] [stdout] 361 | ring.base_ring().get_ring().dbg_within(c, out, if i == 0 { EnvBindingStrength::Sum } else { EnvBindingStrength:: Product })?; [INFO] [stdout] 362 | print_unknown(i, out)?; [INFO] [stdout] 363 ~ } _ => { [INFO] [stdout] 364 | write!(out, "0")?; [INFO] [stdout] 365 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:366:15 [INFO] [stdout] | [INFO] [stdout] 366 | while let Some((c, i)) = terms.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/mod.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | if let Some(_factor) = <_ as FactorPolyField>::find_factor_by_extension(DensePolyRing::new(self.base_ring(), "X"), &self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------------------------------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/mod.rs:176:9 [INFO] [stdout] | [INFO] [stdout] 176 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 174 ~ match <_ as FactorPolyField>::find_factor_by_extension(DensePolyRing::new(self.base_ring(), "X"), &self) { Some(_factor) => { [INFO] [stdout] 175 | return Err(self); [INFO] [stdout] 176 ~ } _ => { [INFO] [stdout] 177 | return Ok(RingValue::from(AsFieldBase::promise_is_field(self))); [INFO] [stdout] 178 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/extension_impl.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | if let Some(_factor) = ::find_factor_by_extension(DensePolyRing::new(self.base_ring(), "X"), &self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------------------------------------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/extension_impl.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 131 ~ match ::find_factor_by_extension(DensePolyRing::new(self.base_ring(), "X"), &self) { Some(_factor) => { [INFO] [stdout] 132 | return Err(self); [INFO] [stdout] 133 ~ } _ => { [INFO] [stdout] 134 | return Ok(RingValue::from(AsFieldBase::promise_is_field(self))); [INFO] [stdout] 135 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field.rs:62:20 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(result) = test_is_irreducible_base(&poly_ring, mod_f_ring, degree) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 62 ~ match test_is_irreducible_base(&poly_ring, mod_f_ring, degree) { Some(result) => { [INFO] [stdout] 63 | return result; [INFO] [stdout] 64 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field.rs:75:20 [INFO] [stdout] | [INFO] [stdout] 75 | if let Some(result) = test_is_irreducible_base(&poly_ring, mod_f_ring, degree) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 75 ~ match test_is_irreducible_base(&poly_ring, mod_f_ring, degree) { Some(result) => { [INFO] [stdout] 76 | return result; [INFO] [stdout] 77 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field_new.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | if let Some(result) = filter_irreducible(&poly_ring, create_mod_f_ring(&f), degree) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field_new.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 96 ~ match filter_irreducible(&poly_ring, create_mod_f_ring(&f), degree) { Some(result) => { [INFO] [stdout] 97 | return result; [INFO] [stdout] 98 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field_new.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 155 | if let Some(result) = filter_irreducible(&poly_ring, create_mod_f_ring(&f), degree) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field_new.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 155 ~ match filter_irreducible(&poly_ring, create_mod_f_ring(&f), degree) { Some(result) => { [INFO] [stdout] 156 | return result; [INFO] [stdout] 157 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some(mut current) = parts.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 124 ~ match parts.pop() { Some(mut current) => { [INFO] [stdout] 125 | while let Some(new) = parts.pop() { [INFO] [stdout] ... [INFO] [stdout] 129 | return current; [INFO] [stdout] 130 ~ } _ => { [INFO] [stdout] 131 | return self.zero(); [INFO] [stdout] 132 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:125:19 [INFO] [stdout] | [INFO] [stdout] 125 | while let Some(new) = parts.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:351:12 [INFO] [stdout] | [INFO] [stdout] 351 | if let Some(err) = error { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:353:9 [INFO] [stdout] | [INFO] [stdout] 353 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 351 ~ match error { Some(err) => { [INFO] [stdout] 352 | return Err(err); [INFO] [stdout] 353 ~ } _ => { [INFO] [stdout] 354 | return Ok(result); [INFO] [stdout] 355 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:593:12 [INFO] [stdout] | [INFO] [stdout] 593 | if let Some(current) = &mut self.current { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:628:9 [INFO] [stdout] | [INFO] [stdout] 628 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 593 ~ match &mut self.current { Some(current) => { [INFO] [stdout] 594 | let result = current.clone(); [INFO] [stdout] ... [INFO] [stdout] 627 | return Some(result); [INFO] [stdout] 628 ~ } _ => { [INFO] [stdout] 629 | return None; [INFO] [stdout] 630 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:915:16 [INFO] [stdout] | [INFO] [stdout] 915 | if let Some((lhs_lc, lhs_lm)) = ring.lt(¤t, order.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:927:13 [INFO] [stdout] | [INFO] [stdout] 927 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 915 ~ match ring.lt(¤t, order.clone()) { Some((lhs_lc, lhs_lm)) => { [INFO] [stdout] 916 | if rhs_lm.divides(&lhs_lm) { [INFO] [stdout] ... [INFO] [stdout] 926 | } [INFO] [stdout] 927 ~ } _ => { [INFO] [stdout] 928 | None [INFO] [stdout] 929 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:917:24 [INFO] [stdout] | [INFO] [stdout] 917 | if let Some(lc_quo) = ring.base_ring().checked_div(lhs_lc, rhs_lc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:921:21 [INFO] [stdout] | [INFO] [stdout] 921 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 917 ~ match ring.base_ring().checked_div(lhs_lc, rhs_lc) { Some(lc_quo) => { [INFO] [stdout] 918 | let mon_quo = ring.clone_monomial(lhs_lm).div(rhs_lm); [INFO] [stdout] 919 | ring.get_ring().add_assign_from_terms(&mut current, ring.terms(rhs).map(|(c, mon)| (ring.base_ring().negate(ring.base_ring().mul_ref(c, &lc_quo)), ring.clone_monomial(mon).mul(&mon_quo)))); [INFO] [stdout] 920 | return Some(Ok((lc_quo, mon_quo))); [INFO] [stdout] 921 ~ } _ => { [INFO] [stdout] 922 | return Some(Err(())); [INFO] [stdout] 923 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/fieldextension.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | if let Some((factor, _)) = factorization.into_iter().filter(|(f, _)| KX.degree(f) == Some(1)).next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/fieldextension.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match factorization.into_iter().filter(|(f, _)| KX.degree(f) == Some(1)).next() { Some((factor, _)) => { [INFO] [stdout] 115 | let root = K.negate(K.div(KX.coefficient_at(&factor, 0), KX.coefficient_at(&factor, 1))); [INFO] [stdout] 116 | return Ok(ExtensionFieldEmbedding { from: self_, to: target, map_generator_to: root, base_ring_hom: base_ring_hom }); [INFO] [stdout] 117 ~ } _ => { [INFO] [stdout] 118 | return Err((self_, target)); [INFO] [stdout] 119 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/local.rs:231:12 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(quo) = self.checked_left_div(b, a) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/local.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 231 ~ match self.checked_left_div(b, a) { Some(quo) => { [INFO] [stdout] 232 | ( [INFO] [stdout] ... [INFO] [stdout] 235 | ) [INFO] [stdout] 236 ~ } _ => { [INFO] [stdout] 237 | let quo = self.checked_left_div(a, b).unwrap(); [INFO] [stdout] ... [INFO] [stdout] 241 | ) [INFO] [stdout] 242 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/local.rs:288:12 [INFO] [stdout] | [INFO] [stdout] 288 | if let Some(quo) = self.checked_left_div(&lhs, rhs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/local.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 288 ~ match self.checked_left_div(&lhs, rhs) { Some(quo) => { [INFO] [stdout] 289 | (quo, self.zero()) [INFO] [stdout] 290 ~ } _ => { [INFO] [stdout] 291 | (self.zero(), lhs) [INFO] [stdout] 292 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate_new/mod.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some(res) = self.exponent_at(&lhs, i).checked_sub(self.exponent_at(rhs, i)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate_new/mod.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match self.exponent_at(&lhs, i).checked_sub(self.exponent_at(rhs, i)) { Some(res) => { [INFO] [stdout] 95 | res [INFO] [stdout] 96 ~ } _ => { [INFO] [stdout] 97 | failed = true; [INFO] [stdout] 98 | 0 [INFO] [stdout] 99 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate_new/multivariate_impl.rs:234:15 [INFO] [stdout] | [INFO] [stdout] 234 | while let (Some((_, l_m)), Some((_, r_m))) = (lhs_it.peek(), rhs_it.peek()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate_new/multivariate_impl.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:308:16 [INFO] [stdout] | [INFO] [stdout] 308 | if let Some(next_j) = self.j.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 309 | return Some((fst.clone(), next_j)); [INFO] [stdout] 310 | } else if let Some(next_i) = self.i.next() { [INFO] [stdout] | ------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | } else if let Some(next_i) = self.i.next() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:316:13 [INFO] [stdout] | [INFO] [stdout] 316 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 308 ~ match self.j.next() { Some(next_j) => { [INFO] [stdout] 309 | return Some((fst.clone(), next_j)); [INFO] [stdout] 310 ~ } _ => { match self.i.next() { Some(next_i) => { [INFO] [stdout] 311 | self.j = self.base_j.clone(); [INFO] [stdout] ... [INFO] [stdout] 315 | } [INFO] [stdout] 316 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:313:20 [INFO] [stdout] | [INFO] [stdout] 313 | if let Some(next_j) = self.j.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:315:17 [INFO] [stdout] | [INFO] [stdout] 315 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 313 ~ match self.j.next() { Some(next_j) => { [INFO] [stdout] 314 | return Some((next_i, next_j)); [INFO] [stdout] 315 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:391:16 [INFO] [stdout] | [INFO] [stdout] 391 | if let Some(val) = self.current_iters[i].next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:399:13 [INFO] [stdout] | [INFO] [stdout] 399 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 391 ~ match self.current_iters[i].next() { Some(val) => { [INFO] [stdout] 392 | self.current[i] = val; [INFO] [stdout] ... [INFO] [stdout] 398 | break; [INFO] [stdout] 399 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:447:12 [INFO] [stdout] | [INFO] [stdout] 447 | if let Some(v) = it.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:449:9 [INFO] [stdout] | [INFO] [stdout] 449 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 447 ~ match it.next() { Some(v) => { [INFO] [stdout] 448 | current.push(v); [INFO] [stdout] 449 ~ } _ => { [INFO] [stdout] 450 | return MultiProduct { [INFO] [stdout] ... [INFO] [stdout] 457 | }; [INFO] [stdout] 458 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:483:15 [INFO] [stdout] | [INFO] [stdout] 483 | while let Some(el) = self.base_iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:484:16 [INFO] [stdout] | [INFO] [stdout] 484 | if let Some(result) = (self.f)(el) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 484 ~ match (self.f)(el) { Some(result) => { [INFO] [stdout] 485 | return Some(result); [INFO] [stdout] 486 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/serialization.rs:60:19 [INFO] [stdout] | [INFO] [stdout] 60 | while let Some(el) = seq.next_element_seed(self.base_seed.clone())? { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/serialization.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 112 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 `feanor_math` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * /rustc/ccf408f4326a858c00dd845a64a86b16f360a801/library/core/src/macros/mod.rs [INFO] [stderr] * src/algorithms/linsolve/poly_det.rs [INFO] [stderr] * src/algorithms/matmul/strassen.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/matrix/mod.rs [INFO] [stderr] * src/ring.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/ring.rs:525:6 [INFO] [stderr] | [INFO] [stderr] 525 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/ring.rs:525:23 [INFO] [stderr] | [INFO] [stderr] 525 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/ring.rs:525:39 [INFO] [stderr] | [INFO] [stderr] 525 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/matrix/mod.rs:140:6 [INFO] [stderr] | [INFO] [stderr] 140 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/matrix/mod.rs:140:23 [INFO] [stderr] | [INFO] [stderr] 140 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/matrix/mod.rs:140:39 [INFO] [stderr] | [INFO] [stderr] 140 | ($ring:expr_2021, $lhs:expr_2021, $rhs:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:6 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:20 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:35 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:50 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:65 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:88 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/algorithms/linsolve/extension.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let gen = ring.canonical_gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/algorithms/linsolve/extension.rs:36:52 [INFO] [stdout] | [INFO] [stdout] 36 | ring.mul_assign_ref(&mut current, &gen); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:103 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/rings/extension/mod.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | let gen = ring.canonical_gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/rings/extension/mod.rs:214:44 [INFO] [stdout] | [INFO] [stdout] 214 | ring.mul_assign_ref(&mut current, &gen); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/rings/local.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | let gen = ring.can_hom(ring.integer_ring()).unwrap().map(p); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:118 [INFO] [stderr] | [INFO] [stderr] 210 | ($R:expr_2021, $V1:expr_2021, $V2:expr_2021, $V3:expr_2021, $ADD_ASSIGN:expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $step... [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/rings/local.rs:89:68 [INFO] [stdout] | [INFO] [stdout] 89 | Some(Self::from(AsLocalPIRBase::promise_is_local_pir(ring, gen, Some(e)))) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:133 [INFO] [stderr] | [INFO] [stderr] 210 | ...expr_2021, $T1:expr_2021, $T2:expr_2021, $T3:expr_2021, $steps_left:expr_2021, $block_size_log2:expr_2021, $lhs:expr_2021, $rhs:expr_2... [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/ring.rs:525:12 [INFO] [stdout] | [INFO] [stdout] 525 | ($ring:expr, $lhs:expr, $rhs:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 525 | ($ring:expr_2021, $lhs:expr, $rhs:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/ring.rs:525:23 [INFO] [stdout] | [INFO] [stdout] 525 | ($ring:expr, $lhs:expr, $rhs: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] 525 | ($ring:expr, $lhs:expr_2021, $rhs:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:156 [INFO] [stderr] | [INFO] [stderr] 210 | ... $T2:expr_2021, $T3:expr_2021, $steps_left:expr_2021, $block_size_log2:expr_2021, $lhs:expr_2021, $rhs:expr_2021, $dst:expr_2021, $rin... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:184 [INFO] [stderr] | [INFO] [stderr] 210 | ...pr_2021, $steps_left:expr_2021, $block_size_log2:expr_2021, $lhs:expr_2021, $rhs:expr_2021, $dst:expr_2021, $ring:expr_2021, $memory:e... [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:200 [INFO] [stderr] | [INFO] [stderr] 210 | ...left:expr_2021, $block_size_log2:expr_2021, $lhs:expr_2021, $rhs:expr_2021, $dst:expr_2021, $ring:expr_2021, $memory:expr_2021, $small... [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/ring.rs:525:34 [INFO] [stdout] | [INFO] [stdout] 525 | ($ring:expr, $lhs:expr, $rhs: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] 525 | ($ring:expr, $lhs:expr, $rhs:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/matrix/mod.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 140 | ($ring:expr, $lhs:expr, $rhs: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] 140 | ($ring:expr_2021, $lhs:expr, $rhs:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/matrix/mod.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | ($ring:expr, $lhs:expr, $rhs: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] 140 | ($ring:expr, $lhs:expr_2021, $rhs:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/matrix/mod.rs:140:34 [INFO] [stdout] | [INFO] [stdout] 140 | ($ring:expr, $lhs:expr, $rhs: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] 140 | ($ring:expr, $lhs:expr, $rhs:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr_2021, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr_2021, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:216 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:29 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr_2021, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 210 | ...$block_size_log2:expr_2021, $lhs:expr_2021, $rhs:expr_2021, $dst:expr_2021, $ring:expr_2021, $memory:expr_2021, $smaller_strassen:iden... [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:232 [INFO] [stderr] | [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:39 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr_2021, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 210 | ...expr_2021, $lhs:expr_2021, $rhs:expr_2021, $dst:expr_2021, $ring:expr_2021, $memory:expr_2021, $smaller_strassen:ident) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:57 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr_2021, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:67 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr_2021, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/algorithms/matmul/strassen.rs:210:249 [INFO] [stderr] | [INFO] [stderr] 210 | ...pr_2021, $rhs:expr_2021, $dst:expr_2021, $ring:expr_2021, $memory:expr_2021, $smaller_strassen:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: the feature `is_sorted` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stderr] --> src/lib.rs:12:12 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:77 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr_2021, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 12 | #![feature(is_sorted)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(stable_features)]` on by default [INFO] [stderr] [INFO] [stderr] warning: the feature `new_uninit` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stderr] --> src/lib.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | #![feature(new_uninit)] [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable expression [INFO] [stderr] --> src/algorithms/linsolve/poly_det.rs:134:13 [INFO] [stderr] | [INFO] [stderr] 134 | return unimplemented!(); [INFO] [stderr] | ^^^^^^^---------------- [INFO] [stderr] | | | [INFO] [stderr] | | any code following this expression is unreachable [INFO] [stderr] | unreachable expression [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 21 previous errors; 3 warnings emitted [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:87 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr_2021, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:105 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr_2021, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Original diagnostics will follow. [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:128 [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr_2021, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:139 [INFO] [stdout] | [INFO] [stdout] 210 | ...T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strass... [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] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr_2021, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:150 [INFO] [stdout] | [INFO] [stdout] 210 | ...3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr_2021, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:161 [INFO] [stdout] | [INFO] [stdout] 210 | ...eps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr_2021, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:173 [INFO] [stdout] | [INFO] [stdout] 210 | ...r, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr_2021, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/algorithms/matmul/strassen.rs:210:187 [INFO] [stdout] | [INFO] [stdout] 210 | ..._log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr, $smaller_strassen:ident) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 210 | ($R:expr, $V1:expr, $V2:expr, $V3:expr, $ADD_ASSIGN:expr, $T1:expr, $T2:expr, $T3:expr, $steps_left:expr, $block_size_log2:expr, $lhs:expr, $rhs:expr, $dst:expr, $ring:expr, $memory:expr_2021, $smaller_strassen:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `is_sorted` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | #![feature(is_sorted)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `new_uninit` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | #![feature(new_uninit)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/algorithms/linsolve/poly_det.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | return unimplemented!(); [INFO] [stdout] | ^^^^^^^---------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/matrix/submatrix.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | std::mem::transmute(self_) [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/matrix/submatrix.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | unsafe fn get_pointer(self_: NonNull) -> NonNull { [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: trait `seq::SparseVectorViewOperation` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/subvector.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | fn specialize_sparse>(&self, op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_bounds)]` on by default [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated type `seq::SparseVectorViewOperation::Output` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/subvector.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | fn specialize_sparse>(&self, op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but associated type `seq::SparseVectorViewOperation::Output` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/subvector.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | fn specialize_sparse>(&self, op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `seq::VectorView::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | fn specialize_sparse>(&self, _op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `seq::VectorView::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated type `seq::SparseVectorViewOperation::Output` is more private than the item `seq::VectorView::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | fn specialize_sparse>(&self, _op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `seq::VectorView::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but associated type `seq::SparseVectorViewOperation::Output` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `seq::VectorView::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | fn specialize_sparse>(&self, _op: Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `seq::VectorView::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated type `seq::SparseVectorViewOperation::Output` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but associated type `seq::SparseVectorViewOperation::Output` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item ` as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 251 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method ` as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `<&'a V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated type `seq::SparseVectorViewOperation::Output` is more private than the item `<&'a V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but associated type `seq::SparseVectorViewOperation::Output` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `<&'a V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `<&'a mut V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:307:5 [INFO] [stdout] | [INFO] [stdout] 307 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a mut V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated type `seq::SparseVectorViewOperation::Output` is more private than the item `<&'a mut V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:307:5 [INFO] [stdout] | [INFO] [stdout] 307 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a mut V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but associated type `seq::SparseVectorViewOperation::Output` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:160:5 [INFO] [stdout] | [INFO] [stdout] 160 | type Output; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `seq::SparseVectorViewOperation` is more private than the item `<&'a mut V as seq::VectorView>::specialize_sparse` [INFO] [stdout] --> src/seq/mod.rs:307:5 [INFO] [stdout] | [INFO] [stdout] 307 | fn specialize_sparse>(&self, op:Op) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `<&'a mut V as seq::VectorView>::specialize_sparse` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but trait `seq::SparseVectorViewOperation` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/seq/mod.rs:157:1 [INFO] [stdout] | [INFO] [stdout] 157 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, [<>> as ring::RingStore>::Type as ring::RingBase>::Element; DEGREE]>` is more private than the item `galois_field::GaloisField` [INFO] [stdout] --> src/rings/extension/galois_field.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | pub type GaloisField = AsField, [El>; DEGREE]>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type alias `galois_field::GaloisField` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, [<>> as ring::RingStore>::Type as ring::RingBase>::Element; DEGREE]>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is more private than the item `GaloisFieldDyn` [INFO] [stdout] --> src/rings/extension/galois_field.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub type GaloisFieldDyn = AsField, Box<[El>]>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ type alias `GaloisFieldDyn` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, [<>> as ring::RingStore>::Type as ring::RingBase>::Element; DEGREE]>` is more private than the item `GF` [INFO] [stdout] --> src/rings/extension/galois_field.rs:112:1 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn GF(p: u64) -> GaloisField { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `GF` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, [<>> as ring::RingStore>::Type as ring::RingBase>::Element; DEGREE]>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is more private than the item `GFdyn` [INFO] [stdout] --> src/rings/extension/galois_field.rs:151:1 [INFO] [stdout] | [INFO] [stdout] 151 | pub fn GFdyn(power_of_p: u64) -> GaloisFieldDyn { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `GFdyn` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is more private than the item `galois_field_dyn` [INFO] [stdout] --> src/rings/extension/galois_field.rs:181:1 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn galois_field_dyn(p: i64, degree: usize) -> GaloisFieldDyn { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `galois_field_dyn` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is more private than the item `GF_conway` [INFO] [stdout] --> src/rings/extension/galois_field.rs:267:1 [INFO] [stdout] | [INFO] [stdout] 267 | pub fn GF_conway(power_of_p: u64) -> GaloisFieldDyn { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `GF_conway` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `rings::extension::impl_new::FreeAlgebraImplBase>>, Box<[<>> as ring::RingStore>::Type as ring::RingBase>::Element]>>` is only usable at visibility `pub(crate)` [INFO] [stdout] --> src/rings/extension/impl_new.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | #[stability::unstable(feature = "enable")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `stability::unstable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/ring.rs:717:12 [INFO] [stdout] | [INFO] [stdout] 717 | if let Some(err) = error { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/ring.rs:719:9 [INFO] [stdout] | [INFO] [stdout] 719 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 717 ~ match error { Some(err) => { [INFO] [stdout] 718 | return Err(err); [INFO] [stdout] 719 ~ } _ => { [INFO] [stdout] 720 | return Ok(result); [INFO] [stdout] 721 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/seq/sparse.rs:91:19 [INFO] [stdout] | [INFO] [stdout] 91 | } else if let Some(res) = self.data.get(&i) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/seq/sparse.rs:93:9 [INFO] [stdout] | [INFO] [stdout] 93 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 91 ~ } else { match self.data.get(&i) { Some(res) => { [INFO] [stdout] 92 | res [INFO] [stdout] 93 ~ } _ => { [INFO] [stdout] 94 | &self.zero [INFO] [stdout] 95 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 182 | if let Some(d) = Zn.checked_div(&Zn.sub(Zn.add_ref(&x_sqr, &y_sqr), Zn.one()), &Zn.mul(x_sqr, y_sqr)) { [INFO] [stdout] | ^^^^^^^^^^^^^^------------------------------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 182 ~ match Zn.checked_div(&Zn.sub(Zn.add_ref(&x_sqr, &y_sqr), Zn.one()), &Zn.mul(x_sqr, y_sqr)) { Some(d) => { [INFO] [stdout] 183 | let P = (x, y, Zn.one()); [INFO] [stdout] ... [INFO] [stdout] 189 | } [INFO] [stdout] 190 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(factor) = lenstra_ec_factor_base(&Zn, log2_size, &mut rng) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 207 ~ match lenstra_ec_factor_base(&Zn, log2_size, &mut rng) { Some(factor) => { [INFO] [stdout] 208 | return factor; [INFO] [stdout] 209 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:213:12 [INFO] [stdout] | [INFO] [stdout] 213 | if let Some(factor) = lenstra_ec_factor_base(&Zn, log2_N / 2, &mut rng) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/ec_factor.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 213 ~ match lenstra_ec_factor_base(&Zn, log2_N / 2, &mut rng) { Some(factor) => { [INFO] [stdout] 214 | return factor; [INFO] [stdout] 215 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/int_factor.rs:92:15 [INFO] [stdout] | [INFO] [stdout] 92 | while let Some(quo) = ZZ.checked_div(&n, &ZZ_p) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/int_factor.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/poly_div.rs:75:11 [INFO] [stdout] | [INFO] [stdout] 75 | while let Some(lhs_deg) = ring.degree(&lhs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/poly_div.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/mod.rs:351:20 [INFO] [stdout] | [INFO] [stdout] 351 | if let Some((i, _)) = result.iter().enumerate().filter(|(_, (f, _))| QQX.eq_el(f, &factor_rational)).next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/mod.rs:353:17 [INFO] [stdout] | [INFO] [stdout] 353 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 351 ~ match result.iter().enumerate().filter(|(_, (f, _))| QQX.eq_el(f, &factor_rational)).next() { Some((i, _)) => { [INFO] [stdout] 352 | result[i].1 += 1; [INFO] [stdout] 353 ~ } _ => { [INFO] [stdout] 354 | result.push((factor_rational, 1)); [INFO] [stdout] 355 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/mod.rs:434:23 [INFO] [stdout] | [INFO] [stdout] 434 | while let Some(mut current) = stack.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/mod.rs:465:17 [INFO] [stdout] | [INFO] [stdout] 465 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/number_field.rs:102:16 [INFO] [stdout] | [INFO] [stdout] 102 | if let Some((i, _)) = result.iter().enumerate().filter(|(_, f)| KX.eq_el(&f.0, &factor)).next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/poly_factor/number_field.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 102 ~ match result.iter().enumerate().filter(|(_, f)| KX.eq_el(&f.0, &factor)).next() { Some((i, _)) => { [INFO] [stdout] 103 | result[i].1 += 1; [INFO] [stdout] 104 ~ } _ => { [INFO] [stdout] 105 | result.push((factor, 1)); [INFO] [stdout] 106 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:120:11 [INFO] [stdout] | [INFO] [stdout] 120 | while let Some(new) = ring.checked_div(&val, p) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:159:15 [INFO] [stdout] | [INFO] [stdout] 159 | while let Some(m) = open.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:181:12 [INFO] [stdout] | [INFO] [stdout] 181 | if let Some(j) = entries[i].iter().inspect(|(_, c)| assert!(!ring.base_ring().is_zero(c))).map(|(j, _)| *j).min() { [INFO] [stdout] | ^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 181 ~ match entries[i].iter().inspect(|(_, c)| assert!(!ring.base_ring().is_zero(c))).map(|(j, _)| *j).min() { Some(j) => { [INFO] [stdout] 182 | if basis.iter().all(|f| !ring.lm(f, order).unwrap().divides(columns.at_index(j)) || ring.base_ring().checked_div(&entries[i][0].1, ring.lt(f, order).unwrap().0).is_none()) { [INFO] [stdout] ... [INFO] [stdout] 194 | } [INFO] [stdout] 195 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:291:34 [INFO] [stdout] | [INFO] [stdout] 291 | let mut current = if let Some(lt_than) = lt_than { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:293:13 [INFO] [stdout] | [INFO] [stdout] 293 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 291 ~ let mut current = match lt_than { Some(lt_than) => { [INFO] [stdout] 292 | ring.get_ring().max_term_lt(poly, <_than, order) [INFO] [stdout] 293 ~ } _ => { [INFO] [stdout] 294 | ring.lt(poly, order) [INFO] [stdout] 295 ~ }}?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:600:23 [INFO] [stdout] | [INFO] [stdout] 600 | } else if let Some(poly) = select(S_poly, &basis[..], degree_bound, &mut filtered_out_degree, &mut filtered_out_valuation) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:606:13 [INFO] [stdout] | [INFO] [stdout] 606 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 600 ~ } else { match select(S_poly, &basis[..], degree_bound, &mut filtered_out_degree, &mut filtered_out_valuation) { Some(poly) => { [INFO] [stdout] 601 | S_polys.push(poly); [INFO] [stdout] ... [INFO] [stdout] 605 | false [INFO] [stdout] 606 ~ } _ => { [INFO] [stdout] 607 | true [INFO] [stdout] 608 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:753:15 [INFO] [stdout] | [INFO] [stdout] 753 | while let Some((quo, g)) = set.clone() [INFO] [stdout] | _______________^ - [INFO] [stdout] | |____________________________________| [INFO] [stdout] 754 | || .filter(|g| ring.lm(g, order).unwrap().divides(&f_lm)) [INFO] [stdout] 755 | || .filter_map(|g| ring.base_ring().checked_div(&f_lc, ring.coefficient_at(g, ring.lm(g, order).unwrap())).map(|quo| (quo, g))).next() [INFO] [stdout] | ||_______________________________________________________________________________________________________________________________________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | |_______________________________________________________________________________________________________________________________________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:770:9 [INFO] [stdout] | [INFO] [stdout] 770 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:764:16 [INFO] [stdout] | [INFO] [stdout] 764 | if let Some(m) = ring.lm(&f, order) { [INFO] [stdout] | ^^^^^^^^^^^^^^----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/f4.rs:767:13 [INFO] [stdout] | [INFO] [stdout] 767 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 764 ~ match ring.lm(&f, order) { Some(m) => { [INFO] [stdout] 765 | f_lm = ring.clone_monomial(m); [INFO] [stdout] 766 | f_lc = ring.base_ring().clone_el(ring.coefficient_at(&f, &f_lm)) [INFO] [stdout] 767 ~ } _ => { [INFO] [stdout] 768 | return f; [INFO] [stdout] 769 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/sparse_invert/row_echelon.rs:248:16 [INFO] [stdout] | [INFO] [stdout] 248 | if let Some(quo) = ring.checked_div(¤t, pivot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/sparse_invert/row_echelon.rs:250:13 [INFO] [stdout] | [INFO] [stdout] 250 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 248 ~ match ring.checked_div(¤t, pivot) { Some(quo) => { [INFO] [stdout] 249 | out.data.push((i, ring.negate(quo))); [INFO] [stdout] 250 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/sparse_invert/row_echelon.rs:387:20 [INFO] [stdout] | [INFO] [stdout] 387 | if let Some(quo) = ring.checked_div(factor, &pivot_entry) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/sparse_invert/row_echelon.rs:394:17 [INFO] [stdout] | [INFO] [stdout] 394 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 387 ~ match ring.checked_div(factor, &pivot_entry) { Some(quo) => { [INFO] [stdout] 388 | let rhs_factor = ring.negate(quo); [INFO] [stdout] ... [INFO] [stdout] 393 | row_ops.subtract(ring.get_ring(), pivot_i, elim_i, &ring.negate(rhs_factor)); [INFO] [stdout] 394 ~ } _ => { [INFO] [stdout] 395 | assert!(elim_i < pivot_i); [INFO] [stdout] 396 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:56:27 [INFO] [stdout] | [INFO] [stdout] 56 | } else if let Some(quo) = ring.checked_div(A.at(i, k), A.at(k, k)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:59:17 [INFO] [stdout] | [INFO] [stdout] 59 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 56 ~ } else { match ring.checked_div(A.at(i, k), A.at(k, k)) { Some(quo) => { [INFO] [stdout] 57 | TransformRows(A.reborrow(), ring.get_ring()).subtract(ring.get_ring(), k, i, &quo); [INFO] [stdout] 58 | L.subtract(ring.get_ring(), k, i, &quo); [INFO] [stdout] 59 ~ } _ => { [INFO] [stdout] 60 | let (transform, _) = ring.get_ring().create_left_elimination_matrix(A.at(k, k), A.at(i, k)); [INFO] [stdout] 61 | TransformRows(A.reborrow(), ring.get_ring()).transform(ring.get_ring(), k, i, &transform); [INFO] [stdout] 62 | L.transform(ring.get_ring(), k, i, &transform); [INFO] [stdout] 63 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:70:27 [INFO] [stdout] | [INFO] [stdout] 70 | } else if let Some(quo) = ring.checked_div(A.at(k, j), A.at(k, k)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:74:17 [INFO] [stdout] | [INFO] [stdout] 74 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 70 ~ } else { match ring.checked_div(A.at(k, j), A.at(k, k)) { Some(quo) => { [INFO] [stdout] 71 | changed = true; [INFO] [stdout] 72 | TransformCols(A.reborrow(), ring.get_ring()).subtract(ring.get_ring(), k, j, &quo); [INFO] [stdout] 73 | R.subtract(ring.get_ring(), k, j, &quo); [INFO] [stdout] 74 ~ } _ => { [INFO] [stdout] 75 | changed = true; [INFO] [stdout] ... [INFO] [stdout] 78 | R.transform(ring.get_ring(), k, j, &transform); [INFO] [stdout] 79 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 117 | if let Some(quo) = ring.checked_left_div(rhs.at(i, j), pivot) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/linsolve/smith.rs:119:13 [INFO] [stdout] | [INFO] [stdout] 119 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 117 ~ match ring.checked_left_div(rhs.at(i, j), pivot) { Some(quo) => { [INFO] [stdout] 118 | *result.at_mut(i, j) = quo; [INFO] [stdout] 119 ~ } _ => { [INFO] [stdout] 120 | return SolveResult::NoSolution; [INFO] [stdout] 121 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/interpolate.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | if let Some(inv) = R.invert(&denominator) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/interpolate.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 116 ~ match R.invert(&denominator) { Some(inv) => { [INFO] [stdout] 117 | return Ok(poly_ring.inclusion().mul_map(<_ as RingStore>::sum(&poly_ring, nums.into_iter().zip(factors.into_iter()).map(|(num, c)| poly_ring.inclusion().mul_map(num, c))), inv)); [INFO] [stdout] 118 ~ } _ => { [INFO] [stdout] 119 | let scaled_result = <_ as RingStore>::sum(&poly_ring, nums.into_iter().zip(factors.into_iter()).map(|(num, c)| poly_ring.inclusion().mul_map(num, c))); [INFO] [stdout] ... [INFO] [stdout] 132 | } [INFO] [stdout] 133 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:120:16 [INFO] [stdout] | [INFO] [stdout] 120 | if let Some(quo_c) = ring.base_ring().checked_div(f_lc, r_lc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^---------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 120 ~ match ring.base_ring().checked_div(f_lc, r_lc) { Some(quo_c) => { [INFO] [stdout] 121 | return Some((i, reducer, quo_c, quo_m)); [INFO] [stdout] 122 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:374:11 [INFO] [stdout] | [INFO] [stdout] 374 | while let Some((i, _, quo_c, quo_m)) = find_reducer(ring, to_reduce, reducers.iter().map(|(f, _)| f), order.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:392:5 [INFO] [stdout] | [INFO] [stdout] 392 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:435:11 [INFO] [stdout] | [INFO] [stdout] 435 | while let Some((_, reducer, quo_c, quo_m)) = find_reducer(ring, &f, reducers.clone(), order.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/algorithms/buchberger.rs:437:5 [INFO] [stdout] | [INFO] [stdout] 437 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/rings/rust_bigint.rs:92:64 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn abs_base_u64_repr<'a>(&self, el: &'a RustBigint) -> impl 'a + 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/rings/rust_bigint.rs:92:34 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn abs_base_u64_repr<'a>(&self, el: &'a RustBigint) -> impl 'a + Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 92 | pub fn abs_base_u64_repr<'a>(&self, el: &'a RustBigint) -> impl 'a + Iterator + use<'a, A> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/zn/zn_64.rs:272:15 [INFO] [stdout] | [INFO] [stdout] 272 | while let Some(ZnEl(start)) = els.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/zn/zn_64.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 278 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl seq::VectorView<<::Type as ring::RingBase>::Element> + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/rings/zn/zn_rns.rs:172:61 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> { [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/rings/zn/zn_rns.rs:172:31 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> { [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] 172 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> + use<'a, C, J, A> { [INFO] [stdout] | ++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl seq::VectorView<<::Type as ring::RingBase>::Element> + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/rings/zn/zn_rns.rs:199:61 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> { [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/rings/zn/zn_rns.rs:199:31 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> { [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] 199 | pub fn get_congruence<'a>(&self, el: &'a ZnEl) -> impl 'a + VectorView> + use<'a, C, J, A> { [INFO] [stdout] | ++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/zn/mod.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 265 | if let Some(quotient) = int_ring.checked_div(&lhs_lift, &d) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^----------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/zn/mod.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 265 ~ match int_ring.checked_div(&lhs_lift, &d) { Some(quotient) => { [INFO] [stdout] 266 | Some(ring.mul(ring.coerce(int_ring, quotient), ring.coerce(int_ring, s))) [INFO] [stdout] 267 ~ } _ => { [INFO] [stdout] 268 | None [INFO] [stdout] 269 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:183:19 [INFO] [stdout] | [INFO] [stdout] 183 | } else if let Some(inv_lc) = self.base_ring().invert(self.lc(&f).unwrap()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ } else { match self.base_ring().invert(self.lc(&f).unwrap()) { Some(inv_lc) => { [INFO] [stdout] 184 | self.inclusion().mul_assign_map_ref(&mut f, &inv_lc); [INFO] [stdout] 185 | return f; [INFO] [stdout] 186 ~ } _ => { [INFO] [stdout] 187 | let lc = self.lc(&f).unwrap(); [INFO] [stdout] 188 | return self.from_terms(self.terms(&f).map(|(c, i)| (self.base_ring().checked_div(c, &lc).unwrap(), i))); [INFO] [stdout] 189 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | if let Some((c, i)) = terms.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:363:9 [INFO] [stdout] | [INFO] [stdout] 363 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 360 ~ match terms.next() { Some((c, i)) => { [INFO] [stdout] 361 | ring.base_ring().get_ring().dbg_within(c, out, if i == 0 { EnvBindingStrength::Sum } else { EnvBindingStrength:: Product })?; [INFO] [stdout] 362 | print_unknown(i, out)?; [INFO] [stdout] 363 ~ } _ => { [INFO] [stdout] 364 | write!(out, "0")?; [INFO] [stdout] 365 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:366:15 [INFO] [stdout] | [INFO] [stdout] 366 | while let Some((c, i)) = terms.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/poly/mod.rs:370:9 [INFO] [stdout] | [INFO] [stdout] 370 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/mod.rs:174:12 [INFO] [stdout] | [INFO] [stdout] 174 | if let Some(_factor) = <_ as FactorPolyField>::find_factor_by_extension(DensePolyRing::new(self.base_ring(), "X"), &self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------------------------------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/mod.rs:176:9 [INFO] [stdout] | [INFO] [stdout] 176 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 174 ~ match <_ as FactorPolyField>::find_factor_by_extension(DensePolyRing::new(self.base_ring(), "X"), &self) { Some(_factor) => { [INFO] [stdout] 175 | return Err(self); [INFO] [stdout] 176 ~ } _ => { [INFO] [stdout] 177 | return Ok(RingValue::from(AsFieldBase::promise_is_field(self))); [INFO] [stdout] 178 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/extension_impl.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 131 | if let Some(_factor) = ::find_factor_by_extension(DensePolyRing::new(self.base_ring(), "X"), &self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------------------------------------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/extension_impl.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 131 ~ match ::find_factor_by_extension(DensePolyRing::new(self.base_ring(), "X"), &self) { Some(_factor) => { [INFO] [stdout] 132 | return Err(self); [INFO] [stdout] 133 ~ } _ => { [INFO] [stdout] 134 | return Ok(RingValue::from(AsFieldBase::promise_is_field(self))); [INFO] [stdout] 135 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field.rs:62:20 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(result) = test_is_irreducible_base(&poly_ring, mod_f_ring, degree) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field.rs:64:17 [INFO] [stdout] | [INFO] [stdout] 64 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 62 ~ match test_is_irreducible_base(&poly_ring, mod_f_ring, degree) { Some(result) => { [INFO] [stdout] 63 | return result; [INFO] [stdout] 64 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field.rs:75:20 [INFO] [stdout] | [INFO] [stdout] 75 | if let Some(result) = test_is_irreducible_base(&poly_ring, mod_f_ring, degree) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 75 ~ match test_is_irreducible_base(&poly_ring, mod_f_ring, degree) { Some(result) => { [INFO] [stdout] 76 | return result; [INFO] [stdout] 77 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field_new.rs:96:16 [INFO] [stdout] | [INFO] [stdout] 96 | if let Some(result) = filter_irreducible(&poly_ring, create_mod_f_ring(&f), degree) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field_new.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 96 ~ match filter_irreducible(&poly_ring, create_mod_f_ring(&f), degree) { Some(result) => { [INFO] [stdout] 97 | return result; [INFO] [stdout] 98 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field_new.rs:155:12 [INFO] [stdout] | [INFO] [stdout] 155 | if let Some(result) = filter_irreducible(&poly_ring, create_mod_f_ring(&f), degree) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/extension/galois_field_new.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 157 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 155 ~ match filter_irreducible(&poly_ring, create_mod_f_ring(&f), degree) { Some(result) => { [INFO] [stdout] 156 | return result; [INFO] [stdout] 157 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some(mut current) = parts.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 124 ~ match parts.pop() { Some(mut current) => { [INFO] [stdout] 125 | while let Some(new) = parts.pop() { [INFO] [stdout] ... [INFO] [stdout] 129 | return current; [INFO] [stdout] 130 ~ } _ => { [INFO] [stdout] 131 | return self.zero(); [INFO] [stdout] 132 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:125:19 [INFO] [stdout] | [INFO] [stdout] 125 | while let Some(new) = parts.pop() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:351:12 [INFO] [stdout] | [INFO] [stdout] 351 | if let Some(err) = error { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:353:9 [INFO] [stdout] | [INFO] [stdout] 353 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 351 ~ match error { Some(err) => { [INFO] [stdout] 352 | return Err(err); [INFO] [stdout] 353 ~ } _ => { [INFO] [stdout] 354 | return Ok(result); [INFO] [stdout] 355 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:593:12 [INFO] [stdout] | [INFO] [stdout] 593 | if let Some(current) = &mut self.current { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:628:9 [INFO] [stdout] | [INFO] [stdout] 628 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 593 ~ match &mut self.current { Some(current) => { [INFO] [stdout] 594 | let result = current.clone(); [INFO] [stdout] ... [INFO] [stdout] 627 | return Some(result); [INFO] [stdout] 628 ~ } _ => { [INFO] [stdout] 629 | return None; [INFO] [stdout] 630 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:915:16 [INFO] [stdout] | [INFO] [stdout] 915 | if let Some((lhs_lc, lhs_lm)) = ring.lt(¤t, order.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:927:13 [INFO] [stdout] | [INFO] [stdout] 927 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 915 ~ match ring.lt(¤t, order.clone()) { Some((lhs_lc, lhs_lm)) => { [INFO] [stdout] 916 | if rhs_lm.divides(&lhs_lm) { [INFO] [stdout] ... [INFO] [stdout] 926 | } [INFO] [stdout] 927 ~ } _ => { [INFO] [stdout] 928 | None [INFO] [stdout] 929 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:917:24 [INFO] [stdout] | [INFO] [stdout] 917 | if let Some(lc_quo) = ring.base_ring().checked_div(lhs_lc, rhs_lc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate/mod.rs:921:21 [INFO] [stdout] | [INFO] [stdout] 921 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 917 ~ match ring.base_ring().checked_div(lhs_lc, rhs_lc) { Some(lc_quo) => { [INFO] [stdout] 918 | let mon_quo = ring.clone_monomial(lhs_lm).div(rhs_lm); [INFO] [stdout] 919 | ring.get_ring().add_assign_from_terms(&mut current, ring.terms(rhs).map(|(c, mon)| (ring.base_ring().negate(ring.base_ring().mul_ref(c, &lc_quo)), ring.clone_monomial(mon).mul(&mon_quo)))); [INFO] [stdout] 920 | return Some(Ok((lc_quo, mon_quo))); [INFO] [stdout] 921 ~ } _ => { [INFO] [stdout] 922 | return Some(Err(())); [INFO] [stdout] 923 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/fieldextension.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | if let Some((factor, _)) = factorization.into_iter().filter(|(f, _)| KX.degree(f) == Some(1)).next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/fieldextension.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match factorization.into_iter().filter(|(f, _)| KX.degree(f) == Some(1)).next() { Some((factor, _)) => { [INFO] [stdout] 115 | let root = K.negate(K.div(KX.coefficient_at(&factor, 0), KX.coefficient_at(&factor, 1))); [INFO] [stdout] 116 | return Ok(ExtensionFieldEmbedding { from: self_, to: target, map_generator_to: root, base_ring_hom: base_ring_hom }); [INFO] [stdout] 117 ~ } _ => { [INFO] [stdout] 118 | return Err((self_, target)); [INFO] [stdout] 119 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/local.rs:231:12 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(quo) = self.checked_left_div(b, a) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/local.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 231 ~ match self.checked_left_div(b, a) { Some(quo) => { [INFO] [stdout] 232 | ( [INFO] [stdout] ... [INFO] [stdout] 235 | ) [INFO] [stdout] 236 ~ } _ => { [INFO] [stdout] 237 | let quo = self.checked_left_div(a, b).unwrap(); [INFO] [stdout] ... [INFO] [stdout] 241 | ) [INFO] [stdout] 242 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/local.rs:288:12 [INFO] [stdout] | [INFO] [stdout] 288 | if let Some(quo) = self.checked_left_div(&lhs, rhs) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/local.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 288 ~ match self.checked_left_div(&lhs, rhs) { Some(quo) => { [INFO] [stdout] 289 | (quo, self.zero()) [INFO] [stdout] 290 ~ } _ => { [INFO] [stdout] 291 | (self.zero(), lhs) [INFO] [stdout] 292 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate_new/mod.rs:94:16 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some(res) = self.exponent_at(&lhs, i).checked_sub(self.exponent_at(rhs, i)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate_new/mod.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match self.exponent_at(&lhs, i).checked_sub(self.exponent_at(rhs, i)) { Some(res) => { [INFO] [stdout] 95 | res [INFO] [stdout] 96 ~ } _ => { [INFO] [stdout] 97 | failed = true; [INFO] [stdout] 98 | 0 [INFO] [stdout] 99 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rings/multivariate_new/multivariate_impl.rs:234:15 [INFO] [stdout] | [INFO] [stdout] 234 | while let (Some((_, l_m)), Some((_, r_m))) = (lhs_it.peek(), rhs_it.peek()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rings/multivariate_new/multivariate_impl.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:308:16 [INFO] [stdout] | [INFO] [stdout] 308 | if let Some(next_j) = self.j.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 309 | return Some((fst.clone(), next_j)); [INFO] [stdout] 310 | } else if let Some(next_i) = self.i.next() { [INFO] [stdout] | ------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:310:13 [INFO] [stdout] | [INFO] [stdout] 310 | } else if let Some(next_i) = self.i.next() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:316:13 [INFO] [stdout] | [INFO] [stdout] 316 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 308 ~ match self.j.next() { Some(next_j) => { [INFO] [stdout] 309 | return Some((fst.clone(), next_j)); [INFO] [stdout] 310 ~ } _ => { match self.i.next() { Some(next_i) => { [INFO] [stdout] 311 | self.j = self.base_j.clone(); [INFO] [stdout] ... [INFO] [stdout] 315 | } [INFO] [stdout] 316 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:313:20 [INFO] [stdout] | [INFO] [stdout] 313 | if let Some(next_j) = self.j.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:315:17 [INFO] [stdout] | [INFO] [stdout] 315 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 313 ~ match self.j.next() { Some(next_j) => { [INFO] [stdout] 314 | return Some((next_i, next_j)); [INFO] [stdout] 315 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:391:16 [INFO] [stdout] | [INFO] [stdout] 391 | if let Some(val) = self.current_iters[i].next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:399:13 [INFO] [stdout] | [INFO] [stdout] 399 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 391 ~ match self.current_iters[i].next() { Some(val) => { [INFO] [stdout] 392 | self.current[i] = val; [INFO] [stdout] ... [INFO] [stdout] 398 | break; [INFO] [stdout] 399 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:447:12 [INFO] [stdout] | [INFO] [stdout] 447 | if let Some(v) = it.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:449:9 [INFO] [stdout] | [INFO] [stdout] 449 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 447 ~ match it.next() { Some(v) => { [INFO] [stdout] 448 | current.push(v); [INFO] [stdout] 449 ~ } _ => { [INFO] [stdout] 450 | return MultiProduct { [INFO] [stdout] ... [INFO] [stdout] 457 | }; [INFO] [stdout] 458 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:483:15 [INFO] [stdout] | [INFO] [stdout] 483 | while let Some(el) = self.base_iter.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/iters.rs:484:16 [INFO] [stdout] | [INFO] [stdout] 484 | if let Some(result) = (self.f)(el) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/iters.rs:486:13 [INFO] [stdout] | [INFO] [stdout] 486 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 484 ~ match (self.f)(el) { Some(result) => { [INFO] [stdout] 485 | return Some(result); [INFO] [stdout] 486 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/serialization.rs:60:19 [INFO] [stdout] | [INFO] [stdout] 60 | while let Some(el) = seq.next_element_seed(self.base_seed.clone())? { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/serialization.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 110 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 24.63s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking feanor-math v2.3.0 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/algorithms/linsolve/extension.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let gen = ring.canonical_gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 26 | let r#gen = ring.canonical_gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/algorithms/linsolve/extension.rs:36:52 [INFO] [stdout] | [INFO] [stdout] 36 | ring.mul_assign_ref(&mut current, &gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/algorithms/linsolve/extension.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let gen = ring.canonical_gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 26 | let r#gen = ring.canonical_gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/algorithms/linsolve/extension.rs:36:52 [INFO] [stdout] | [INFO] [stdout] 36 | ring.mul_assign_ref(&mut current, &gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/rings/extension/mod.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | let gen = ring.canonical_gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 206 | let r#gen = ring.canonical_gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/rings/extension/mod.rs:214:44 [INFO] [stdout] | [INFO] [stdout] 214 | ring.mul_assign_ref(&mut current, &gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/rings/extension/mod.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | let gen = ring.canonical_gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 206 | let r#gen = ring.canonical_gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/rings/extension/mod.rs:214:44 [INFO] [stdout] | [INFO] [stdout] 214 | ring.mul_assign_ref(&mut current, &gen); [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/rings/local.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | let gen = ring.can_hom(ring.integer_ring()).unwrap().map(p); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 88 | let r#gen = ring.can_hom(ring.integer_ring()).unwrap().map(p); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/rings/local.rs:89:68 [INFO] [stdout] | [INFO] [stdout] 89 | Some(Self::from(AsLocalPIRBase::promise_is_local_pir(ring, gen, Some(e)))) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/rings/local.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | let gen = ring.can_hom(ring.integer_ring()).unwrap().map(p); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 88 | let r#gen = ring.can_hom(ring.integer_ring()).unwrap().map(p); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found reserved keyword `gen` [INFO] [stdout] --> src/rings/local.rs:89:68 [INFO] [stdout] | [INFO] [stdout] 89 | Some(Self::from(AsLocalPIRBase::promise_is_local_pir(ring, gen, Some(e)))) [INFO] [stdout] | ^^^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `is_sorted` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | #![feature(is_sorted)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `new_uninit` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | #![feature(new_uninit)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `is_sorted` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | #![feature(is_sorted)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `new_uninit` has been stable since 1.82.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | #![feature(new_uninit)] [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/algorithms/linsolve/poly_det.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | return unimplemented!(); [INFO] [stdout] | ^^^^^^^---------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/matrix/submatrix.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | std::mem::transmute(self_) [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/matrix/submatrix.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | unsafe fn get_pointer(self_: NonNull) -> NonNull { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/algorithms/linsolve/poly_det.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | return unimplemented!(); [INFO] [stdout] | ^^^^^^^---------------- [INFO] [stdout] | | | [INFO] [stdout] | | any code following this expression is unreachable [INFO] [stdout] | unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::intrinsics::transmute` is unsafe and requires unsafe block [INFO] [stdout] --> src/matrix/submatrix.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | std::mem::transmute(self_) [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/matrix/submatrix.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | unsafe fn get_pointer(self_: NonNull) -> NonNull { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `feanor-math` (lib) due to 7 previous errors; 4 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 6 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `feanor-math` (lib test) due to 7 previous errors; 4 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" "b2c9d1605c312d746e261f6b87911b8e6c4c442d9cf720ab26766da373c4aec9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b2c9d1605c312d746e261f6b87911b8e6c4c442d9cf720ab26766da373c4aec9", kill_on_drop: false }` [INFO] [stdout] b2c9d1605c312d746e261f6b87911b8e6c4c442d9cf720ab26766da373c4aec9