[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 1.95.0 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftlively%2Fwasm-multivalue-opt" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/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-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tlively/wasm-multivalue-opt on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ce873ddc1401aee89cbbe0b0b5db46ba41cf32a8b1542004c9f3db542dbb8be9
[INFO] running `Command { std: "docker" "start" "-a" "ce873ddc1401aee89cbbe0b0b5db46ba41cf32a8b1542004c9f3db542dbb8be9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ce873ddc1401aee89cbbe0b0b5db46ba41cf32a8b1542004c9f3db542dbb8be9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce873ddc1401aee89cbbe0b0b5db46ba41cf32a8b1542004c9f3db542dbb8be9", kill_on_drop: false }`
[INFO] [stdout] ce873ddc1401aee89cbbe0b0b5db46ba41cf32a8b1542004c9f3db542dbb8be9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 051c8d437fc9f107458c95950accf23c9adee18042e8149be500a715d58f264d
[INFO] running `Command { std: "docker" "start" "-a" "051c8d437fc9f107458c95950accf23c9adee18042e8149be500a715d58f264d", 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 stable 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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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 <https://github.com/rust-lang/rust/issues/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] [stderr] error: could not compile `abstract-interp` (bin "abstract-interp") due to 58 previous errors; 3 warnings emitted
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "051c8d437fc9f107458c95950accf23c9adee18042e8149be500a715d58f264d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "051c8d437fc9f107458c95950accf23c9adee18042e8149be500a715d58f264d", kill_on_drop: false }`
[INFO] [stdout] 051c8d437fc9f107458c95950accf23c9adee18042e8149be500a715d58f264d
