[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] checking tlively/wasm-multivalue-opt against e5e97e3ef0ee95d34bea49cdac051ed1bbac01df for pr-158759-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftlively%2Fwasm-multivalue-opt" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-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-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tlively/wasm-multivalue-opt on toolchain e5e97e3ef0ee95d34bea49cdac051ed1bbac01df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "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" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 930b8239d582a7a86989d2f0a821557158bdf116e53d80fbe6345100f75945d5
[INFO] running `Command { std: "docker" "start" "930b8239d582a7a86989d2f0a821557158bdf116e53d80fbe6345100f75945d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "930b8239d582a7a86989d2f0a821557158bdf116e53d80fbe6345100f75945d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "930b8239d582a7a86989d2f0a821557158bdf116e53d80fbe6345100f75945d5" "/opt/rustwide/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "930b8239d582a7a86989d2f0a821557158bdf116e53d80fbe6345100f75945d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "930b8239d582a7a86989d2f0a821557158bdf116e53d80fbe6345100f75945d5" "/opt/rustwide/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking bit-vec v0.5.1
[INFO] [stderr]     Checking 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[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[INFO] [stdout] 
[INFO] [stdout] 
[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[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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] 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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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] 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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]    = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]    = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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 <https://github.com/rust-lang/rust/issues/67264> for more information
[INFO] [stdout]     = help: add `#![feature(half_open_range_patterns_in_slices)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2026-07-04; consider upgrading it if it is out of date
[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, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left`
[INFO] [stdout]    --> src/values.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let left = Instantiation {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_left`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]    --> src/values.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let right = Instantiation {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/values.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let result = Instantiation {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `abstract-interp` (bin "abstract-interp") due to 57 previous errors; 3 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0425, 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" test) due to 57 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "930b8239d582a7a86989d2f0a821557158bdf116e53d80fbe6345100f75945d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "930b8239d582a7a86989d2f0a821557158bdf116e53d80fbe6345100f75945d5", kill_on_drop: false }`
[INFO] [stdout] 930b8239d582a7a86989d2f0a821557158bdf116e53d80fbe6345100f75945d5
