[INFO] cloning repository https://github.com/adamAndMath/AlgebraicManipulatorRust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/adamAndMath/AlgebraicManipulatorRust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FadamAndMath%2FAlgebraicManipulatorRust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FadamAndMath%2FAlgebraicManipulatorRust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 04fd0cd94dd8caa97d6b2b7bb934b768f39b5a66 [INFO] checking adamAndMath/AlgebraicManipulatorRust against try#163937523761cc0def32f1ba9ed63fdf65ad3478 for pr-156749 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FadamAndMath%2FAlgebraicManipulatorRust" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/adamAndMath/AlgebraicManipulatorRust [INFO] finished tweaking git repo https://github.com/adamAndMath/AlgebraicManipulatorRust [INFO] tweaked toml for git repo https://github.com/adamAndMath/AlgebraicManipulatorRust written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/adamAndMath/AlgebraicManipulatorRust on toolchain 163937523761cc0def32f1ba9ed63fdf65ad3478 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/adamAndMath/AlgebraicManipulatorRust 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" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] warning: `algebra` (manifest) generated 1 warning [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 2f24a5b6430cca695ac64db38a576886cc4206b5bc16efc71af9cfabe2ac2b7b [INFO] running `Command { std: "docker" "start" "2f24a5b6430cca695ac64db38a576886cc4206b5bc16efc71af9cfabe2ac2b7b", 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" "2f24a5b6430cca695ac64db38a576886cc4206b5bc16efc71af9cfabe2ac2b7b" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2f24a5b6430cca695ac64db38a576886cc4206b5bc16efc71af9cfabe2ac2b7b", 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" "2f24a5b6430cca695ac64db38a576886cc4206b5bc16efc71af9cfabe2ac2b7b" "/opt/rustwide/cargo-home/bin/cargo" "+163937523761cc0def32f1ba9ed63fdf65ad3478" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024` [INFO] [stderr] warning: `algebra` (manifest) generated 1 warning [INFO] [stderr] Compiling proc-macro2 v0.4.20 [INFO] [stderr] Compiling ucd-trie v0.1.1 [INFO] [stderr] Compiling maplit v1.0.1 [INFO] [stderr] Compiling pest v2.0.1 [INFO] [stderr] Compiling quote v0.6.8 [INFO] [stderr] Compiling syn v0.14.9 [INFO] [stderr] Compiling pest_meta v2.0.3 [INFO] [stderr] Compiling pest_generator v2.0.0 [INFO] [stderr] Compiling pest_derive v2.0.1 [INFO] [stderr] Checking algebra v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/main.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(range_contains, box_patterns, transpose_result)] [INFO] [stdout] | ^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in CURRENT_RUSTC_VERSION [INFO] [stdout] = note: superseded by `deref_patterns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/envs/truth_val.rs:21:34 [INFO] [stdout] | [INFO] [stdout] 21 | e = if let Exp::Call(box Exp::Var(f, _), box Exp::Closure(v)) = &e { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/envs/truth_val.rs:21:54 [INFO] [stdout] | [INFO] [stdout] 21 | e = if let Exp::Call(box Exp::Var(f, _), box Exp::Closure(v)) = &e { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/ast/ty.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | Type::Func(box t_in, box t_out) => func(t_in.to_id(env)?, t_out.to_id(env)?) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/ast/ty.rs:20:34 [INFO] [stdout] | [INFO] [stdout] 20 | Type::Func(box t_in, box t_out) => func(t_in.to_id(env)?, t_out.to_id(env)?) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/main.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(range_contains, box_patterns, transpose_result)] [INFO] [stdout] | ^^^^^^^^^^^^ feature has been removed [INFO] [stdout] | [INFO] [stdout] = note: removed in CURRENT_RUSTC_VERSION [INFO] [stdout] = note: superseded by `deref_patterns` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/exp.rs:109:31 [INFO] [stdout] | [INFO] [stdout] 109 | Exp::Call(e1, box e2) => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/pattern.rs:159:34 [INFO] [stdout] | [INFO] [stdout] 159 | Pattern::Comp(c, gs, box p) => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/pattern.rs:160:34 [INFO] [stdout] | [INFO] [stdout] 160 | if let Exp::Call(box Exp::Var(f, g), box e) = &e { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/pattern.rs:160:54 [INFO] [stdout] | [INFO] [stdout] 160 | if let Exp::Call(box Exp::Var(f, g), box e) = &e { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/proof.rs:39:31 [INFO] [stdout] | [INFO] [stdout] 39 | Exp::Call(box f, box arg) => [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/proof.rs:39:38 [INFO] [stdout] | [INFO] [stdout] 39 | Exp::Call(box f, box arg) => [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/proof.rs:68:26 [INFO] [stdout] | [INFO] [stdout] 68 | if let Exp::Call(box Exp::Var(eq, t), box Exp::Tuple(v)) = truth { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/proof.rs:68:47 [INFO] [stdout] | [INFO] [stdout] 68 | if let Exp::Call(box Exp::Var(eq, t), box Exp::Tuple(v)) = truth { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/envs/truth_val.rs:21:34 [INFO] [stdout] | [INFO] [stdout] 21 | e = if let Exp::Call(box Exp::Var(f, _), box Exp::Closure(v)) = &e { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/envs/truth_val.rs:21:54 [INFO] [stdout] | [INFO] [stdout] 21 | e = if let Exp::Call(box Exp::Var(f, _), box Exp::Closure(v)) = &e { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/ast/ty.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | Type::Func(box t_in, box t_out) => func(t_in.to_id(env)?, t_out.to_id(env)?) [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/ast/ty.rs:20:34 [INFO] [stdout] | [INFO] [stdout] 20 | Type::Func(box t_in, box t_out) => func(t_in.to_id(env)?, t_out.to_id(env)?) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/exp.rs:109:31 [INFO] [stdout] | [INFO] [stdout] 109 | Exp::Call(e1, box e2) => { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/pattern.rs:159:34 [INFO] [stdout] | [INFO] [stdout] 159 | Pattern::Comp(c, gs, box p) => { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/pattern.rs:160:34 [INFO] [stdout] | [INFO] [stdout] 160 | if let Exp::Call(box Exp::Var(f, g), box e) = &e { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/pattern.rs:160:54 [INFO] [stdout] | [INFO] [stdout] 160 | if let Exp::Call(box Exp::Var(f, g), box e) = &e { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/proof.rs:39:31 [INFO] [stdout] | [INFO] [stdout] 39 | Exp::Call(box f, box arg) => [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/proof.rs:39:38 [INFO] [stdout] | [INFO] [stdout] 39 | Exp::Call(box f, box arg) => [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/proof.rs:68:26 [INFO] [stdout] | [INFO] [stdout] 68 | if let Exp::Call(box Exp::Var(eq, t), box Exp::Tuple(v)) = truth { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_patterns` have been removed [INFO] [stdout] --> src/id/proof.rs:68:47 [INFO] [stdout] | [INFO] [stdout] 68 | if let Exp::Call(box Exp::Var(eq, t), box Exp::Tuple(v)) = truth { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `f` in this scope [INFO] [stdout] --> src/envs/truth_val.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | if *f != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(f.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 22 - if *f != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(f.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] 22 + if *e != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(f.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `f` in this scope [INFO] [stdout] --> src/envs/truth_val.rs:22:77 [INFO] [stdout] | [INFO] [stdout] 22 | if *f != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(f.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 22 - if *f != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(f.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] 22 + if *f != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(e.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `v` in this scope [INFO] [stdout] --> src/envs/truth_val.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | v.into_iter() [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 23 - v.into_iter() [INFO] [stdout] 23 + e.into_iter() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `t_in` in this scope [INFO] [stdout] --> src/ast/ty.rs:20:53 [INFO] [stdout] | [INFO] [stdout] 20 | Type::Func(box t_in, box t_out) => func(t_in.to_id(env)?, t_out.to_id(env)?) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `t_out` in this scope [INFO] [stdout] --> src/ast/ty.rs:20:71 [INFO] [stdout] | [INFO] [stdout] 20 | Type::Func(box t_in, box t_out) => func(t_in.to_id(env)?, t_out.to_id(env)?) [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `e2` in this scope [INFO] [stdout] --> src/id/exp.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | ... match e2 { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 117 - match e2 { [INFO] [stdout] 117 + match e1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `e2` in this scope [INFO] [stdout] --> src/id/exp.rs:138:48 [INFO] [stdout] | [INFO] [stdout] 138 | ... Some(p) => e2.apply(p, push, f).map_err(|e|e.map_err(|t|Tree::edge(TreeChar::Tuple)+t))?, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 138 - Some(p) => e2.apply(p, push, f).map_err(|e|e.map_err(|t|Tree::edge(TreeChar::Tuple)+t))?, [INFO] [stdout] 138 + Some(p) => e1.apply(p, push, f).map_err(|e|e.map_err(|t|Tree::edge(TreeChar::Tuple)+t))?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `e2` in this scope [INFO] [stdout] --> src/id/exp.rs:139:46 [INFO] [stdout] | [INFO] [stdout] 139 | ... None => (e2).clone(), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 139 - None => (e2).clone(), [INFO] [stdout] 139 + None => (e1).clone(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `f` in this scope [INFO] [stdout] --> src/id/pattern.rs:161:24 [INFO] [stdout] | [INFO] [stdout] 161 | if f == c && g == gs { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 161 - if f == c && g == gs { [INFO] [stdout] 161 + if c == c && g == gs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `g` in this scope [INFO] [stdout] --> src/id/pattern.rs:161:34 [INFO] [stdout] | [INFO] [stdout] 161 | if f == c && g == gs { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 161 - if f == c && g == gs { [INFO] [stdout] 161 + if f == c && c == gs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `p` in this scope [INFO] [stdout] --> src/id/pattern.rs:162:32 [INFO] [stdout] | [INFO] [stdout] 162 | return p.match_exp(e.clone(), env) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 162 - return p.match_exp(e.clone(), env) [INFO] [stdout] 162 + return c.match_exp(e.clone(), env) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `f` in this scope [INFO] [stdout] --> src/id/proof.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | match f { [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `f` in this scope [INFO] [stdout] --> src/envs/truth_val.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | if *f != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(f.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 22 - if *f != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(f.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] 22 + if *e != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(f.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `arg` in this scope [INFO] [stdout] --> src/id/proof.rs:49:78 [INFO] [stdout] | [INFO] [stdout] 49 | ... .filter_map(|Patterned(p,a)|{let v = p.match_exp(arg.clone(), env).ok()?; Some(a.set(&v))}) [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `arg` in this scope [INFO] [stdout] --> src/id/proof.rs:51:51 [INFO] [stdout] | [INFO] [stdout] 51 | ... .ok_or(ErrID::NoMatch(arg.clone()))?, [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `f` in this scope [INFO] [stdout] --> src/envs/truth_val.rs:22:77 [INFO] [stdout] | [INFO] [stdout] 22 | if *f != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(f.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 22 - if *f != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(f.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] 22 + if *f != FORALL_ID { return Err(ErrID::ExpMismatch(Exp::Var(e.clone(), vec![]), Exp::Var(FORALL_ID.into(), vec![]))); } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `eq` in this scope [INFO] [stdout] --> src/id/proof.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | if eq != EQ_ID { return Err(ErrID::ExpMismatch(Exp::Var(eq, vec![]), Exp::Var(EQ_ID.into(), vec![])))} [INFO] [stdout] | ^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use std::ptr::eq; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `v` in this scope [INFO] [stdout] --> src/envs/truth_val.rs:23:17 [INFO] [stdout] | [INFO] [stdout] 23 | v.into_iter() [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 23 - v.into_iter() [INFO] [stdout] 23 + e.into_iter() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `eq` in this scope [INFO] [stdout] --> src/id/proof.rs:69:69 [INFO] [stdout] | [INFO] [stdout] 69 | if eq != EQ_ID { return Err(ErrID::ExpMismatch(Exp::Var(eq, vec![]), Exp::Var(EQ_ID.into(), vec![])))} [INFO] [stdout] | ^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use std::ptr::eq; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `t_in` in this scope [INFO] [stdout] --> src/ast/ty.rs:20:53 [INFO] [stdout] | [INFO] [stdout] 20 | Type::Func(box t_in, box t_out) => func(t_in.to_id(env)?, t_out.to_id(env)?) [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `v` in this scope [INFO] [stdout] --> src/id/proof.rs:70:41 [INFO] [stdout] | [INFO] [stdout] 70 | if let [ref par, ref res] = v[..] { [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `t` in this scope [INFO] [stdout] --> src/id/proof.rs:84:75 [INFO] [stdout] | [INFO] [stdout] 84 | } else {Err(ErrID::NoMatch(Exp::Call(Box::new(Exp::Var(EQ_ID, t)), Box::new(Exp::Tuple(v.clone())))))} [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `t_out` in this scope [INFO] [stdout] --> src/ast/ty.rs:20:71 [INFO] [stdout] | [INFO] [stdout] 20 | Type::Func(box t_in, box t_out) => func(t_in.to_id(env)?, t_out.to_id(env)?) [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `e2` in this scope [INFO] [stdout] --> src/id/exp.rs:117:39 [INFO] [stdout] | [INFO] [stdout] 117 | ... match e2 { [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 117 - match e2 { [INFO] [stdout] 117 + match e1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `v` in this scope [INFO] [stdout] --> src/id/proof.rs:84:100 [INFO] [stdout] | [INFO] [stdout] 84 | } else {Err(ErrID::NoMatch(Exp::Call(Box::new(Exp::Var(EQ_ID, t)), Box::new(Exp::Tuple(v.clone())))))} [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `e2` in this scope [INFO] [stdout] --> src/id/exp.rs:138:48 [INFO] [stdout] | [INFO] [stdout] 138 | ... Some(p) => e2.apply(p, push, f).map_err(|e|e.map_err(|t|Tree::edge(TreeChar::Tuple)+t))?, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 138 - Some(p) => e2.apply(p, push, f).map_err(|e|e.map_err(|t|Tree::edge(TreeChar::Tuple)+t))?, [INFO] [stdout] 138 + Some(p) => e1.apply(p, push, f).map_err(|e|e.map_err(|t|Tree::edge(TreeChar::Tuple)+t))?, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `e2` in this scope [INFO] [stdout] --> src/id/exp.rs:139:46 [INFO] [stdout] | [INFO] [stdout] 139 | ... None => (e2).clone(), [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 139 - None => (e2).clone(), [INFO] [stdout] 139 + None => (e1).clone(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `f` in this scope [INFO] [stdout] --> src/id/pattern.rs:161:24 [INFO] [stdout] | [INFO] [stdout] 161 | if f == c && g == gs { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 161 - if f == c && g == gs { [INFO] [stdout] 161 + if c == c && g == gs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `g` in this scope [INFO] [stdout] --> src/id/pattern.rs:161:34 [INFO] [stdout] | [INFO] [stdout] 161 | if f == c && g == gs { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 161 - if f == c && g == gs { [INFO] [stdout] 161 + if f == c && c == gs { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `p` in this scope [INFO] [stdout] --> src/id/pattern.rs:162:32 [INFO] [stdout] | [INFO] [stdout] 162 | return p.match_exp(e.clone(), env) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: a local variable with a similar name exists [INFO] [stdout] | [INFO] [stdout] 162 - return p.match_exp(e.clone(), env) [INFO] [stdout] 162 + return c.match_exp(e.clone(), env) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `f` in this scope [INFO] [stdout] --> src/id/proof.rs:40:31 [INFO] [stdout] | [INFO] [stdout] 40 | match f { [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `arg` in this scope [INFO] [stdout] --> src/id/proof.rs:49:78 [INFO] [stdout] | [INFO] [stdout] 49 | ... .filter_map(|Patterned(p,a)|{let v = p.match_exp(arg.clone(), env).ok()?; Some(a.set(&v))}) [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `arg` in this scope [INFO] [stdout] --> src/id/proof.rs:51:51 [INFO] [stdout] | [INFO] [stdout] 51 | ... .ok_or(ErrID::NoMatch(arg.clone()))?, [INFO] [stdout] | ^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `eq` in this scope [INFO] [stdout] --> src/id/proof.rs:69:16 [INFO] [stdout] | [INFO] [stdout] 69 | if eq != EQ_ID { return Err(ErrID::ExpMismatch(Exp::Var(eq, vec![]), Exp::Var(EQ_ID.into(), vec![])))} [INFO] [stdout] | ^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use std::ptr::eq; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `eq` in this scope [INFO] [stdout] --> src/id/proof.rs:69:69 [INFO] [stdout] | [INFO] [stdout] 69 | if eq != EQ_ID { return Err(ErrID::ExpMismatch(Exp::Var(eq, vec![]), Exp::Var(EQ_ID.into(), vec![])))} [INFO] [stdout] | ^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this function [INFO] [stdout] | [INFO] [stdout] 1 + use std::ptr::eq; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `v` in this scope [INFO] [stdout] --> src/id/proof.rs:70:41 [INFO] [stdout] | [INFO] [stdout] 70 | if let [ref par, ref res] = v[..] { [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `t` in this scope [INFO] [stdout] --> src/id/proof.rs:84:75 [INFO] [stdout] | [INFO] [stdout] 84 | } else {Err(ErrID::NoMatch(Exp::Call(Box::new(Exp::Var(EQ_ID, t)), Box::new(Exp::Tuple(v.clone())))))} [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrID`, `SetLocal`, and `TypeCheck` [INFO] [stdout] --> src/id/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | ErrID, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 32 | TypeCheck, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 33 | SetLocal [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `type_id` [INFO] [stdout] --> src/macros/id/ty.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | macro_rules! type_id { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `type_id_vec` [INFO] [stdout] --> src/macros/id/ty.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | macro_rules! type_id_vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `type_id_tuple` [INFO] [stdout] --> src/macros/id/ty.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | macro_rules! type_id_tuple { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `pattern_id` [INFO] [stdout] --> src/macros/id/pattern.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | macro_rules! pattern_id { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `pattern_id_tuple` [INFO] [stdout] --> src/macros/id/pattern.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | macro_rules! pattern_id_tuple { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `exp_id` [INFO] [stdout] --> src/macros/id/exp.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | macro_rules! exp_id { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `exp_id_tuple` [INFO] [stdout] --> src/macros/id/exp.rs:8:14 [INFO] [stdout] | [INFO] [stdout] 8 | macro_rules! exp_id_tuple { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `v` in this scope [INFO] [stdout] --> src/id/proof.rs:84:100 [INFO] [stdout] | [INFO] [stdout] 84 | } else {Err(ErrID::NoMatch(Exp::Call(Box::new(Exp::Var(EQ_ID, t)), Box::new(Exp::Tuple(v.clone())))))} [INFO] [stdout] | ^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ErrID` and `SetLocal` [INFO] [stdout] --> src/id/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | ErrID, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 32 | TypeCheck, [INFO] [stdout] 33 | SetLocal [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `range_contains` has been stable since 1.35.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(range_contains, box_patterns, transpose_result)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `transpose_result` has been stable since 1.33.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:42 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(range_contains, box_patterns, transpose_result)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `range_contains` has been stable since 1.35.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(range_contains, box_patterns, transpose_result)] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `transpose_result` has been stable since 1.33.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:1:42 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(range_contains, box_patterns, transpose_result)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser.rs:34:40 [INFO] [stdout] | [INFO] [stdout] 34 | fn parse<'f, T: Parse<'f>>(pairs: &mut Iterator>) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | fn parse<'f, T: Parse<'f>>(pairs: &mut dyn Iterator>) -> T { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser.rs:38:44 [INFO] [stdout] | [INFO] [stdout] 38 | fn parse_vec<'f, T: Parse<'f>>(pairs: &mut Iterator>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | fn parse_vec<'f, T: Parse<'f>>(pairs: &mut dyn Iterator>) -> Vec { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser.rs:34:40 [INFO] [stdout] | [INFO] [stdout] 34 | fn parse<'f, T: Parse<'f>>(pairs: &mut Iterator>) -> T { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 34 | fn parse<'f, T: Parse<'f>>(pairs: &mut dyn Iterator>) -> T { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/parser.rs:38:44 [INFO] [stdout] | [INFO] [stdout] 38 | fn parse_vec<'f, T: Parse<'f>>(pairs: &mut Iterator>) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 38 | fn parse_vec<'f, T: Parse<'f>>(pairs: &mut dyn Iterator>) -> Vec { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `ID` cannot be dereferenced [INFO] [stdout] --> src/id/proof.rs:42:47 [INFO] [stdout] | [INFO] [stdout] 42 | ... match env.exp[*id].val(*id, gs)? { [INFO] [stdout] | ^^^ can't be dereferenced [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `ID` cannot be dereferenced [INFO] [stdout] --> src/id/proof.rs:42:56 [INFO] [stdout] | [INFO] [stdout] 42 | ... match env.exp[*id].val(*id, gs)? { [INFO] [stdout] | ^^^ can't be dereferenced [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `ID` cannot be dereferenced [INFO] [stdout] --> src/id/proof.rs:42:47 [INFO] [stdout] | [INFO] [stdout] 42 | ... match env.exp[*id].val(*id, gs)? { [INFO] [stdout] | ^^^ can't be dereferenced [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0614]: type `ID` cannot be dereferenced [INFO] [stdout] --> src/id/proof.rs:42:56 [INFO] [stdout] | [INFO] [stdout] 42 | ... match env.exp[*id].val(*id, gs)? { [INFO] [stdout] | ^^^ can't be dereferenced [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0425, E0557, E0614. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] [INFO] [stderr] error: could not compile `algebra` (bin "algebra") due to 34 previous errors; 12 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] Some errors have detailed explanations: E0425, E0557, E0614. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0425`. [INFO] [stdout] [INFO] [stderr] error: could not compile `algebra` (bin "algebra" test) due to 34 previous errors; 5 warnings emitted [INFO] running `Command { std: "docker" "inspect" "2f24a5b6430cca695ac64db38a576886cc4206b5bc16efc71af9cfabe2ac2b7b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2f24a5b6430cca695ac64db38a576886cc4206b5bc16efc71af9cfabe2ac2b7b", kill_on_drop: false }` [INFO] [stdout] 2f24a5b6430cca695ac64db38a576886cc4206b5bc16efc71af9cfabe2ac2b7b