[INFO] cloning repository https://github.com/tlively/wasm-multivalue-opt [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tlively/wasm-multivalue-opt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftlively%2Fwasm-multivalue-opt", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftlively%2Fwasm-multivalue-opt'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d43a3b157a25662d43be37bac023042104f6450e [INFO] testing tlively/wasm-multivalue-opt against beta-2026-04-21 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftlively%2Fwasm-multivalue-opt" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tlively/wasm-multivalue-opt [INFO] finished tweaking git repo https://github.com/tlively/wasm-multivalue-opt [INFO] tweaked toml for git repo https://github.com/tlively/wasm-multivalue-opt written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tlively/wasm-multivalue-opt on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tlively/wasm-multivalue-opt 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" "+beta-2026-04-21" "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 bit-vec v0.5.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1e25ce0c3b28fca97552fbc54da238efb16d6ced1b73f85abba6a5afa858c73a [INFO] running `Command { std: "docker" "start" "-a" "1e25ce0c3b28fca97552fbc54da238efb16d6ced1b73f85abba6a5afa858c73a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1e25ce0c3b28fca97552fbc54da238efb16d6ced1b73f85abba6a5afa858c73a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1e25ce0c3b28fca97552fbc54da238efb16d6ced1b73f85abba6a5afa858c73a", kill_on_drop: false }` [INFO] [stdout] 1e25ce0c3b28fca97552fbc54da238efb16d6ced1b73f85abba6a5afa858c73a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a7e96252bb6dcd2e71fa03c4e7d3e43cc092631bdc176914e159cef00ff9192d [INFO] running `Command { std: "docker" "start" "-a" "a7e96252bb6dcd2e71fa03c4e7d3e43cc092631bdc176914e159cef00ff9192d", kill_on_drop: false }` [INFO] [stderr] Compiling bit-vec v0.5.1 [INFO] [stderr] Compiling abstract-interp v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:145:21 [INFO] [stdout] | [INFO] [stdout] 145 | [first, rest..] => first.get_size() + Program::get_size_insts(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 145 | [first, rest @ ..] => first.get_size() + Program::get_size_insts(rest), [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 145 - [first, rest..] => first.get_size() + Program::get_size_insts(rest), [INFO] [stdout] 145 + [first, std::ops::RangeFrom { start: rest }] => first.get_size() + Program::get_size_insts(rest), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:145:75 [INFO] [stdout] | [INFO] [stdout] 145 | [first, rest..] => first.get_size() + Program::get_size_insts(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:156:28 [INFO] [stdout] | [INFO] [stdout] 156 | [Inst::Get(l), rest..] | [Inst::Set(l), rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 156 | [Inst::Get(l), rest @ ..] | [Inst::Set(l), rest..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 156 - [Inst::Get(l), rest..] | [Inst::Set(l), rest..] => { [INFO] [stdout] 156 + [Inst::Get(l), std::ops::RangeFrom { start: rest }] | [Inst::Set(l), rest..] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:156:53 [INFO] [stdout] | [INFO] [stdout] 156 | [Inst::Get(l), rest..] | [Inst::Set(l), rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 156 | [Inst::Get(l), rest..] | [Inst::Set(l), rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 156 - [Inst::Get(l), rest..] | [Inst::Set(l), rest..] => { [INFO] [stdout] 156 + [Inst::Get(l), rest..] | [Inst::Set(l), std::ops::RangeFrom { start: rest }] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:157:43 [INFO] [stdout] | [INFO] [stdout] 157 | Program::next_local_insts(rest) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:161:37 [INFO] [stdout] | [INFO] [stdout] 161 | [Inst::If(left, right), rest..] => u32::max( [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 161 | [Inst::If(left, right), rest @ ..] => u32::max( [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 161 - [Inst::If(left, right), rest..] => u32::max( [INFO] [stdout] 161 + [Inst::If(left, right), std::ops::RangeFrom { start: rest }] => u32::max( [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:163:43 [INFO] [stdout] | [INFO] [stdout] 163 | Program::next_local_insts(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | [_, rest..] => Program::next_local_insts(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 165 | [_, rest @ ..] => Program::next_local_insts(rest), [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 165 - [_, rest..] => Program::next_local_insts(rest), [INFO] [stdout] 165 + [_, std::ops::RangeFrom { start: rest }] => Program::next_local_insts(rest), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:165:54 [INFO] [stdout] | [INFO] [stdout] 165 | [_, rest..] => Program::next_local_insts(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:296:33 [INFO] [stdout] | [INFO] [stdout] 296 | [ref mut first, rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 296 | [ref mut first, rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 296 - [ref mut first, rest..] => { [INFO] [stdout] 296 + [ref mut first, std::ops::RangeFrom { start: rest }] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:298:67 [INFO] [stdout] | [INFO] [stdout] 298 | max_size - size - Program::get_size_insts(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:301:53 [INFO] [stdout] | [INFO] [stdout] 301 | to: Program::get_type_insts(rest).from, [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:307:71 [INFO] [stdout] | [INFO] [stdout] 307 | u32::max(max_local, Program::next_local_insts(rest)), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:318:36 [INFO] [stdout] | [INFO] [stdout] 318 | ... curr = rest; [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:334:25 [INFO] [stdout] | [INFO] [stdout] 334 | [first, rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 334 | [first, rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 334 - [first, rest..] => { [INFO] [stdout] 334 + [first, std::ops::RangeFrom { start: rest }] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/program.rs:351:43 [INFO] [stdout] | [INFO] [stdout] 351 | multivalue_with_stack(rest, stack_size - t.from + t.to) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | [Get(n), rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 24 | [Get(n), rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 24 - [Get(n), rest..] => { [INFO] [stdout] 24 + [Get(n), std::ops::RangeFrom { start: rest }] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:26:41 [INFO] [stdout] | [INFO] [stdout] 26 | interpret_insts_with_config(rest, config) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:28:18 [INFO] [stdout] | [INFO] [stdout] 28 | [Set(n), rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 28 | [Set(n), rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 28 - [Set(n), rest..] => { [INFO] [stdout] 28 + [Set(n), std::ops::RangeFrom { start: rest }] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:30:41 [INFO] [stdout] | [INFO] [stdout] 30 | interpret_insts_with_config(rest, config) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | [Drop, rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 32 | [Drop, rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 32 - [Drop, rest..] => { [INFO] [stdout] 32 + [Drop, std::ops::RangeFrom { start: rest }] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:34:41 [INFO] [stdout] | [INFO] [stdout] 34 | interpret_insts_with_config(rest, config) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:36:33 [INFO] [stdout] | [INFO] [stdout] 36 | [Op(Type { from, to }), rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 36 | [Op(Type { from, to }), rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 36 - [Op(Type { from, to }), rest..] => { [INFO] [stdout] 36 + [Op(Type { from, to }), std::ops::RangeFrom { start: rest }] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:49:41 [INFO] [stdout] | [INFO] [stdout] 49 | interpret_insts_with_config(rest, config) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | [If(left, right), rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 51 | [If(left, right), rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 51 - [If(left, right), rest..] => { [INFO] [stdout] 51 + [If(left, right), std::ops::RangeFrom { start: rest }] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:55:46 [INFO] [stdout] | [INFO] [stdout] 55 | prog.insts.extend_from_slice(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:62:46 [INFO] [stdout] | [INFO] [stdout] 62 | prog.insts.extend_from_slice(rest); [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:80:27 [INFO] [stdout] | [INFO] [stdout] 80 | [If(left, right), rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 80 | [If(left, right), rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 80 - [If(left, right), rest..] => { [INFO] [stdout] 80 + [If(left, right), std::ops::RangeFrom { start: rest }] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:84:39 [INFO] [stdout] | [INFO] [stdout] 84 | && has_normalized_ifs(rest) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | [_, rest..] => has_normalized_ifs(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 86 | [_, rest @ ..] => has_normalized_ifs(rest), [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 86 - [_, rest..] => has_normalized_ifs(rest), [INFO] [stdout] 86 + [_, std::ops::RangeFrom { start: rest }] => has_normalized_ifs(rest), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:86:43 [INFO] [stdout] | [INFO] [stdout] 86 | [_, rest..] => has_normalized_ifs(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:101:27 [INFO] [stdout] | [INFO] [stdout] 101 | [If(left, right), rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 101 | [If(left, right), rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 101 - [If(left, right), rest..] => { [INFO] [stdout] 101 + [If(left, right), std::ops::RangeFrom { start: rest }] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:102:29 [INFO] [stdout] | [INFO] [stdout] 102 | has_useless_get(rest) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | [_, rest..] => has_useless_get(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 106 | [_, rest @ ..] => has_useless_get(rest), [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 106 - [_, rest..] => has_useless_get(rest), [INFO] [stdout] 106 + [_, std::ops::RangeFrom { start: rest }] => has_useless_get(rest), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:106:40 [INFO] [stdout] | [INFO] [stdout] 106 | [_, rest..] => has_useless_get(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:125:65 [INFO] [stdout] | [INFO] [stdout] 125 | [If(Program { insts: left }, Program { insts: right }), rest..] => { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 125 | [If(Program { insts: left }, Program { insts: right }), rest @ ..] => { [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 125 - [If(Program { insts: left }, Program { insts: right }), rest..] => { [INFO] [stdout] 125 + [If(Program { insts: left }, Program { insts: right }), std::ops::RangeFrom { start: rest }] => { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:136:33 [INFO] [stdout] | [INFO] [stdout] 136 | has_trivial_opt(rest) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | [_, rest..] => has_trivial_opt(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: range patterns match against the start and end of a range; to bind the components, use a struct pattern [INFO] [stdout] help: if you meant to collect the rest of the slice in `rest`, use the at operator [INFO] [stdout] | [INFO] [stdout] 141 | [_, rest @ ..] => has_trivial_opt(rest), [INFO] [stdout] | + [INFO] [stdout] help: if you meant to destructure a range use a struct pattern [INFO] [stdout] | [INFO] [stdout] 141 - [_, rest..] => has_trivial_opt(rest), [INFO] [stdout] 141 + [_, std::ops::RangeFrom { start: rest }] => has_trivial_opt(rest), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `rest` in this scope [INFO] [stdout] --> src/main.rs:141:40 [INFO] [stdout] | [INFO] [stdout] 141 | [_, rest..] => has_trivial_opt(rest), [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / #![feature( [INFO] [stdout] 2 | | type_alias_enum_variants, [INFO] [stdout] 3 | | bind_by_move_pattern_guards, [INFO] [stdout] 4 | | slice_patterns [INFO] [stdout] 5 | | )] [INFO] [stdout] | |__^ help: remove the attribute [INFO] [stdout] | [INFO] [stdout] = help: the feature `type_alias_enum_variants` has been stable since `1.37.0` and no longer requires an attribute to enable [INFO] [stdout] = help: the feature `bind_by_move_pattern_guards` has been stable since `1.39.0` and no longer requires an attribute to enable [INFO] [stdout] = help: the feature `slice_patterns` has been stable since `1.42.0` and no longer requires an attribute to enable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/program.rs:145:21 [INFO] [stdout] | [INFO] [stdout] 145 | [first, rest..] => first.get_size() + Program::get_size_insts(rest), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/program.rs:156:28 [INFO] [stdout] | [INFO] [stdout] 156 | [Inst::Get(l), rest..] | [Inst::Set(l), rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/program.rs:156:53 [INFO] [stdout] | [INFO] [stdout] 156 | [Inst::Get(l), rest..] | [Inst::Set(l), rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/program.rs:161:37 [INFO] [stdout] | [INFO] [stdout] 161 | [Inst::If(left, right), rest..] => u32::max( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/program.rs:165:17 [INFO] [stdout] | [INFO] [stdout] 165 | [_, rest..] => Program::next_local_insts(rest), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/program.rs:296:33 [INFO] [stdout] | [INFO] [stdout] 296 | [ref mut first, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/program.rs:334:25 [INFO] [stdout] | [INFO] [stdout] 334 | [first, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/main.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | [Get(n), rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/main.rs:28:18 [INFO] [stdout] | [INFO] [stdout] 28 | [Set(n), rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/main.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | [Drop, rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/main.rs:36:33 [INFO] [stdout] | [INFO] [stdout] 36 | [Op(Type { from, to }), rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/main.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 51 | [If(left, right), rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/main.rs:80:27 [INFO] [stdout] | [INFO] [stdout] 80 | [If(left, right), rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/main.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 86 | [_, rest..] => has_normalized_ifs(rest), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/main.rs:101:27 [INFO] [stdout] | [INFO] [stdout] 101 | [If(left, right), rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/main.rs:106:13 [INFO] [stdout] | [INFO] [stdout] 106 | [_, rest..] => has_useless_get(rest), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/main.rs:125:65 [INFO] [stdout] | [INFO] [stdout] 125 | [If(Program { insts: left }, Program { insts: right }), rest..] => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0658]: `X..` patterns in slices are experimental [INFO] [stdout] --> src/main.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | [_, rest..] => has_trivial_opt(rest), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see issue #67264 for more information [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `type_alias_enum_variants` has been stable since 1.37.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | type_alias_enum_variants, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `bind_by_move_pattern_guards` has been stable since 1.39.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | bind_by_move_pattern_guards, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `slice_patterns` has been stable since 1.42.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | slice_patterns [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0554, E0658. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] [INFO] [stderr] error: could not compile `abstract-interp` (bin "abstract-interp") due to 58 previous errors; 3 warnings emitted [INFO] running `Command { std: "docker" "inspect" "a7e96252bb6dcd2e71fa03c4e7d3e43cc092631bdc176914e159cef00ff9192d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a7e96252bb6dcd2e71fa03c4e7d3e43cc092631bdc176914e159cef00ff9192d", kill_on_drop: false }` [INFO] [stdout] a7e96252bb6dcd2e71fa03c4e7d3e43cc092631bdc176914e159cef00ff9192d