[INFO] cloning repository https://github.com/mndstrmr/dcpv2
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mndstrmr/dcpv2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmndstrmr%2Fdcpv2", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmndstrmr%2Fdcpv2'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6531cc45aa8e3812b36cdd99d5c5585cdd83abec
[INFO] checking mndstrmr/dcpv2 against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmndstrmr%2Fdcpv2" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mndstrmr/dcpv2
[INFO] finished tweaking git repo https://github.com/mndstrmr/dcpv2
[INFO] tweaked toml for git repo https://github.com/mndstrmr/dcpv2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mndstrmr/dcpv2 on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mndstrmr/dcpv2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--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
[ERROR] error running command: no output for 300 seconds
[INFO] checking mndstrmr/dcpv2 against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmndstrmr%2Fdcpv2" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mndstrmr/dcpv2
[INFO] finished tweaking git repo https://github.com/mndstrmr/dcpv2
[INFO] tweaked toml for git repo https://github.com/mndstrmr/dcpv2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mndstrmr/dcpv2 on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mndstrmr/dcpv2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded capstone v0.11.0
[INFO] [stderr]   Downloaded elf v0.7.4
[INFO] [stderr]   Downloaded capstone-sys v0.15.0
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5216460ed33eb450fb82c41dc68824f15dee21363f9a37c9efef33b26f355ac4
[INFO] running `Command { std: "docker" "start" "-a" "5216460ed33eb450fb82c41dc68824f15dee21363f9a37c9efef33b26f355ac4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5216460ed33eb450fb82c41dc68824f15dee21363f9a37c9efef33b26f355ac4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5216460ed33eb450fb82c41dc68824f15dee21363f9a37c9efef33b26f355ac4", kill_on_drop: false }`
[INFO] [stdout] 5216460ed33eb450fb82c41dc68824f15dee21363f9a37c9efef33b26f355ac4
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 287ac47e4e1fde2b106d1fcaf23904f93d6e6a27077f134a73954be936a6c45e
[INFO] running `Command { std: "docker" "start" "-a" "287ac47e4e1fde2b106d1fcaf23904f93d6e6a27077f134a73954be936a6c45e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]     Checking bin v0.1.0 (/opt/rustwide/workdir/bin)
[INFO] [stderr]     Checking elf v0.7.4
[INFO] [stderr]     Checking ir v0.1.0 (/opt/rustwide/workdir/ir)
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/clean.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     while let Some(Instr::Branch { label, .. }) = true_case.last() && labels.contains(label) {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/clean.rs:56:27
[INFO] [stdout]    |
[INFO] [stdout] 56 |                     while let Some(Instr::Branch { label, .. }) = false_case.last() && labels.contains(label) {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/clean.rs:89:16
[INFO] [stdout]    |
[INFO] [stdout] 89 |             if let Some(last) = true_case.last() && !last.fallsthrough() {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/clean.rs:179:45
[INFO] [stdout]     |
[INFO] [stdout] 179 |             expr.visit_mut_post(&mut |e| if let Expr::BinOp(op, l, r) = e && l == r && !l.contains_call() {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/clean.rs:229:12
[INFO] [stdout]     |
[INFO] [stdout] 229 |         if let Instr::Store { dest: Binding::Name(dest), src: Expr::Name(src), .. } = code[i] && dest == src {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/clean.rs:256:9
[INFO] [stdout]     |
[INFO] [stdout] 256 | /         let Instr::If { true_case, false_case, cond, .. } =
[INFO] [stdout] 257 | |             instr && true_case.is_empty()
[INFO] [stdout]     | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/clean.rs:335:12
[INFO] [stdout]     |
[INFO] [stdout] 335 |         if let Some(Instr::Branch { label, .. }) = code.get(i - 1) && end.contains(label) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/clean.rs:344:17
[INFO] [stdout]     |
[INFO] [stdout] 344 |     if i > 0 && let Some(Instr::If { true_case, false_case, .. }) = code.get_mut(i - 1) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/clean.rs:53:27
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     while let Some(Instr::Branch { label, .. }) = true_case.last() && labels.contains(label) {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/clean.rs:56:27
[INFO] [stdout]    |
[INFO] [stdout] 56 |                     while let Some(Instr::Branch { label, .. }) = false_case.last() && labels.contains(label) {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/clean.rs:89:16
[INFO] [stdout]    |
[INFO] [stdout] 89 |             if let Some(last) = true_case.last() && !last.fallsthrough() {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/clean.rs:179:45
[INFO] [stdout]     |
[INFO] [stdout] 179 |             expr.visit_mut_post(&mut |e| if let Expr::BinOp(op, l, r) = e && l == r && !l.contains_call() {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/clean.rs:229:12
[INFO] [stdout]     |
[INFO] [stdout] 229 |         if let Instr::Store { dest: Binding::Name(dest), src: Expr::Name(src), .. } = code[i] && dest == src {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/clean.rs:256:9
[INFO] [stdout]     |
[INFO] [stdout] 256 | /         let Instr::If { true_case, false_case, cond, .. } =
[INFO] [stdout] 257 | |             instr && true_case.is_empty()
[INFO] [stdout]     | |_________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/dataflow.rs:148:54
[INFO] [stdout]     |
[INFO] [stdout] 148 |                         e.visit_mut_post(&mut |e| if let Expr::Name(nm) = e && *nm == name {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/dataflow.rs:251:38
[INFO] [stdout]     |
[INFO] [stdout] 251 |         e.visit_mut_post(&mut |e| if let Expr::Name(nm) = e && *nm == name {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/dataflow.rs:302:58
[INFO] [stdout]     |
[INFO] [stdout] 302 | ...                   e.visit_mut_post(&mut |e| if let Expr::Name(nm) = e && *nm == name {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/loopgen.rs:18:56
[INFO] [stdout]    |
[INFO] [stdout] 18 |                         block[j].visit(&mut |instr| if let Instr::Branch { label: lab, .. } = instr && *lab == label {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/clean.rs:335:12
[INFO] [stdout]     |
[INFO] [stdout] 335 |         if let Some(Instr::Branch { label, .. }) = code.get(i - 1) && end.contains(label) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/clean.rs:344:17
[INFO] [stdout]     |
[INFO] [stdout] 344 |     if i > 0 && let Some(Instr::If { true_case, false_case, .. }) = code.get_mut(i - 1) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/loopgen.rs:112:16
[INFO] [stdout]     |
[INFO] [stdout] 112 |             if let Instr::If { false_case, .. } = &block[i] && false_case.is_empty() && let Some(Instr::Break(_)) = block.get(i + 1) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/loopgen.rs:112:89
[INFO] [stdout]     |
[INFO] [stdout] 112 |             if let Instr::If { false_case, .. } = &block[i] && false_case.is_empty() && let Some(Instr::Break(_)) = block.get(i + 1) {
[INFO] [stdout]     |                                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]  --> ir/src/whilegen.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 |             let Instr::Loop { body, .. } = instr &&
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]  --> ir/src/whilegen.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |             let Some(Instr::If { true_case, false_case, .. }) = body.first() &&
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]  --> ir/src/whilegen.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             let Some(Instr::Break(_)) = true_case.first() {
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/whilegen.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             let Instr::While { body, cond, loc } = instr &&
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/whilegen.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let Some(Instr::Store { dest: Binding::Name(name), .. }) = body.last() &&
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/dataflow.rs:148:54
[INFO] [stdout]     |
[INFO] [stdout] 148 |                         e.visit_mut_post(&mut |e| if let Expr::Name(nm) = e && *nm == name {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/frame.rs:18:33
[INFO] [stdout]    |
[INFO] [stdout] 18 |             e.visit(&mut |e| if let Expr::Deref(box Expr::BinOp(op, box Expr::Name(nm), r), typ) = e && *nm == abi.fp {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/frame.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |         if let Instr::Store { dest: Binding::Deref(Expr::BinOp(op, box Expr::Name(nm), r), typ), .. } = instr && *nm == abi.fp {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/frame.rs:44:42
[INFO] [stdout]    |
[INFO] [stdout] 44 |             e.visit_mut_post(&mut |e| if let Expr::Deref(box Expr::BinOp(op, box Expr::Name(nm), r), _) = e && *nm == abi.fp {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/dataflow.rs:251:38
[INFO] [stdout]     |
[INFO] [stdout] 251 |         e.visit_mut_post(&mut |e| if let Expr::Name(nm) = e && *nm == name {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/dataflow.rs:302:58
[INFO] [stdout]     |
[INFO] [stdout] 302 | ...                   e.visit_mut_post(&mut |e| if let Expr::Name(nm) = e && *nm == name {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/loopgen.rs:18:56
[INFO] [stdout]    |
[INFO] [stdout] 18 |                         block[j].visit(&mut |instr| if let Instr::Branch { label: lab, .. } = instr && *lab == label {
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/loopgen.rs:112:16
[INFO] [stdout]     |
[INFO] [stdout] 112 |             if let Instr::If { false_case, .. } = &block[i] && false_case.is_empty() && let Some(Instr::Break(_)) = block.get(i + 1) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/loopgen.rs:112:89
[INFO] [stdout]     |
[INFO] [stdout] 112 |             if let Instr::If { false_case, .. } = &block[i] && false_case.is_empty() && let Some(Instr::Break(_)) = block.get(i + 1) {
[INFO] [stdout]     |                                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/frame.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if let Instr::Store { dest: Binding::Deref(Expr::BinOp(op, box Expr::Name(nm), r), _), loc, src, typ } = instr && *nm == abi.fp {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/calls.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |             if let Expr::Name(name) = f && let Some((arg_count, _)) = funcs.get(name) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/calls.rs:22:44
[INFO] [stdout]    |
[INFO] [stdout] 22 |             if let Expr::Name(name) = f && let Some((arg_count, _)) = funcs.get(name) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]  --> ir/src/whilegen.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 |             let Instr::Loop { body, .. } = instr &&
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]  --> ir/src/whilegen.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |             let Some(Instr::If { true_case, false_case, .. }) = body.first() &&
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/printer.rs:283:28
[INFO] [stdout]     |
[INFO] [stdout] 283 | ...   if let Some(Instr::If { true_case: inner_true, false_case: inner_false, cond: inner_cond, .. }) = false_case.first() && false_case....
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]  --> ir/src/whilegen.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |             let Some(Instr::Break(_)) = true_case.first() {
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/whilegen.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |             let Instr::While { body, cond, loc } = instr &&
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/whilegen.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let Some(Instr::Store { dest: Binding::Name(name), .. }) = body.last() &&
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/frame.rs:18:33
[INFO] [stdout]    |
[INFO] [stdout] 18 |             e.visit(&mut |e| if let Expr::Deref(box Expr::BinOp(op, box Expr::Name(nm), r), typ) = e && *nm == abi.fp {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/frame.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |         if let Instr::Store { dest: Binding::Deref(Expr::BinOp(op, box Expr::Name(nm), r), typ), .. } = instr && *nm == abi.fp {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/frame.rs:44:42
[INFO] [stdout]    |
[INFO] [stdout] 44 |             e.visit_mut_post(&mut |e| if let Expr::Deref(box Expr::BinOp(op, box Expr::Name(nm), r), _) = e && *nm == abi.fp {
[INFO] [stdout]    |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/frame.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if let Instr::Store { dest: Binding::Deref(Expr::BinOp(op, box Expr::Name(nm), r), _), loc, src, typ } = instr && *nm == abi.fp {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/calls.rs:22:16
[INFO] [stdout]    |
[INFO] [stdout] 22 |             if let Expr::Name(name) = f && let Some((arg_count, _)) = funcs.get(name) {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]   --> ir/src/calls.rs:22:44
[INFO] [stdout]    |
[INFO] [stdout] 22 |             if let Expr::Name(name) = f && let Some((arg_count, _)) = funcs.get(name) {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: let chains are only allowed in Rust 2024 or later
[INFO] [stdout]    --> ir/src/printer.rs:283:28
[INFO] [stdout]     |
[INFO] [stdout] 283 | ...   if let Some(Instr::If { true_case: inner_true, false_case: inner_false, cond: inner_cond, .. }) = false_case.first() && false_case....
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> ir/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(let_chains)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> ir/src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(let_chains)]
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ir` (lib) due to 26 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `ir` (lib test) due to 26 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "287ac47e4e1fde2b106d1fcaf23904f93d6e6a27077f134a73954be936a6c45e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "287ac47e4e1fde2b106d1fcaf23904f93d6e6a27077f134a73954be936a6c45e", kill_on_drop: false }`
[INFO] [stdout] 287ac47e4e1fde2b106d1fcaf23904f93d6e6a27077f134a73954be936a6c45e
