[INFO] fetching crate duskphantom-middle 0.0.1... [INFO] checking duskphantom-middle-0.0.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate duskphantom-middle 0.0.1 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate duskphantom-middle 0.0.1 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate duskphantom-middle 0.0.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate duskphantom-middle 0.0.1 [INFO] tweaked toml for crates.io crate duskphantom-middle 0.0.1 written to /workspace/builds/worker-3-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] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 56 packages to latest compatible versions [INFO] [stderr] Adding encode_unicode v0.3.6 (available: v1.0.0) [INFO] [stderr] Adding llvm-sys v160.2.1 (available: v191.0.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b02a85d4743f62ef0cd09a70d34d5eacca48415dd8820276c94ca887c87dd3d9 [INFO] running `Command { std: "docker" "start" "-a" "b02a85d4743f62ef0cd09a70d34d5eacca48415dd8820276c94ca887c87dd3d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b02a85d4743f62ef0cd09a70d34d5eacca48415dd8820276c94ca887c87dd3d9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b02a85d4743f62ef0cd09a70d34d5eacca48415dd8820276c94ca887c87dd3d9", kill_on_drop: false }` [INFO] [stdout] b02a85d4743f62ef0cd09a70d34d5eacca48415dd8820276c94ca887c87dd3d9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 09d4e74d19873b215eb23dcb1ac47160409183ab9aa9123dca7cbca6d1b79549 [INFO] running `Command { std: "docker" "start" "-a" "09d4e74d19873b215eb23dcb1ac47160409183ab9aa9123dca7cbca6d1b79549", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Fixed Cargo.toml (1 fix) [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking typed-arena v2.0.2 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking winnow v0.6.20 [INFO] [stderr] Checking hexf-parse v0.2.1 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking similar v2.6.0 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Checking duskphantom-utils v0.0.1 [INFO] [stderr] Checking insta v1.40.0 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking rayon-core v1.12.1 [INFO] [stderr] Checking thiserror v1.0.64 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Checking duskphantom-frontend v0.0.1 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking duskphantom-middle v0.0.1 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `duskphantom_middle` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/ir/macros.rs [INFO] [stderr] * src/transform/loop_simplify.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/ir/macros.rs:117:19 [INFO] [stderr] | [INFO] [stderr] 117 | ($type:ident, $operand_type:expr_2021,$func: ident, $lhs:ident, $rhs: ident, $value_type: 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: elided lifetime has a name [INFO] [stderr] --> src/transform/loop_simplify.rs:38:56 [INFO] [stderr] | [INFO] [stderr] 37 | impl<'a> LoopSimplifier<'a> { [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] 38 | pub fn new(ir_builder: &'a mut IRBuilderWraper) -> LoopSimplifier { [INFO] [stderr] | ^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | irgen::gen(program).with_context(|| context!()) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | irgen::gen(&program) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/irgen/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn gen(program: &frontend::Program) -> Result { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/irgen/mod.rs:44:6 [INFO] [stdout] | [INFO] [stdout] 44 | .gen(program)?; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/irgen/program_kit.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn gen(mut self, program: &frontend::Program) -> Result<()> { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/ir/macros.rs:117:33 [INFO] [stdout] | [INFO] [stdout] 117 | ($type:ident, $operand_type:expr,$func: ident, $lhs:ident, $rhs: ident, $value_type: 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] = 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] 117 | ($type:ident, $operand_type:expr_2021,$func: ident, $lhs:ident, $rhs: ident, $value_type: ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/transform/loop_simplify.rs:38:56 [INFO] [stdout] | [INFO] [stdout] 37 | impl<'a> LoopSimplifier<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 38 | pub fn new(ir_builder: &'a mut IRBuilderWraper) -> LoopSimplifier { [INFO] [stdout] | ^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_prev` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | bb.head_inst.set_prev(head); [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/ir/basic_block.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub unsafe fn init_bb(mut bb: BBPtr, id: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_next` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | bb.head_inst.set_next(head); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_parent_bb` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | head.set_parent_bb(bb); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | self.get_manager_mut().set_operand(0, value); [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/ir/instruction/memory_op_inst.rs:266:5 [INFO] [stdout] | [INFO] [stdout] 266 | pub unsafe fn set_value(&mut self, value: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | self.get_manager_mut().set_operand(0, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | self.get_manager_mut().set_operand(1, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | self.get_manager_mut().set_operand(1, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:330:5 [INFO] [stdout] | [INFO] [stdout] 330 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | self.get_manager_mut().set_operand(i + 1, idx); [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/ir/instruction/memory_op_inst.rs:346:5 [INFO] [stdout] | [INFO] [stdout] 346 | pub unsafe fn set_index(&mut self, index: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | self.get_manager_mut().set_operand(i + 1, idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | self.manager.set_operand(0, operand); [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/ir/instruction/misc_inst.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | pub unsafe fn set_lhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | self.manager.set_operand(1, operand); [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/ir/instruction/misc_inst.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | pub unsafe fn set_rhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | self.manager.set_operand(0, operand); [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/ir/instruction/misc_inst.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | pub unsafe fn set_lhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | self.manager.set_operand(1, operand); [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/ir/instruction/misc_inst.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | pub unsafe fn set_rhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:155:14 [INFO] [stdout] | [INFO] [stdout] 155 | &mut self.get_manager_mut().user [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/ir/instruction/mod.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | unsafe fn get_user_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:196:14 [INFO] [stdout] | [INFO] [stdout] 196 | &mut self.get_manager_mut().operand [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/ir/instruction/mod.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 195 | unsafe fn get_operand_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | self.get_manager_mut().prev = Some(inst); [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/ir/instruction/mod.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | unsafe fn set_prev(&mut self, inst: InstPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | self.get_manager_mut().next = Some(inst); [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/ir/instruction/mod.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | unsafe fn set_next(&mut self, inst: InstPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_next` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | prev.set_next(next); [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/ir/instruction/mod.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | unsafe fn move_self(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_prev` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | next.set_prev(prev); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:277:23 [INFO] [stdout] | [INFO] [stdout] 277 | let manager = self.get_manager_mut(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | self.get_manager_mut().parent_bb = Some(bb); [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/ir/instruction/mod.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 388 | unsafe fn set_parent_bb(&mut self, bb: BBPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:558:34 [INFO] [stdout] | [INFO] [stdout] 558 | .map(|index| inst.get_user_mut().remove(index)); [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/ir/instruction/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | pub unsafe fn set_operand(&mut self, index: usize, new_op: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:578:17 [INFO] [stdout] | [INFO] [stdout] 578 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | pub unsafe fn set_operand(&mut self, index: usize, new_op: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:581:17 [INFO] [stdout] | [INFO] [stdout] 581 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:584:17 [INFO] [stdout] | [INFO] [stdout] 584 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:596:17 [INFO] [stdout] | [INFO] [stdout] 596 | inst.get_user_mut().retain(|x| x != &self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:593:5 [INFO] [stdout] | [INFO] [stdout] 593 | pub unsafe fn replace_operand(&mut self, from: &Operand, to: &Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:612:17 [INFO] [stdout] | [INFO] [stdout] 612 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:615:17 [INFO] [stdout] | [INFO] [stdout] 615 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:618:17 [INFO] [stdout] | [INFO] [stdout] 618 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:635:17 [INFO] [stdout] | [INFO] [stdout] 635 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:632:5 [INFO] [stdout] | [INFO] [stdout] 632 | pub unsafe fn add_operand(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:638:17 [INFO] [stdout] | [INFO] [stdout] 638 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:641:17 [INFO] [stdout] | [INFO] [stdout] 641 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:665:39 [INFO] [stdout] | [INFO] [stdout] 665 | .map(|index| Some(inst.get_user_mut().remove(index))); [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/ir/instruction/mod.rs:651:5 [INFO] [stdout] | [INFO] [stdout] 651 | pub unsafe fn remove_operand(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:164:24 [INFO] [stdout] | [INFO] [stdout] 164 | if let Operand::Constant(_) = inst.get_operand()[1] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:166:21 [INFO] [stdout] | [INFO] [stdout] 166 | } [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] 164 ~ match inst.get_operand()[1] { Operand::Constant(_) => { [INFO] [stdout] 165 | return true; [INFO] [stdout] 166 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | if let Some(b_op) = b.get(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 208 ~ match b.get(key) { Some(b_op) => { [INFO] [stdout] 209 | if !can_equal(a_op.clone(), b_op.clone()) { [INFO] [stdout] 210 | return false; [INFO] [stdout] 211 | } [INFO] [stdout] 212 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:221:11 [INFO] [stdout] | [INFO] [stdout] 221 | while let Operand::Instruction(inst) = base { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:233:16 [INFO] [stdout] | [INFO] [stdout] 233 | if let Some(old_offset) = offset.get_mut(&element_type) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 233 ~ match offset.get_mut(&element_type) { Some(old_offset) => { [INFO] [stdout] 234 | // Handle only +0 or 0+ in this case, UB otherwise [INFO] [stdout] ... [INFO] [stdout] 241 | } [INFO] [stdout] 242 ~ } _ => { [INFO] [stdout] 243 | offset.insert(element_type.clone(), op.clone()); [INFO] [stdout] 244 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:245:16 [INFO] [stdout] | [INFO] [stdout] 245 | if let Some(subtype) = element_type.get_sub_type() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:247:13 [INFO] [stdout] | [INFO] [stdout] 247 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 245 ~ match element_type.get_sub_type() { Some(subtype) => { [INFO] [stdout] 246 | element_type = subtype.clone(); [INFO] [stdout] 247 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/call_graph.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | if let Some(called_by) = self.called_by.remove(&func) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/call_graph.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 ~ match self.called_by.remove(&func) { Some(called_by) => { [INFO] [stdout] 107 | for call in called_by { [INFO] [stdout] 108 | self.calls.get_mut(&call.caller).unwrap().remove(&call); [INFO] [stdout] 109 | } [INFO] [stdout] 110 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/loop_tools.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | if let std::collections::hash_map::Entry::Vacant(e) = id_map.entry(bb) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/loop_tools.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | } else if bb [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 68 ~ match id_map.entry(bb) { std::collections::hash_map::Entry::Vacant(e) => { [INFO] [stdout] 69 | // 第一次遍历该结点 [INFO] [stdout] ... [INFO] [stdout] 81 | } [INFO] [stdout] 82 ~ } _ => if bb [INFO] [stdout] 83 | .get_succ_bb() [INFO] [stdout] ... [INFO] [stdout] 133| stack.push(bb.get_succ_bb()[1]); [INFO] [stdout] 134~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:109:28 [INFO] [stdout] | [INFO] [stdout] 109 | if let Some(op) = readonly_deref(ptr, vec![Some(0)]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:111:25 [INFO] [stdout] | [INFO] [stdout] 111 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 109 ~ match readonly_deref(ptr, vec![Some(0)]) { Some(op) => { [INFO] [stdout] 110 | return Ok(Some(op)); [INFO] [stdout] 111 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:306:16 [INFO] [stdout] | [INFO] [stdout] 306 | if let Some(effect) = self.effect_analysis.inst_effect.get(&inst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:313:13 [INFO] [stdout] | [INFO] [stdout] 313 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 306 ~ match self.effect_analysis.inst_effect.get(&inst) { Some(effect) => { [INFO] [stdout] 307 | let def_range = effect.def_range.clone(); [INFO] [stdout] ... [INFO] [stdout] 312 | range_to_node.insert(def_range, new_node); [INFO] [stdout] 313 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:359:20 [INFO] [stdout] | [INFO] [stdout] 359 | if let Some(effect) = self.effect_analysis.inst_effect.get(&inst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:385:17 [INFO] [stdout] | [INFO] [stdout] 385 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 359 ~ match self.effect_analysis.inst_effect.get(&inst) { Some(effect) => { [INFO] [stdout] 360 | // Only insert phi for stores [INFO] [stdout] ... [INFO] [stdout] 384 | } [INFO] [stdout] 385 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:369:27 [INFO] [stdout] | [INFO] [stdout] 369 | while let Some((position, range)) = positions.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/analysis/memory_ssa.rs:384:21 [INFO] [stdout] | [INFO] [stdout] 384 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:737:32 [INFO] [stdout] | [INFO] [stdout] 737 | ... if let Operand::Constant(Constant::Int(i)) = op { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:739:29 [INFO] [stdout] | [INFO] [stdout] 739 | ... } 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] 737 ~ match op { Operand::Constant(Constant::Int(i)) => { [INFO] [stdout] 738 | Some(i) [INFO] [stdout] 739 ~ } _ => { [INFO] [stdout] 740 | None [INFO] [stdout] 741 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if let Ok(file) = std::fs::File::open("config.yaml") { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | } 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] 27 ~ match std::fs::File::open("config.yaml") { Ok(file) => { [INFO] [stdout] 28 | let reader = std::io::BufReader::new(file); [INFO] [stdout] 29 | serde_yaml::from_reader(reader).unwrap() [INFO] [stdout] 30 ~ } _ => { [INFO] [stdout] 31 | use std::env; [INFO] [stdout] ... [INFO] [stdout] 37 | } [INFO] [stdout] 38 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:132:16 [INFO] [stdout] | [INFO] [stdout] 132 | if let Some(sub_type) = return_type.get_sub_type() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | } 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] 132 ~ match return_type.get_sub_type() { Some(sub_type) => { [INFO] [stdout] 133 | return_type = sub_type.clone(); [INFO] [stdout] 134 ~ } _ => { [INFO] [stdout] 135 | panic!("Invalid index for getelementptr instruction"); [INFO] [stdout] 136 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/irgen/gen_impl.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | if let ValueType::Void = fty { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/irgen/gen_impl.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | } 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] 44 ~ match fty { ValueType::Void => { [INFO] [stdout] 45 | let ret_inst = self.program.mem_pool.get_ret(None); [INFO] [stdout] 46 | exit.push_back(ret_inst); [INFO] [stdout] 47 ~ } _ => { [INFO] [stdout] 48 | let ret_alloc = self.program.mem_pool.get_alloca(fty.clone(), 1); [INFO] [stdout] ... [INFO] [stdout] 57 | ret_value = Some(Value::ReadWrite(ret_alloc.into())); [INFO] [stdout] 58 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:75:20 [INFO] [stdout] | [INFO] [stdout] 75 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | } [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 (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 76 | let result = lhs + rhs; [INFO] [stdout] 77 | inst.replace_self(&result.into()); [INFO] [stdout] 78 | return Ok(true); [INFO] [stdout] 79 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:84:20 [INFO] [stdout] | [INFO] [stdout] 84 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 84 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 85 | let result = lhs - rhs; [INFO] [stdout] 86 | inst.replace_self(&result.into()); [INFO] [stdout] 87 | return Ok(true); [INFO] [stdout] 88 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:93:20 [INFO] [stdout] | [INFO] [stdout] 93 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 93 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 94 | let result = lhs * rhs; [INFO] [stdout] 95 | inst.replace_self(&result.into()); [INFO] [stdout] 96 | return Ok(true); [INFO] [stdout] 97 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:102:20 [INFO] [stdout] | [INFO] [stdout] 102 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 102 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 103 | let lhs: u32 = lhs.into(); [INFO] [stdout] ... [INFO] [stdout] 107 | return Ok(true); [INFO] [stdout] 108 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 113 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 114 | let result = lhs / rhs; [INFO] [stdout] 115 | inst.replace_self(&result.into()); [INFO] [stdout] 116 | return Ok(true); [INFO] [stdout] 117 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:122:20 [INFO] [stdout] | [INFO] [stdout] 122 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 122 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 123 | let result = lhs % rhs; [INFO] [stdout] 124 | inst.replace_self(&result.into()); [INFO] [stdout] 125 | return Ok(true); [INFO] [stdout] 126 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:131:20 [INFO] [stdout] | [INFO] [stdout] 131 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 131 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 132 | let result = lhs << rhs; [INFO] [stdout] 133 | inst.replace_self(&result.into()); [INFO] [stdout] 134 | return Ok(true); [INFO] [stdout] 135 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:140:20 [INFO] [stdout] | [INFO] [stdout] 140 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 140 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 141 | let result = lhs >> rhs; [INFO] [stdout] 142 | inst.replace_self(&result.into()); [INFO] [stdout] 143 | return Ok(true); [INFO] [stdout] 144 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:149:20 [INFO] [stdout] | [INFO] [stdout] 149 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 149 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 150 | let result = lhs & rhs; [INFO] [stdout] 151 | inst.replace_self(&result.into()); [INFO] [stdout] 152 | return Ok(true); [INFO] [stdout] 153 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:158:20 [INFO] [stdout] | [INFO] [stdout] 158 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 158 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 159 | let result = lhs | rhs; [INFO] [stdout] 160 | inst.replace_self(&result.into()); [INFO] [stdout] 161 | return Ok(true); [INFO] [stdout] 162 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:167:20 [INFO] [stdout] | [INFO] [stdout] 167 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 167 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 168 | let result = lhs ^ rhs; [INFO] [stdout] 169 | inst.replace_self(&result.into()); [INFO] [stdout] 170 | return Ok(true); [INFO] [stdout] 171 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | if let Operand::Constant(src) = src { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 175 ~ match src { Operand::Constant(src) => { [INFO] [stdout] 176 | let result = src.cast(&inst.get_value_type()); [INFO] [stdout] 177 | inst.replace_self(&result.into()); [INFO] [stdout] 178 | return Ok(true); [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:183:20 [INFO] [stdout] | [INFO] [stdout] 183 | if let Operand::Constant(Constant::Bool(b)) = src { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match src { Operand::Constant(Constant::Bool(b)) => { [INFO] [stdout] 184 | let result = if b { -1 } else { 0 }; [INFO] [stdout] 185 | inst.replace_self(&Operand::Constant(result.into())); [INFO] [stdout] 186 | return Ok(true); [INFO] [stdout] 187 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:193:20 [INFO] [stdout] | [INFO] [stdout] 193 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:224:17 [INFO] [stdout] | [INFO] [stdout] 224 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 193 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 194 | let result = match cmp_inst.op { [INFO] [stdout] ... [INFO] [stdout] 223 | return Ok(true); [INFO] [stdout] 224 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:230:20 [INFO] [stdout] | [INFO] [stdout] 230 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 230 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 231 | let result = match cmp_inst.op { [INFO] [stdout] ... [INFO] [stdout] 273 | return Ok(true); [INFO] [stdout] 274 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/dead_code_elim.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 86 | if let Operand::Instruction(inst) = op { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/dead_code_elim.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 86 ~ match op { Operand::Instruction(inst) => { [INFO] [stdout] 87 | self.dead_code_elim_inst(inst)?; [INFO] [stdout] 88 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:129:16 [INFO] [stdout] | [INFO] [stdout] 129 | if let Operand::Instruction(lhs) = 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/transform/inst_combine.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 129 ~ match lhs { Operand::Instruction(lhs) => { [INFO] [stdout] 130 | if lhs.get_type() == InstType::GetElementPtr [INFO] [stdout] ... [INFO] [stdout] 145 | } [INFO] [stdout] 146 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:159:20 [INFO] [stdout] | [INFO] [stdout] 159 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 159 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 160 | let result = lhs + rhs; [INFO] [stdout] 161 | inst.replace_self(&result.into()); [INFO] [stdout] 162 | return Ok(true); [INFO] [stdout] 163 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:168:20 [INFO] [stdout] | [INFO] [stdout] 168 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:172:17 [INFO] [stdout] | [INFO] [stdout] 172 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 168 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 169 | let result = lhs - rhs; [INFO] [stdout] 170 | inst.replace_self(&result.into()); [INFO] [stdout] 171 | return Ok(true); [INFO] [stdout] 172 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:177:20 [INFO] [stdout] | [INFO] [stdout] 177 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:181:17 [INFO] [stdout] | [INFO] [stdout] 181 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 177 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 178 | let result = lhs * rhs; [INFO] [stdout] 179 | inst.replace_self(&result.into()); [INFO] [stdout] 180 | return Ok(true); [INFO] [stdout] 181 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:186:20 [INFO] [stdout] | [INFO] [stdout] 186 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:192:17 [INFO] [stdout] | [INFO] [stdout] 192 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 186 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 187 | let lhs: u32 = lhs.into(); [INFO] [stdout] ... [INFO] [stdout] 191 | return Ok(true); [INFO] [stdout] 192 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:197:20 [INFO] [stdout] | [INFO] [stdout] 197 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 197 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 198 | let result = lhs / rhs; [INFO] [stdout] 199 | inst.replace_self(&result.into()); [INFO] [stdout] 200 | return Ok(true); [INFO] [stdout] 201 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:206:20 [INFO] [stdout] | [INFO] [stdout] 206 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 206 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 207 | let result = lhs % rhs; [INFO] [stdout] 208 | inst.replace_self(&result.into()); [INFO] [stdout] 209 | return Ok(true); [INFO] [stdout] 210 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:215:20 [INFO] [stdout] | [INFO] [stdout] 215 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:219:17 [INFO] [stdout] | [INFO] [stdout] 219 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 215 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 216 | let result = lhs << rhs; [INFO] [stdout] 217 | inst.replace_self(&result.into()); [INFO] [stdout] 218 | return Ok(true); [INFO] [stdout] 219 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:224:20 [INFO] [stdout] | [INFO] [stdout] 224 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:228:17 [INFO] [stdout] | [INFO] [stdout] 228 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 224 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 225 | let result = lhs >> rhs; [INFO] [stdout] 226 | inst.replace_self(&result.into()); [INFO] [stdout] 227 | return Ok(true); [INFO] [stdout] 228 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:233:20 [INFO] [stdout] | [INFO] [stdout] 233 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:237:17 [INFO] [stdout] | [INFO] [stdout] 237 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 233 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 234 | let result = lhs & rhs; [INFO] [stdout] 235 | inst.replace_self(&result.into()); [INFO] [stdout] 236 | return Ok(true); [INFO] [stdout] 237 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:242:20 [INFO] [stdout] | [INFO] [stdout] 242 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 246 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 242 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 243 | let result = lhs | rhs; [INFO] [stdout] 244 | inst.replace_self(&result.into()); [INFO] [stdout] 245 | return Ok(true); [INFO] [stdout] 246 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:251:20 [INFO] [stdout] | [INFO] [stdout] 251 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:255:17 [INFO] [stdout] | [INFO] [stdout] 255 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 252 | let result = lhs ^ rhs; [INFO] [stdout] 253 | inst.replace_self(&result.into()); [INFO] [stdout] 254 | return Ok(true); [INFO] [stdout] 255 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:259:20 [INFO] [stdout] | [INFO] [stdout] 259 | if let Operand::Constant(src) = src { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:263:17 [INFO] [stdout] | [INFO] [stdout] 263 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 259 ~ match src { Operand::Constant(src) => { [INFO] [stdout] 260 | let result = src.cast(&inst.get_value_type()); [INFO] [stdout] 261 | inst.replace_self(&result.into()); [INFO] [stdout] 262 | return Ok(true); [INFO] [stdout] 263 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:267:20 [INFO] [stdout] | [INFO] [stdout] 267 | if let Operand::Constant(Constant::Bool(b)) = src { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:271:17 [INFO] [stdout] | [INFO] [stdout] 271 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 267 ~ match src { Operand::Constant(Constant::Bool(b)) => { [INFO] [stdout] 268 | let result = if b { -1 } else { 0 }; [INFO] [stdout] 269 | inst.replace_self(&Operand::Constant(result.into())); [INFO] [stdout] 270 | return Ok(true); [INFO] [stdout] 271 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:277:20 [INFO] [stdout] | [INFO] [stdout] 277 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:308:17 [INFO] [stdout] | [INFO] [stdout] 308 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 277 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 278 | let result = match cmp_inst.op { [INFO] [stdout] ... [INFO] [stdout] 307 | return Ok(true); [INFO] [stdout] 308 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:314:20 [INFO] [stdout] | [INFO] [stdout] 314 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:358:17 [INFO] [stdout] | [INFO] [stdout] 358 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 314 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 315 | let result = match cmp_inst.op { [INFO] [stdout] ... [INFO] [stdout] 357 | return Ok(true); [INFO] [stdout] 358 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:376:16 [INFO] [stdout] | [INFO] [stdout] 376 | if let Operand::Constant(Constant::Bool(cond)) = cond { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:389:13 [INFO] [stdout] | [INFO] [stdout] 389 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 376 ~ match cond { Operand::Constant(Constant::Bool(cond)) => { [INFO] [stdout] 377 | // Rewire basic block and prune unreachable blocks [INFO] [stdout] ... [INFO] [stdout] 388 | return Ok(true); [INFO] [stdout] 389 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:397:20 [INFO] [stdout] | [INFO] [stdout] 397 | if let Operand::Constant(constant) = 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/transform/inst_combine.rs:402:17 [INFO] [stdout] | [INFO] [stdout] 402 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 397 ~ match rhs { Operand::Constant(constant) => { [INFO] [stdout] 398 | if constant == Constant::Int(0) { [INFO] [stdout] ... [INFO] [stdout] 401 | } [INFO] [stdout] 402 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:407:20 [INFO] [stdout] | [INFO] [stdout] 407 | if let Operand::Constant(constant) = 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/transform/inst_combine.rs:412:17 [INFO] [stdout] | [INFO] [stdout] 412 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 407 ~ match rhs { Operand::Constant(constant) => { [INFO] [stdout] 408 | if constant == Constant::Float(0.0) { [INFO] [stdout] ... [INFO] [stdout] 411 | } [INFO] [stdout] 412 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:421:20 [INFO] [stdout] | [INFO] [stdout] 421 | if let Operand::Constant(Constant::Int(0)) = 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/transform/inst_combine.rs:424:17 [INFO] [stdout] | [INFO] [stdout] 424 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 421 ~ match rhs { Operand::Constant(Constant::Int(0)) => { [INFO] [stdout] 422 | inst.replace_self(&rhs); [INFO] [stdout] 423 | return Ok(true); [INFO] [stdout] 424 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:433:20 [INFO] [stdout] | [INFO] [stdout] 433 | if let Operand::Constant(Constant::Int(0)) = 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/transform/inst_combine.rs:436:17 [INFO] [stdout] | [INFO] [stdout] 436 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 433 ~ match lhs { Operand::Constant(Constant::Int(0)) => { [INFO] [stdout] 434 | inst.replace_self(&lhs); [INFO] [stdout] 435 | return Ok(true); [INFO] [stdout] 436 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:445:20 [INFO] [stdout] | [INFO] [stdout] 445 | if let Operand::Constant(Constant::Float(0.0)) = 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/transform/inst_combine.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 448 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 445 ~ match rhs { Operand::Constant(Constant::Float(0.0)) => { [INFO] [stdout] 446 | inst.replace_self(&rhs); [INFO] [stdout] 447 | return Ok(true); [INFO] [stdout] 448 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:457:20 [INFO] [stdout] | [INFO] [stdout] 457 | if let Operand::Constant(Constant::Float(0.0)) = 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/transform/inst_combine.rs:460:17 [INFO] [stdout] | [INFO] [stdout] 460 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 457 ~ match lhs { Operand::Constant(Constant::Float(0.0)) => { [INFO] [stdout] 458 | inst.replace_self(&lhs); [INFO] [stdout] 459 | return Ok(true); [INFO] [stdout] 460 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:471:20 [INFO] [stdout] | [INFO] [stdout] 471 | if let Operand::Constant(lhs) = 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/transform/inst_combine.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 476 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 471 ~ match lhs { Operand::Constant(lhs) => { [INFO] [stdout] 472 | if lhs == Constant::Int(0) { [INFO] [stdout] ... [INFO] [stdout] 475 | } [INFO] [stdout] 476 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:543:20 [INFO] [stdout] | [INFO] [stdout] 543 | if let Operand::Instruction(lhs) = 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/transform/inst_combine.rs:566:17 [INFO] [stdout] | [INFO] [stdout] 566 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 543 ~ match lhs { Operand::Instruction(lhs) => { [INFO] [stdout] 544 | if lhs.get_type() == InstType::Mul { [INFO] [stdout] ... [INFO] [stdout] 565 | } [INFO] [stdout] 566 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:549:32 [INFO] [stdout] | [INFO] [stdout] 549 | ... if let Operand::Constant(Constant::Int(lhs_rhs)) = 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/transform/inst_combine.rs:563:29 [INFO] [stdout] | [INFO] [stdout] 563 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 549 ~ match lhs_rhs { Operand::Constant(Constant::Int(lhs_rhs)) => { [INFO] [stdout] 550 | let new_rhs = if inst_type == InstType::Add { [INFO] [stdout] ... [INFO] [stdout] 562 | return Ok(true); [INFO] [stdout] 563 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:578:20 [INFO] [stdout] | [INFO] [stdout] 578 | if let Operand::Constant(rhs) = 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/transform/inst_combine.rs:597:17 [INFO] [stdout] | [INFO] [stdout] 597 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 578 ~ match rhs { Operand::Constant(rhs) => { [INFO] [stdout] 579 | if let Operand::Instruction(lhs) = lhs { [INFO] [stdout] ... [INFO] [stdout] 596 | } [INFO] [stdout] 597 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:579:24 [INFO] [stdout] | [INFO] [stdout] 579 | if let Operand::Instruction(lhs) = 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/transform/inst_combine.rs:596:21 [INFO] [stdout] | [INFO] [stdout] 596 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 579 ~ match lhs { Operand::Instruction(lhs) => { [INFO] [stdout] 580 | let lhs_type = lhs.get_type(); [INFO] [stdout] ... [INFO] [stdout] 595 | } [INFO] [stdout] 596 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:586:32 [INFO] [stdout] | [INFO] [stdout] 586 | ... if let Operand::Constant(lhs_rhs) = 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/transform/inst_combine.rs:594:29 [INFO] [stdout] | [INFO] [stdout] 594 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 586 ~ match lhs_rhs { Operand::Constant(lhs_rhs) => { [INFO] [stdout] 587 | let new_rhs = lhs_rhs.apply(lhs_type) + rhs.apply(inst_type); [INFO] [stdout] ... [INFO] [stdout] 593 | return Ok(true); [INFO] [stdout] 594 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:604:20 [INFO] [stdout] | [INFO] [stdout] 604 | if let Operand::Constant(rhs) = 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/transform/inst_combine.rs:622:17 [INFO] [stdout] | [INFO] [stdout] 622 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 604 ~ match rhs { Operand::Constant(rhs) => { [INFO] [stdout] 605 | if let Operand::Instruction(lhs) = lhs { [INFO] [stdout] ... [INFO] [stdout] 621 | } [INFO] [stdout] 622 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:605:24 [INFO] [stdout] | [INFO] [stdout] 605 | if let Operand::Instruction(lhs) = 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/transform/inst_combine.rs:621:21 [INFO] [stdout] | [INFO] [stdout] 621 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 605 ~ match lhs { Operand::Instruction(lhs) => { [INFO] [stdout] 606 | if lhs.get_type() == InstType::Mul { [INFO] [stdout] ... [INFO] [stdout] 620 | } [INFO] [stdout] 621 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:611:32 [INFO] [stdout] | [INFO] [stdout] 611 | ... if let Operand::Constant(lhs_rhs) = 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/transform/inst_combine.rs:619:29 [INFO] [stdout] | [INFO] [stdout] 619 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 611 ~ match lhs_rhs { Operand::Constant(lhs_rhs) => { [INFO] [stdout] 612 | let new_rhs = lhs_rhs * rhs; [INFO] [stdout] ... [INFO] [stdout] 618 | return Ok(true); [INFO] [stdout] 619 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:629:20 [INFO] [stdout] | [INFO] [stdout] 629 | if let Operand::Constant(Constant::Int(rhs)) = 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/transform/inst_combine.rs:657:17 [INFO] [stdout] | [INFO] [stdout] 657 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 629 ~ match rhs { Operand::Constant(Constant::Int(rhs)) => { [INFO] [stdout] 630 | if let Operand::Instruction(lhs) = lhs { [INFO] [stdout] ... [INFO] [stdout] 656 | } [INFO] [stdout] 657 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:630:24 [INFO] [stdout] | [INFO] [stdout] 630 | if let Operand::Instruction(lhs) = 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/transform/inst_combine.rs:656:21 [INFO] [stdout] | [INFO] [stdout] 656 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 630 ~ match lhs { Operand::Instruction(lhs) => { [INFO] [stdout] 631 | if lhs.get_type() == InstType::SDiv { [INFO] [stdout] ... [INFO] [stdout] 655 | } [INFO] [stdout] 656 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:636:32 [INFO] [stdout] | [INFO] [stdout] 636 | ... if let Operand::Constant(Constant::Int(lhs_rhs)) = 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/transform/inst_combine.rs:654:29 [INFO] [stdout] | [INFO] [stdout] 654 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 636 ~ match lhs_rhs { Operand::Constant(Constant::Int(lhs_rhs)) => { [INFO] [stdout] 637 | let (new_rhs, overflow) = lhs_rhs.overflowing_mul(rhs); [INFO] [stdout] ... [INFO] [stdout] 653 | return Ok(true); [INFO] [stdout] 654 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:671:16 [INFO] [stdout] | [INFO] [stdout] 671 | if let Operand::Instruction(ptr) = ptr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:708:13 [INFO] [stdout] | [INFO] [stdout] 708 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 671 ~ match ptr { Operand::Instruction(ptr) => { [INFO] [stdout] 672 | if ptr.get_type() == InstType::GetElementPtr { [INFO] [stdout] ... [INFO] [stdout] 707 | } [INFO] [stdout] 708 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/make_parallel.rs:155:16 [INFO] [stdout] | [INFO] [stdout] 155 | if let Some(inst_effect) = &self.effect_analysis.inst_effect.get(&inst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/make_parallel.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | } [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 &self.effect_analysis.inst_effect.get(&inst) { Some(inst_effect) => { [INFO] [stdout] 156 | if !merge_effect(&mut effect, inst_effect, indvar)? { [INFO] [stdout] 157 | return Ok(None); [INFO] [stdout] 158 | } [INFO] [stdout] 159 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/make_parallel.rs:426:16 [INFO] [stdout] | [INFO] [stdout] 426 | if let Operand::Instruction(ptr) = ptr.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/transform/make_parallel.rs:430:13 [INFO] [stdout] | [INFO] [stdout] 430 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 426 ~ match ptr.clone() { Operand::Instruction(ptr) => { [INFO] [stdout] 427 | if ptr.get_type() == InstType::Alloca { [INFO] [stdout] 428 | inst.set_operand(0, map[&ptr].into()); [INFO] [stdout] 429 | } [INFO] [stdout] 430 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/make_parallel.rs:438:16 [INFO] [stdout] | [INFO] [stdout] 438 | if let Operand::Instruction(ptr) = ptr.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/transform/make_parallel.rs:442:13 [INFO] [stdout] | [INFO] [stdout] 442 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 438 ~ match ptr.clone() { Operand::Instruction(ptr) => { [INFO] [stdout] 439 | if ptr.get_type() == InstType::Alloca { [INFO] [stdout] 440 | inst.set_operand(0, map[&ptr].into()); [INFO] [stdout] 441 | } [INFO] [stdout] 442 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/make_parallel.rs:446:16 [INFO] [stdout] | [INFO] [stdout] 446 | if let Operand::Instruction(ptr) = base.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/transform/make_parallel.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 446 ~ match base.clone() { Operand::Instruction(ptr) => { [INFO] [stdout] 447 | if ptr.get_type() == InstType::Alloca { [INFO] [stdout] 448 | inst.set_operand(1, map[&ptr].into()); [INFO] [stdout] 449 | } [INFO] [stdout] 450 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/store_elim.rs:121:16 [INFO] [stdout] | [INFO] [stdout] 121 | if let Operand::Instruction(inst) = op { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/store_elim.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 121 ~ match op { Operand::Instruction(inst) => { [INFO] [stdout] 122 | self.process_inst(inst)?; [INFO] [stdout] 123 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 120 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Migrating tests/irgen.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `duskphantom_middle` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/ir/macros.rs [INFO] [stderr] * src/transform/loop_simplify.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/ir/macros.rs:117:19 [INFO] [stderr] | [INFO] [stderr] 117 | ($type:ident, $operand_type:expr_2021,$func: ident, $lhs:ident, $rhs: ident, $value_type: 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: elided lifetime has a name [INFO] [stderr] --> src/transform/loop_simplify.rs:38:56 [INFO] [stderr] | [INFO] [stderr] 37 | impl<'a> LoopSimplifier<'a> { [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] 38 | pub fn new(ir_builder: &'a mut IRBuilderWraper) -> LoopSimplifier { [INFO] [stderr] | ^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | irgen::gen(program).with_context(|| context!()) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/lib.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | irgen::gen(&program) [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/irgen/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn gen(program: &frontend::Program) -> Result { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/irgen/mod.rs:44:6 [INFO] [stdout] | [INFO] [stdout] 44 | .gen(program)?; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/irgen/program_kit.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn gen(mut self, program: &frontend::Program) -> Result<()> { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/ir/macros.rs:117:33 [INFO] [stdout] | [INFO] [stdout] 117 | ($type:ident, $operand_type:expr,$func: ident, $lhs:ident, $rhs: ident, $value_type: 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] = 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] 117 | ($type:ident, $operand_type:expr_2021,$func: ident, $lhs:ident, $rhs: ident, $value_type: ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/transform/loop_simplify.rs:38:56 [INFO] [stdout] | [INFO] [stdout] 37 | impl<'a> LoopSimplifier<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 38 | pub fn new(ir_builder: &'a mut IRBuilderWraper) -> LoopSimplifier { [INFO] [stdout] | ^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_prev` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | bb.head_inst.set_prev(head); [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/ir/basic_block.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub unsafe fn init_bb(mut bb: BBPtr, id: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_next` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | bb.head_inst.set_next(head); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_parent_bb` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | head.set_parent_bb(bb); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | self.get_manager_mut().set_operand(0, value); [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/ir/instruction/memory_op_inst.rs:266:5 [INFO] [stdout] | [INFO] [stdout] 266 | pub unsafe fn set_value(&mut self, value: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | self.get_manager_mut().set_operand(0, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | self.get_manager_mut().set_operand(1, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | self.get_manager_mut().set_operand(1, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:330:5 [INFO] [stdout] | [INFO] [stdout] 330 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | self.get_manager_mut().set_operand(i + 1, idx); [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/ir/instruction/memory_op_inst.rs:346:5 [INFO] [stdout] | [INFO] [stdout] 346 | pub unsafe fn set_index(&mut self, index: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | self.get_manager_mut().set_operand(i + 1, idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | self.manager.set_operand(0, operand); [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/ir/instruction/misc_inst.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | pub unsafe fn set_lhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | self.manager.set_operand(1, operand); [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/ir/instruction/misc_inst.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | pub unsafe fn set_rhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | self.manager.set_operand(0, operand); [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/ir/instruction/misc_inst.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | pub unsafe fn set_lhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | self.manager.set_operand(1, operand); [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/ir/instruction/misc_inst.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | pub unsafe fn set_rhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:155:14 [INFO] [stdout] | [INFO] [stdout] 155 | &mut self.get_manager_mut().user [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/ir/instruction/mod.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | unsafe fn get_user_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:196:14 [INFO] [stdout] | [INFO] [stdout] 196 | &mut self.get_manager_mut().operand [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/ir/instruction/mod.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 195 | unsafe fn get_operand_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | self.get_manager_mut().prev = Some(inst); [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/ir/instruction/mod.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | unsafe fn set_prev(&mut self, inst: InstPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | self.get_manager_mut().next = Some(inst); [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/ir/instruction/mod.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | unsafe fn set_next(&mut self, inst: InstPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_next` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | prev.set_next(next); [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/ir/instruction/mod.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | unsafe fn move_self(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_prev` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | next.set_prev(prev); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:277:23 [INFO] [stdout] | [INFO] [stdout] 277 | let manager = self.get_manager_mut(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | self.get_manager_mut().parent_bb = Some(bb); [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/ir/instruction/mod.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 388 | unsafe fn set_parent_bb(&mut self, bb: BBPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:558:34 [INFO] [stdout] | [INFO] [stdout] 558 | .map(|index| inst.get_user_mut().remove(index)); [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/ir/instruction/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | pub unsafe fn set_operand(&mut self, index: usize, new_op: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:578:17 [INFO] [stdout] | [INFO] [stdout] 578 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | pub unsafe fn set_operand(&mut self, index: usize, new_op: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:581:17 [INFO] [stdout] | [INFO] [stdout] 581 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:584:17 [INFO] [stdout] | [INFO] [stdout] 584 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:596:17 [INFO] [stdout] | [INFO] [stdout] 596 | inst.get_user_mut().retain(|x| x != &self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:593:5 [INFO] [stdout] | [INFO] [stdout] 593 | pub unsafe fn replace_operand(&mut self, from: &Operand, to: &Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:612:17 [INFO] [stdout] | [INFO] [stdout] 612 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:615:17 [INFO] [stdout] | [INFO] [stdout] 615 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:618:17 [INFO] [stdout] | [INFO] [stdout] 618 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:635:17 [INFO] [stdout] | [INFO] [stdout] 635 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:632:5 [INFO] [stdout] | [INFO] [stdout] 632 | pub unsafe fn add_operand(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:638:17 [INFO] [stdout] | [INFO] [stdout] 638 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:641:17 [INFO] [stdout] | [INFO] [stdout] 641 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:665:39 [INFO] [stdout] | [INFO] [stdout] 665 | .map(|index| Some(inst.get_user_mut().remove(index))); [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/ir/instruction/mod.rs:651:5 [INFO] [stdout] | [INFO] [stdout] 651 | pub unsafe fn remove_operand(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:164:24 [INFO] [stdout] | [INFO] [stdout] 164 | if let Operand::Constant(_) = inst.get_operand()[1] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:166:21 [INFO] [stdout] | [INFO] [stdout] 166 | } [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] 164 ~ match inst.get_operand()[1] { Operand::Constant(_) => { [INFO] [stdout] 165 | return true; [INFO] [stdout] 166 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 208 | if let Some(b_op) = b.get(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:212:9 [INFO] [stdout] | [INFO] [stdout] 212 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 208 ~ match b.get(key) { Some(b_op) => { [INFO] [stdout] 209 | if !can_equal(a_op.clone(), b_op.clone()) { [INFO] [stdout] 210 | return false; [INFO] [stdout] 211 | } [INFO] [stdout] 212 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:221:11 [INFO] [stdout] | [INFO] [stdout] 221 | while let Operand::Instruction(inst) = base { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:233:16 [INFO] [stdout] | [INFO] [stdout] 233 | if let Some(old_offset) = offset.get_mut(&element_type) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:242:13 [INFO] [stdout] | [INFO] [stdout] 242 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 233 ~ match offset.get_mut(&element_type) { Some(old_offset) => { [INFO] [stdout] 234 | // Handle only +0 or 0+ in this case, UB otherwise [INFO] [stdout] ... [INFO] [stdout] 241 | } [INFO] [stdout] 242 ~ } _ => { [INFO] [stdout] 243 | offset.insert(element_type.clone(), op.clone()); [INFO] [stdout] 244 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:245:16 [INFO] [stdout] | [INFO] [stdout] 245 | if let Some(subtype) = element_type.get_sub_type() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/alias_analysis.rs:247:13 [INFO] [stdout] | [INFO] [stdout] 247 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 245 ~ match element_type.get_sub_type() { Some(subtype) => { [INFO] [stdout] 246 | element_type = subtype.clone(); [INFO] [stdout] 247 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/call_graph.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | if let Some(called_by) = self.called_by.remove(&func) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/call_graph.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 ~ match self.called_by.remove(&func) { Some(called_by) => { [INFO] [stdout] 107 | for call in called_by { [INFO] [stdout] 108 | self.calls.get_mut(&call.caller).unwrap().remove(&call); [INFO] [stdout] 109 | } [INFO] [stdout] 110 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/loop_tools.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | if let std::collections::hash_map::Entry::Vacant(e) = id_map.entry(bb) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/loop_tools.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | } else if bb [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 68 ~ match id_map.entry(bb) { std::collections::hash_map::Entry::Vacant(e) => { [INFO] [stdout] 69 | // 第一次遍历该结点 [INFO] [stdout] ... [INFO] [stdout] 81 | } [INFO] [stdout] 82 ~ } _ => if bb [INFO] [stdout] 83 | .get_succ_bb() [INFO] [stdout] ... [INFO] [stdout] 133| stack.push(bb.get_succ_bb()[1]); [INFO] [stdout] 134~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:109:28 [INFO] [stdout] | [INFO] [stdout] 109 | if let Some(op) = readonly_deref(ptr, vec![Some(0)]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:111:25 [INFO] [stdout] | [INFO] [stdout] 111 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 109 ~ match readonly_deref(ptr, vec![Some(0)]) { Some(op) => { [INFO] [stdout] 110 | return Ok(Some(op)); [INFO] [stdout] 111 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:306:16 [INFO] [stdout] | [INFO] [stdout] 306 | if let Some(effect) = self.effect_analysis.inst_effect.get(&inst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:313:13 [INFO] [stdout] | [INFO] [stdout] 313 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 306 ~ match self.effect_analysis.inst_effect.get(&inst) { Some(effect) => { [INFO] [stdout] 307 | let def_range = effect.def_range.clone(); [INFO] [stdout] ... [INFO] [stdout] 312 | range_to_node.insert(def_range, new_node); [INFO] [stdout] 313 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:359:20 [INFO] [stdout] | [INFO] [stdout] 359 | if let Some(effect) = self.effect_analysis.inst_effect.get(&inst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:385:17 [INFO] [stdout] | [INFO] [stdout] 385 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 359 ~ match self.effect_analysis.inst_effect.get(&inst) { Some(effect) => { [INFO] [stdout] 360 | // Only insert phi for stores [INFO] [stdout] ... [INFO] [stdout] 384 | } [INFO] [stdout] 385 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:369:27 [INFO] [stdout] | [INFO] [stdout] 369 | while let Some((position, range)) = positions.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/analysis/memory_ssa.rs:384:21 [INFO] [stdout] | [INFO] [stdout] 384 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:737:32 [INFO] [stdout] | [INFO] [stdout] 737 | ... if let Operand::Constant(Constant::Int(i)) = op { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/analysis/memory_ssa.rs:739:29 [INFO] [stdout] | [INFO] [stdout] 739 | ... } 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] 737 ~ match op { Operand::Constant(Constant::Int(i)) => { [INFO] [stdout] 738 | Some(i) [INFO] [stdout] 739 ~ } _ => { [INFO] [stdout] 740 | None [INFO] [stdout] 741 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if let Ok(file) = std::fs::File::open("config.yaml") { [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | } 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] 27 ~ match std::fs::File::open("config.yaml") { Ok(file) => { [INFO] [stdout] 28 | let reader = std::io::BufReader::new(file); [INFO] [stdout] 29 | serde_yaml::from_reader(reader).unwrap() [INFO] [stdout] 30 ~ } _ => { [INFO] [stdout] 31 | use std::env; [INFO] [stdout] ... [INFO] [stdout] 37 | } [INFO] [stdout] 38 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:132:16 [INFO] [stdout] | [INFO] [stdout] 132 | if let Some(sub_type) = return_type.get_sub_type() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | } 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] 132 ~ match return_type.get_sub_type() { Some(sub_type) => { [INFO] [stdout] 133 | return_type = sub_type.clone(); [INFO] [stdout] 134 ~ } _ => { [INFO] [stdout] 135 | panic!("Invalid index for getelementptr instruction"); [INFO] [stdout] 136 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/irgen/gen_impl.rs:44:20 [INFO] [stdout] | [INFO] [stdout] 44 | if let ValueType::Void = fty { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/irgen/gen_impl.rs:47:17 [INFO] [stdout] | [INFO] [stdout] 47 | } 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] 44 ~ match fty { ValueType::Void => { [INFO] [stdout] 45 | let ret_inst = self.program.mem_pool.get_ret(None); [INFO] [stdout] 46 | exit.push_back(ret_inst); [INFO] [stdout] 47 ~ } _ => { [INFO] [stdout] 48 | let ret_alloc = self.program.mem_pool.get_alloca(fty.clone(), 1); [INFO] [stdout] ... [INFO] [stdout] 57 | ret_value = Some(Value::ReadWrite(ret_alloc.into())); [INFO] [stdout] 58 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:75:20 [INFO] [stdout] | [INFO] [stdout] 75 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:79:17 [INFO] [stdout] | [INFO] [stdout] 79 | } [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 (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 76 | let result = lhs + rhs; [INFO] [stdout] 77 | inst.replace_self(&result.into()); [INFO] [stdout] 78 | return Ok(true); [INFO] [stdout] 79 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:84:20 [INFO] [stdout] | [INFO] [stdout] 84 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 84 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 85 | let result = lhs - rhs; [INFO] [stdout] 86 | inst.replace_self(&result.into()); [INFO] [stdout] 87 | return Ok(true); [INFO] [stdout] 88 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:93:20 [INFO] [stdout] | [INFO] [stdout] 93 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:97:17 [INFO] [stdout] | [INFO] [stdout] 97 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 93 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 94 | let result = lhs * rhs; [INFO] [stdout] 95 | inst.replace_self(&result.into()); [INFO] [stdout] 96 | return Ok(true); [INFO] [stdout] 97 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:102:20 [INFO] [stdout] | [INFO] [stdout] 102 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 102 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 103 | let lhs: u32 = lhs.into(); [INFO] [stdout] ... [INFO] [stdout] 107 | return Ok(true); [INFO] [stdout] 108 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 113 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 114 | let result = lhs / rhs; [INFO] [stdout] 115 | inst.replace_self(&result.into()); [INFO] [stdout] 116 | return Ok(true); [INFO] [stdout] 117 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:122:20 [INFO] [stdout] | [INFO] [stdout] 122 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 122 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 123 | let result = lhs % rhs; [INFO] [stdout] 124 | inst.replace_self(&result.into()); [INFO] [stdout] 125 | return Ok(true); [INFO] [stdout] 126 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:131:20 [INFO] [stdout] | [INFO] [stdout] 131 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 131 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 132 | let result = lhs << rhs; [INFO] [stdout] 133 | inst.replace_self(&result.into()); [INFO] [stdout] 134 | return Ok(true); [INFO] [stdout] 135 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:140:20 [INFO] [stdout] | [INFO] [stdout] 140 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:144:17 [INFO] [stdout] | [INFO] [stdout] 144 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 140 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 141 | let result = lhs >> rhs; [INFO] [stdout] 142 | inst.replace_self(&result.into()); [INFO] [stdout] 143 | return Ok(true); [INFO] [stdout] 144 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:149:20 [INFO] [stdout] | [INFO] [stdout] 149 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:153:17 [INFO] [stdout] | [INFO] [stdout] 153 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 149 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 150 | let result = lhs & rhs; [INFO] [stdout] 151 | inst.replace_self(&result.into()); [INFO] [stdout] 152 | return Ok(true); [INFO] [stdout] 153 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:158:20 [INFO] [stdout] | [INFO] [stdout] 158 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:162:17 [INFO] [stdout] | [INFO] [stdout] 162 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 158 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 159 | let result = lhs | rhs; [INFO] [stdout] 160 | inst.replace_self(&result.into()); [INFO] [stdout] 161 | return Ok(true); [INFO] [stdout] 162 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:167:20 [INFO] [stdout] | [INFO] [stdout] 167 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 167 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 168 | let result = lhs ^ rhs; [INFO] [stdout] 169 | inst.replace_self(&result.into()); [INFO] [stdout] 170 | return Ok(true); [INFO] [stdout] 171 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | if let Operand::Constant(src) = src { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:179:17 [INFO] [stdout] | [INFO] [stdout] 179 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 175 ~ match src { Operand::Constant(src) => { [INFO] [stdout] 176 | let result = src.cast(&inst.get_value_type()); [INFO] [stdout] 177 | inst.replace_self(&result.into()); [INFO] [stdout] 178 | return Ok(true); [INFO] [stdout] 179 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:183:20 [INFO] [stdout] | [INFO] [stdout] 183 | if let Operand::Constant(Constant::Bool(b)) = src { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match src { Operand::Constant(Constant::Bool(b)) => { [INFO] [stdout] 184 | let result = if b { -1 } else { 0 }; [INFO] [stdout] 185 | inst.replace_self(&Operand::Constant(result.into())); [INFO] [stdout] 186 | return Ok(true); [INFO] [stdout] 187 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:193:20 [INFO] [stdout] | [INFO] [stdout] 193 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:224:17 [INFO] [stdout] | [INFO] [stdout] 224 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 193 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 194 | let result = match cmp_inst.op { [INFO] [stdout] ... [INFO] [stdout] 223 | return Ok(true); [INFO] [stdout] 224 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/constant_fold.rs:230:20 [INFO] [stdout] | [INFO] [stdout] 230 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/constant_fold.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 230 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 231 | let result = match cmp_inst.op { [INFO] [stdout] ... [INFO] [stdout] 273 | return Ok(true); [INFO] [stdout] 274 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/dead_code_elim.rs:86:16 [INFO] [stdout] | [INFO] [stdout] 86 | if let Operand::Instruction(inst) = op { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/dead_code_elim.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 86 ~ match op { Operand::Instruction(inst) => { [INFO] [stdout] 87 | self.dead_code_elim_inst(inst)?; [INFO] [stdout] 88 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:129:16 [INFO] [stdout] | [INFO] [stdout] 129 | if let Operand::Instruction(lhs) = 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/transform/inst_combine.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 129 ~ match lhs { Operand::Instruction(lhs) => { [INFO] [stdout] 130 | if lhs.get_type() == InstType::GetElementPtr [INFO] [stdout] ... [INFO] [stdout] 145 | } [INFO] [stdout] 146 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:159:20 [INFO] [stdout] | [INFO] [stdout] 159 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:163:17 [INFO] [stdout] | [INFO] [stdout] 163 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 159 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 160 | let result = lhs + rhs; [INFO] [stdout] 161 | inst.replace_self(&result.into()); [INFO] [stdout] 162 | return Ok(true); [INFO] [stdout] 163 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:168:20 [INFO] [stdout] | [INFO] [stdout] 168 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:172:17 [INFO] [stdout] | [INFO] [stdout] 172 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 168 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 169 | let result = lhs - rhs; [INFO] [stdout] 170 | inst.replace_self(&result.into()); [INFO] [stdout] 171 | return Ok(true); [INFO] [stdout] 172 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:177:20 [INFO] [stdout] | [INFO] [stdout] 177 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:181:17 [INFO] [stdout] | [INFO] [stdout] 181 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 177 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 178 | let result = lhs * rhs; [INFO] [stdout] 179 | inst.replace_self(&result.into()); [INFO] [stdout] 180 | return Ok(true); [INFO] [stdout] 181 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:186:20 [INFO] [stdout] | [INFO] [stdout] 186 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:192:17 [INFO] [stdout] | [INFO] [stdout] 192 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 186 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 187 | let lhs: u32 = lhs.into(); [INFO] [stdout] ... [INFO] [stdout] 191 | return Ok(true); [INFO] [stdout] 192 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:197:20 [INFO] [stdout] | [INFO] [stdout] 197 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 197 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 198 | let result = lhs / rhs; [INFO] [stdout] 199 | inst.replace_self(&result.into()); [INFO] [stdout] 200 | return Ok(true); [INFO] [stdout] 201 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:206:20 [INFO] [stdout] | [INFO] [stdout] 206 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:210:17 [INFO] [stdout] | [INFO] [stdout] 210 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 206 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 207 | let result = lhs % rhs; [INFO] [stdout] 208 | inst.replace_self(&result.into()); [INFO] [stdout] 209 | return Ok(true); [INFO] [stdout] 210 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:215:20 [INFO] [stdout] | [INFO] [stdout] 215 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:219:17 [INFO] [stdout] | [INFO] [stdout] 219 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 215 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 216 | let result = lhs << rhs; [INFO] [stdout] 217 | inst.replace_self(&result.into()); [INFO] [stdout] 218 | return Ok(true); [INFO] [stdout] 219 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:224:20 [INFO] [stdout] | [INFO] [stdout] 224 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:228:17 [INFO] [stdout] | [INFO] [stdout] 228 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 224 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 225 | let result = lhs >> rhs; [INFO] [stdout] 226 | inst.replace_self(&result.into()); [INFO] [stdout] 227 | return Ok(true); [INFO] [stdout] 228 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:233:20 [INFO] [stdout] | [INFO] [stdout] 233 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:237:17 [INFO] [stdout] | [INFO] [stdout] 237 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 233 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 234 | let result = lhs & rhs; [INFO] [stdout] 235 | inst.replace_self(&result.into()); [INFO] [stdout] 236 | return Ok(true); [INFO] [stdout] 237 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:242:20 [INFO] [stdout] | [INFO] [stdout] 242 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:246:17 [INFO] [stdout] | [INFO] [stdout] 246 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 242 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 243 | let result = lhs | rhs; [INFO] [stdout] 244 | inst.replace_self(&result.into()); [INFO] [stdout] 245 | return Ok(true); [INFO] [stdout] 246 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:251:20 [INFO] [stdout] | [INFO] [stdout] 251 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:255:17 [INFO] [stdout] | [INFO] [stdout] 255 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 252 | let result = lhs ^ rhs; [INFO] [stdout] 253 | inst.replace_self(&result.into()); [INFO] [stdout] 254 | return Ok(true); [INFO] [stdout] 255 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:259:20 [INFO] [stdout] | [INFO] [stdout] 259 | if let Operand::Constant(src) = src { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:263:17 [INFO] [stdout] | [INFO] [stdout] 263 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 259 ~ match src { Operand::Constant(src) => { [INFO] [stdout] 260 | let result = src.cast(&inst.get_value_type()); [INFO] [stdout] 261 | inst.replace_self(&result.into()); [INFO] [stdout] 262 | return Ok(true); [INFO] [stdout] 263 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:267:20 [INFO] [stdout] | [INFO] [stdout] 267 | if let Operand::Constant(Constant::Bool(b)) = src { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:271:17 [INFO] [stdout] | [INFO] [stdout] 271 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 267 ~ match src { Operand::Constant(Constant::Bool(b)) => { [INFO] [stdout] 268 | let result = if b { -1 } else { 0 }; [INFO] [stdout] 269 | inst.replace_self(&Operand::Constant(result.into())); [INFO] [stdout] 270 | return Ok(true); [INFO] [stdout] 271 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:277:20 [INFO] [stdout] | [INFO] [stdout] 277 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:308:17 [INFO] [stdout] | [INFO] [stdout] 308 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 277 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 278 | let result = match cmp_inst.op { [INFO] [stdout] ... [INFO] [stdout] 307 | return Ok(true); [INFO] [stdout] 308 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:314:20 [INFO] [stdout] | [INFO] [stdout] 314 | if let (Operand::Constant(lhs), Operand::Constant(rhs)) = (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/transform/inst_combine.rs:358:17 [INFO] [stdout] | [INFO] [stdout] 358 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 314 ~ match (lhs, rhs) { (Operand::Constant(lhs), Operand::Constant(rhs)) => { [INFO] [stdout] 315 | let result = match cmp_inst.op { [INFO] [stdout] ... [INFO] [stdout] 357 | return Ok(true); [INFO] [stdout] 358 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:376:16 [INFO] [stdout] | [INFO] [stdout] 376 | if let Operand::Constant(Constant::Bool(cond)) = cond { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:389:13 [INFO] [stdout] | [INFO] [stdout] 389 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 376 ~ match cond { Operand::Constant(Constant::Bool(cond)) => { [INFO] [stdout] 377 | // Rewire basic block and prune unreachable blocks [INFO] [stdout] ... [INFO] [stdout] 388 | return Ok(true); [INFO] [stdout] 389 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:397:20 [INFO] [stdout] | [INFO] [stdout] 397 | if let Operand::Constant(constant) = 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/transform/inst_combine.rs:402:17 [INFO] [stdout] | [INFO] [stdout] 402 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 397 ~ match rhs { Operand::Constant(constant) => { [INFO] [stdout] 398 | if constant == Constant::Int(0) { [INFO] [stdout] ... [INFO] [stdout] 401 | } [INFO] [stdout] 402 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:407:20 [INFO] [stdout] | [INFO] [stdout] 407 | if let Operand::Constant(constant) = 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/transform/inst_combine.rs:412:17 [INFO] [stdout] | [INFO] [stdout] 412 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 407 ~ match rhs { Operand::Constant(constant) => { [INFO] [stdout] 408 | if constant == Constant::Float(0.0) { [INFO] [stdout] ... [INFO] [stdout] 411 | } [INFO] [stdout] 412 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:421:20 [INFO] [stdout] | [INFO] [stdout] 421 | if let Operand::Constant(Constant::Int(0)) = 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/transform/inst_combine.rs:424:17 [INFO] [stdout] | [INFO] [stdout] 424 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 421 ~ match rhs { Operand::Constant(Constant::Int(0)) => { [INFO] [stdout] 422 | inst.replace_self(&rhs); [INFO] [stdout] 423 | return Ok(true); [INFO] [stdout] 424 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:433:20 [INFO] [stdout] | [INFO] [stdout] 433 | if let Operand::Constant(Constant::Int(0)) = 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/transform/inst_combine.rs:436:17 [INFO] [stdout] | [INFO] [stdout] 436 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 433 ~ match lhs { Operand::Constant(Constant::Int(0)) => { [INFO] [stdout] 434 | inst.replace_self(&lhs); [INFO] [stdout] 435 | return Ok(true); [INFO] [stdout] 436 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:445:20 [INFO] [stdout] | [INFO] [stdout] 445 | if let Operand::Constant(Constant::Float(0.0)) = 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/transform/inst_combine.rs:448:17 [INFO] [stdout] | [INFO] [stdout] 448 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 445 ~ match rhs { Operand::Constant(Constant::Float(0.0)) => { [INFO] [stdout] 446 | inst.replace_self(&rhs); [INFO] [stdout] 447 | return Ok(true); [INFO] [stdout] 448 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:457:20 [INFO] [stdout] | [INFO] [stdout] 457 | if let Operand::Constant(Constant::Float(0.0)) = 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/transform/inst_combine.rs:460:17 [INFO] [stdout] | [INFO] [stdout] 460 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 457 ~ match lhs { Operand::Constant(Constant::Float(0.0)) => { [INFO] [stdout] 458 | inst.replace_self(&lhs); [INFO] [stdout] 459 | return Ok(true); [INFO] [stdout] 460 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:471:20 [INFO] [stdout] | [INFO] [stdout] 471 | if let Operand::Constant(lhs) = 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/transform/inst_combine.rs:476:17 [INFO] [stdout] | [INFO] [stdout] 476 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 471 ~ match lhs { Operand::Constant(lhs) => { [INFO] [stdout] 472 | if lhs == Constant::Int(0) { [INFO] [stdout] ... [INFO] [stdout] 475 | } [INFO] [stdout] 476 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:543:20 [INFO] [stdout] | [INFO] [stdout] 543 | if let Operand::Instruction(lhs) = 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/transform/inst_combine.rs:566:17 [INFO] [stdout] | [INFO] [stdout] 566 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 543 ~ match lhs { Operand::Instruction(lhs) => { [INFO] [stdout] 544 | if lhs.get_type() == InstType::Mul { [INFO] [stdout] ... [INFO] [stdout] 565 | } [INFO] [stdout] 566 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:549:32 [INFO] [stdout] | [INFO] [stdout] 549 | ... if let Operand::Constant(Constant::Int(lhs_rhs)) = 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/transform/inst_combine.rs:563:29 [INFO] [stdout] | [INFO] [stdout] 563 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 549 ~ match lhs_rhs { Operand::Constant(Constant::Int(lhs_rhs)) => { [INFO] [stdout] 550 | let new_rhs = if inst_type == InstType::Add { [INFO] [stdout] ... [INFO] [stdout] 562 | return Ok(true); [INFO] [stdout] 563 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:578:20 [INFO] [stdout] | [INFO] [stdout] 578 | if let Operand::Constant(rhs) = 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/transform/inst_combine.rs:597:17 [INFO] [stdout] | [INFO] [stdout] 597 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 578 ~ match rhs { Operand::Constant(rhs) => { [INFO] [stdout] 579 | if let Operand::Instruction(lhs) = lhs { [INFO] [stdout] ... [INFO] [stdout] 596 | } [INFO] [stdout] 597 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:579:24 [INFO] [stdout] | [INFO] [stdout] 579 | if let Operand::Instruction(lhs) = 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/transform/inst_combine.rs:596:21 [INFO] [stdout] | [INFO] [stdout] 596 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 579 ~ match lhs { Operand::Instruction(lhs) => { [INFO] [stdout] 580 | let lhs_type = lhs.get_type(); [INFO] [stdout] ... [INFO] [stdout] 595 | } [INFO] [stdout] 596 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:586:32 [INFO] [stdout] | [INFO] [stdout] 586 | ... if let Operand::Constant(lhs_rhs) = 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/transform/inst_combine.rs:594:29 [INFO] [stdout] | [INFO] [stdout] 594 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 586 ~ match lhs_rhs { Operand::Constant(lhs_rhs) => { [INFO] [stdout] 587 | let new_rhs = lhs_rhs.apply(lhs_type) + rhs.apply(inst_type); [INFO] [stdout] ... [INFO] [stdout] 593 | return Ok(true); [INFO] [stdout] 594 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:604:20 [INFO] [stdout] | [INFO] [stdout] 604 | if let Operand::Constant(rhs) = 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/transform/inst_combine.rs:622:17 [INFO] [stdout] | [INFO] [stdout] 622 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 604 ~ match rhs { Operand::Constant(rhs) => { [INFO] [stdout] 605 | if let Operand::Instruction(lhs) = lhs { [INFO] [stdout] ... [INFO] [stdout] 621 | } [INFO] [stdout] 622 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:605:24 [INFO] [stdout] | [INFO] [stdout] 605 | if let Operand::Instruction(lhs) = 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/transform/inst_combine.rs:621:21 [INFO] [stdout] | [INFO] [stdout] 621 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 605 ~ match lhs { Operand::Instruction(lhs) => { [INFO] [stdout] 606 | if lhs.get_type() == InstType::Mul { [INFO] [stdout] ... [INFO] [stdout] 620 | } [INFO] [stdout] 621 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:611:32 [INFO] [stdout] | [INFO] [stdout] 611 | ... if let Operand::Constant(lhs_rhs) = 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/transform/inst_combine.rs:619:29 [INFO] [stdout] | [INFO] [stdout] 619 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 611 ~ match lhs_rhs { Operand::Constant(lhs_rhs) => { [INFO] [stdout] 612 | let new_rhs = lhs_rhs * rhs; [INFO] [stdout] ... [INFO] [stdout] 618 | return Ok(true); [INFO] [stdout] 619 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:629:20 [INFO] [stdout] | [INFO] [stdout] 629 | if let Operand::Constant(Constant::Int(rhs)) = 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/transform/inst_combine.rs:657:17 [INFO] [stdout] | [INFO] [stdout] 657 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 629 ~ match rhs { Operand::Constant(Constant::Int(rhs)) => { [INFO] [stdout] 630 | if let Operand::Instruction(lhs) = lhs { [INFO] [stdout] ... [INFO] [stdout] 656 | } [INFO] [stdout] 657 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:630:24 [INFO] [stdout] | [INFO] [stdout] 630 | if let Operand::Instruction(lhs) = 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/transform/inst_combine.rs:656:21 [INFO] [stdout] | [INFO] [stdout] 656 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 630 ~ match lhs { Operand::Instruction(lhs) => { [INFO] [stdout] 631 | if lhs.get_type() == InstType::SDiv { [INFO] [stdout] ... [INFO] [stdout] 655 | } [INFO] [stdout] 656 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:636:32 [INFO] [stdout] | [INFO] [stdout] 636 | ... if let Operand::Constant(Constant::Int(lhs_rhs)) = 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/transform/inst_combine.rs:654:29 [INFO] [stdout] | [INFO] [stdout] 654 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 636 ~ match lhs_rhs { Operand::Constant(Constant::Int(lhs_rhs)) => { [INFO] [stdout] 637 | let (new_rhs, overflow) = lhs_rhs.overflowing_mul(rhs); [INFO] [stdout] ... [INFO] [stdout] 653 | return Ok(true); [INFO] [stdout] 654 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:671:16 [INFO] [stdout] | [INFO] [stdout] 671 | if let Operand::Instruction(ptr) = ptr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/inst_combine.rs:708:13 [INFO] [stdout] | [INFO] [stdout] 708 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 671 ~ match ptr { Operand::Instruction(ptr) => { [INFO] [stdout] 672 | if ptr.get_type() == InstType::GetElementPtr { [INFO] [stdout] ... [INFO] [stdout] 707 | } [INFO] [stdout] 708 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/make_parallel.rs:155:16 [INFO] [stdout] | [INFO] [stdout] 155 | if let Some(inst_effect) = &self.effect_analysis.inst_effect.get(&inst) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/make_parallel.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | } [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 &self.effect_analysis.inst_effect.get(&inst) { Some(inst_effect) => { [INFO] [stdout] 156 | if !merge_effect(&mut effect, inst_effect, indvar)? { [INFO] [stdout] 157 | return Ok(None); [INFO] [stdout] 158 | } [INFO] [stdout] 159 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/make_parallel.rs:426:16 [INFO] [stdout] | [INFO] [stdout] 426 | if let Operand::Instruction(ptr) = ptr.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/transform/make_parallel.rs:430:13 [INFO] [stdout] | [INFO] [stdout] 430 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 426 ~ match ptr.clone() { Operand::Instruction(ptr) => { [INFO] [stdout] 427 | if ptr.get_type() == InstType::Alloca { [INFO] [stdout] 428 | inst.set_operand(0, map[&ptr].into()); [INFO] [stdout] 429 | } [INFO] [stdout] 430 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/make_parallel.rs:438:16 [INFO] [stdout] | [INFO] [stdout] 438 | if let Operand::Instruction(ptr) = ptr.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/transform/make_parallel.rs:442:13 [INFO] [stdout] | [INFO] [stdout] 442 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 438 ~ match ptr.clone() { Operand::Instruction(ptr) => { [INFO] [stdout] 439 | if ptr.get_type() == InstType::Alloca { [INFO] [stdout] 440 | inst.set_operand(0, map[&ptr].into()); [INFO] [stdout] 441 | } [INFO] [stdout] 442 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/make_parallel.rs:446:16 [INFO] [stdout] | [INFO] [stdout] 446 | if let Operand::Instruction(ptr) = base.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/transform/make_parallel.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 446 ~ match base.clone() { Operand::Instruction(ptr) => { [INFO] [stdout] 447 | if ptr.get_type() == InstType::Alloca { [INFO] [stdout] 448 | inst.set_operand(1, map[&ptr].into()); [INFO] [stdout] 449 | } [INFO] [stdout] 450 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/transform/store_elim.rs:121:16 [INFO] [stdout] | [INFO] [stdout] 121 | if let Operand::Instruction(inst) = op { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/transform/store_elim.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 121 ~ match op { Operand::Instruction(inst) => { [INFO] [stdout] 122 | self.process_inst(inst)?; [INFO] [stdout] 123 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 120 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Fixed tests/irgen.rs (40 fixes) [INFO] [stderr] Migrating tests/gep.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/mod.rs from 2021 edition to 2024 [INFO] [stderr] Fixed tests/transform/loop_optimization.rs (2 fixes) [INFO] [stderr] Fixed tests/transform/constant_fold.rs (2 fixes) [INFO] [stderr] Fixed tests/transform/mem2reg.rs (8 fixes) [INFO] [stderr] Fixed tests/analysis/memory_ssa.rs (7 fixes) [INFO] [stderr] Fixed tests/transform/dead_code_elim.rs (5 fixes) [INFO] [stderr] Fixed tests/transform/redundance_elim.rs (5 fixes) [INFO] [stderr] Fixed tests/transform/func_inline.rs (4 fixes) [INFO] [stderr] Fixed tests/transform/make_parallel.rs (6 fixes) [INFO] [stderr] Fixed tests/transform/store_elim.rs (8 fixes) [INFO] [stderr] Fixed tests/transform/block_fuse.rs (3 fixes) [INFO] [stderr] Fixed tests/transform/symbolic_eval.rs (9 fixes) [INFO] [stderr] Fixed tests/analysis/effect_analysis.rs (7 fixes) [INFO] [stderr] Fixed tests/transform/load_elim.rs (8 fixes) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.49s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] [stderr] Checking duskphantom-middle v0.0.1 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | irgen::gen(program).with_context(|| context!()) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 42 | irgen::r#gen(program).with_context(|| context!()) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | irgen::gen(&program) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 48 | irgen::r#gen(&program) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:42:16 [INFO] [stdout] | [INFO] [stdout] 42 | irgen::gen(program).with_context(|| context!()) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 42 | irgen::r#gen(program).with_context(|| context!()) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/lib.rs:48:16 [INFO] [stdout] | [INFO] [stdout] 48 | irgen::gen(&program) [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 48 | irgen::r#gen(&program) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/irgen/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn gen(program: &frontend::Program) -> Result { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 37 | pub fn r#gen(program: &frontend::Program) -> Result { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/irgen/mod.rs:44:6 [INFO] [stdout] | [INFO] [stdout] 44 | .gen(program)?; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 44 | .r#gen(program)?; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/irgen/mod.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn gen(program: &frontend::Program) -> Result { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 37 | pub fn r#gen(program: &frontend::Program) -> Result { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/irgen/mod.rs:44:6 [INFO] [stdout] | [INFO] [stdout] 44 | .gen(program)?; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 44 | .r#gen(program)?; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/irgen/program_kit.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn gen(mut self, program: &frontend::Program) -> Result<()> { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 34 | pub fn r#gen(mut self, program: &frontend::Program) -> Result<()> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/irgen/program_kit.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn gen(mut self, program: &frontend::Program) -> Result<()> { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 34 | pub fn r#gen(mut self, program: &frontend::Program) -> Result<()> { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/transform/loop_simplify.rs:38:56 [INFO] [stdout] | [INFO] [stdout] 37 | impl<'a> LoopSimplifier<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 38 | pub fn new(ir_builder: &'a mut IRBuilderWraper) -> LoopSimplifier { [INFO] [stdout] | ^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/transform/loop_simplify.rs:38:56 [INFO] [stdout] | [INFO] [stdout] 37 | impl<'a> LoopSimplifier<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] 38 | pub fn new(ir_builder: &'a mut IRBuilderWraper) -> LoopSimplifier { [INFO] [stdout] | ^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_prev` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | bb.head_inst.set_prev(head); [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/ir/basic_block.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub unsafe fn init_bb(mut bb: BBPtr, id: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_next` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | bb.head_inst.set_next(head); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_parent_bb` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | head.set_parent_bb(bb); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | self.get_manager_mut().set_operand(0, value); [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/ir/instruction/memory_op_inst.rs:266:5 [INFO] [stdout] | [INFO] [stdout] 266 | pub unsafe fn set_value(&mut self, value: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | self.get_manager_mut().set_operand(0, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | self.get_manager_mut().set_operand(1, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | self.get_manager_mut().set_operand(1, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:330:5 [INFO] [stdout] | [INFO] [stdout] 330 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | self.get_manager_mut().set_operand(i + 1, idx); [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/ir/instruction/memory_op_inst.rs:346:5 [INFO] [stdout] | [INFO] [stdout] 346 | pub unsafe fn set_index(&mut self, index: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | self.get_manager_mut().set_operand(i + 1, idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | self.manager.set_operand(0, operand); [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/ir/instruction/misc_inst.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | pub unsafe fn set_lhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | self.manager.set_operand(1, operand); [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/ir/instruction/misc_inst.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | pub unsafe fn set_rhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | self.manager.set_operand(0, operand); [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/ir/instruction/misc_inst.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | pub unsafe fn set_lhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | self.manager.set_operand(1, operand); [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/ir/instruction/misc_inst.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | pub unsafe fn set_rhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_prev` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | bb.head_inst.set_prev(head); [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/ir/basic_block.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub unsafe fn init_bb(mut bb: BBPtr, id: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_next` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | bb.head_inst.set_next(head); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_parent_bb` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/basic_block.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | head.set_parent_bb(bb); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:155:14 [INFO] [stdout] | [INFO] [stdout] 155 | &mut self.get_manager_mut().user [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/ir/instruction/mod.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | unsafe fn get_user_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:196:14 [INFO] [stdout] | [INFO] [stdout] 196 | &mut self.get_manager_mut().operand [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/ir/instruction/mod.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 195 | unsafe fn get_operand_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | self.get_manager_mut().prev = Some(inst); [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/ir/instruction/mod.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | unsafe fn set_prev(&mut self, inst: InstPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | self.get_manager_mut().next = Some(inst); [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/ir/instruction/mod.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | unsafe fn set_next(&mut self, inst: InstPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_next` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | prev.set_next(next); [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/ir/instruction/mod.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | unsafe fn move_self(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_prev` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | next.set_prev(prev); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:277:23 [INFO] [stdout] | [INFO] [stdout] 277 | let manager = self.get_manager_mut(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | self.get_manager_mut().parent_bb = Some(bb); [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/ir/instruction/mod.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 388 | unsafe fn set_parent_bb(&mut self, bb: BBPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:558:34 [INFO] [stdout] | [INFO] [stdout] 558 | .map(|index| inst.get_user_mut().remove(index)); [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/ir/instruction/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | pub unsafe fn set_operand(&mut self, index: usize, new_op: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:578:17 [INFO] [stdout] | [INFO] [stdout] 578 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | pub unsafe fn set_operand(&mut self, index: usize, new_op: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:581:17 [INFO] [stdout] | [INFO] [stdout] 581 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:584:17 [INFO] [stdout] | [INFO] [stdout] 584 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:596:17 [INFO] [stdout] | [INFO] [stdout] 596 | inst.get_user_mut().retain(|x| x != &self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:593:5 [INFO] [stdout] | [INFO] [stdout] 593 | pub unsafe fn replace_operand(&mut self, from: &Operand, to: &Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:612:17 [INFO] [stdout] | [INFO] [stdout] 612 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:615:17 [INFO] [stdout] | [INFO] [stdout] 615 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:618:17 [INFO] [stdout] | [INFO] [stdout] 618 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:635:17 [INFO] [stdout] | [INFO] [stdout] 635 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:632:5 [INFO] [stdout] | [INFO] [stdout] 632 | pub unsafe fn add_operand(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:638:17 [INFO] [stdout] | [INFO] [stdout] 638 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:641:17 [INFO] [stdout] | [INFO] [stdout] 641 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:665:39 [INFO] [stdout] | [INFO] [stdout] 665 | .map(|index| Some(inst.get_user_mut().remove(index))); [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/ir/instruction/mod.rs:651:5 [INFO] [stdout] | [INFO] [stdout] 651 | pub unsafe fn remove_operand(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 148 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/extend_inst.rs:184:9 [INFO] [stdout] | [INFO] [stdout] 184 | self.manager.set_operand(0, src); [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/ir/instruction/extend_inst.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub unsafe fn set_src(&mut self, src: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:213:5 [INFO] [stdout] | [INFO] [stdout] 213 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | self.get_manager_mut().set_operand(0, value); [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/ir/instruction/memory_op_inst.rs:266:5 [INFO] [stdout] | [INFO] [stdout] 266 | pub unsafe fn set_value(&mut self, value: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | self.get_manager_mut().set_operand(0, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | self.get_manager_mut().set_operand(1, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 275 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | self.get_manager_mut().set_operand(1, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:330:5 [INFO] [stdout] | [INFO] [stdout] 330 | pub unsafe fn set_ptr(&mut self, ptr: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:331:9 [INFO] [stdout] | [INFO] [stdout] 331 | self.get_manager_mut().set_operand(0, ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | self.get_manager_mut().set_operand(i + 1, idx); [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/ir/instruction/memory_op_inst.rs:346:5 [INFO] [stdout] | [INFO] [stdout] 346 | pub unsafe fn set_index(&mut self, index: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/memory_op_inst.rs:348:13 [INFO] [stdout] | [INFO] [stdout] 348 | self.get_manager_mut().set_operand(i + 1, idx); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | self.manager.set_operand(0, operand); [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/ir/instruction/misc_inst.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | pub unsafe fn set_lhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | self.manager.set_operand(1, operand); [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/ir/instruction/misc_inst.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | pub unsafe fn set_rhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | self.manager.set_operand(0, operand); [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/ir/instruction/misc_inst.rs:235:5 [INFO] [stdout] | [INFO] [stdout] 235 | pub unsafe fn set_lhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::InstManager::set_operand` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/misc_inst.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | self.manager.set_operand(1, operand); [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/ir/instruction/misc_inst.rs:242:5 [INFO] [stdout] | [INFO] [stdout] 242 | pub unsafe fn set_rhs(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:155:14 [INFO] [stdout] | [INFO] [stdout] 155 | &mut self.get_manager_mut().user [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/ir/instruction/mod.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | unsafe fn get_user_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:196:14 [INFO] [stdout] | [INFO] [stdout] 196 | &mut self.get_manager_mut().operand [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/ir/instruction/mod.rs:195:5 [INFO] [stdout] | [INFO] [stdout] 195 | unsafe fn get_operand_mut(&mut self) -> &mut Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | self.get_manager_mut().prev = Some(inst); [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/ir/instruction/mod.rs:219:5 [INFO] [stdout] | [INFO] [stdout] 219 | unsafe fn set_prev(&mut self, inst: InstPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | self.get_manager_mut().next = Some(inst); [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/ir/instruction/mod.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | unsafe fn set_next(&mut self, inst: InstPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_next` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | prev.set_next(next); [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/ir/instruction/mod.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 264 | unsafe fn move_self(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::set_prev` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | next.set_prev(prev); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:277:23 [INFO] [stdout] | [INFO] [stdout] 277 | let manager = self.get_manager_mut(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_manager_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:389:9 [INFO] [stdout] | [INFO] [stdout] 389 | self.get_manager_mut().parent_bb = Some(bb); [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/ir/instruction/mod.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 388 | unsafe fn set_parent_bb(&mut self, bb: BBPtr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:558:34 [INFO] [stdout] | [INFO] [stdout] 558 | .map(|index| inst.get_user_mut().remove(index)); [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/ir/instruction/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | pub unsafe fn set_operand(&mut self, index: usize, new_op: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:578:17 [INFO] [stdout] | [INFO] [stdout] 578 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 551 | pub unsafe fn set_operand(&mut self, index: usize, new_op: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:581:17 [INFO] [stdout] | [INFO] [stdout] 581 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:584:17 [INFO] [stdout] | [INFO] [stdout] 584 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:596:17 [INFO] [stdout] | [INFO] [stdout] 596 | inst.get_user_mut().retain(|x| x != &self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:593:5 [INFO] [stdout] | [INFO] [stdout] 593 | pub unsafe fn replace_operand(&mut self, from: &Operand, to: &Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:612:17 [INFO] [stdout] | [INFO] [stdout] 612 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:615:17 [INFO] [stdout] | [INFO] [stdout] 615 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:618:17 [INFO] [stdout] | [INFO] [stdout] 618 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:635:17 [INFO] [stdout] | [INFO] [stdout] 635 | inst.get_user_mut().push(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/ir/instruction/mod.rs:632:5 [INFO] [stdout] | [INFO] [stdout] 632 | pub unsafe fn add_operand(&mut self, operand: Operand) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::function::Parameter::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:638:17 [INFO] [stdout] | [INFO] [stdout] 638 | param.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::global_variable::GlobalVariable::add_user` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:641:17 [INFO] [stdout] | [INFO] [stdout] 641 | global.add_user(self.self_ptr.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `ir::instruction::Instruction::get_user_mut` is unsafe and requires unsafe block [INFO] [stdout] --> src/ir/instruction/mod.rs:665:39 [INFO] [stdout] | [INFO] [stdout] 665 | .map(|index| Some(inst.get_user_mut().remove(index))); [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/ir/instruction/mod.rs:651:5 [INFO] [stdout] | [INFO] [stdout] 651 | pub unsafe fn remove_operand(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 42 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 `duskphantom-middle` (lib) due to 6 previous errors; 42 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 5 previous errors; 42 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 `duskphantom-middle` (lib test) due to 6 previous errors; 42 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" "09d4e74d19873b215eb23dcb1ac47160409183ab9aa9123dca7cbca6d1b79549", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "09d4e74d19873b215eb23dcb1ac47160409183ab9aa9123dca7cbca6d1b79549", kill_on_drop: false }` [INFO] [stdout] 09d4e74d19873b215eb23dcb1ac47160409183ab9aa9123dca7cbca6d1b79549