[INFO] updating cached repository algon-320/mini-lisp-vm [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/algon-320/mini-lisp-vm [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/algon-320/mini-lisp-vm" "work/ex/beta-1.38-1/sources/1.37.0/gh/algon-320/mini-lisp-vm"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/algon-320/mini-lisp-vm'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/algon-320/mini-lisp-vm" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/algon-320/mini-lisp-vm"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/algon-320/mini-lisp-vm'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d16291ca044f1d42e154bbc19b130cb851f5b5d4 [INFO] sha for GitHub repo algon-320/mini-lisp-vm: d16291ca044f1d42e154bbc19b130cb851f5b5d4 [INFO] validating manifest of algon-320/mini-lisp-vm on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of algon-320/mini-lisp-vm on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing algon-320/mini-lisp-vm [INFO] finished frobbing algon-320/mini-lisp-vm [INFO] frobbed toml for algon-320/mini-lisp-vm written to work/ex/beta-1.38-1/sources/1.37.0/gh/algon-320/mini-lisp-vm/Cargo.toml [INFO] started frobbing algon-320/mini-lisp-vm [INFO] finished frobbing algon-320/mini-lisp-vm [INFO] frobbed toml for algon-320/mini-lisp-vm written to work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/algon-320/mini-lisp-vm/Cargo.toml [INFO] crate algon-320/mini-lisp-vm already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing algon-320/mini-lisp-vm against 1.37.0 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-1/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/algon-320/mini-lisp-vm:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "build" "--frozen"` [INFO] [stdout] c76fffe26bef89eecc05a35aef87b2673722ad0e1a0f5193ae7fd5d170165dd8 [INFO] running `"docker" "start" "-a" "c76fffe26bef89eecc05a35aef87b2673722ad0e1a0f5193ae7fd5d170165dd8"` [INFO] [stderr] Compiling peg v0.5.7 [INFO] [stderr] Compiling mini-lisp-vm v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused imports: `Endian`, `INT_SIZE`, `UInt` [INFO] [stderr] --> src/util.rs:1:10 [INFO] [stderr] | [INFO] [stderr] 1 | use vm::{Endian, UInt, INT_SIZE}; [INFO] [stderr] | ^^^^^^ ^^^^ ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/mini-lisp-vm-4f707b62de794d5e/out/minilisp_grammar.rs:80:820 [INFO] [stderr] | [INFO] [stderr] 80 | fn __parse_symbol < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < Elem > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { __state . suppress_fail += 1 ; let __assert_res = match __parse_boolean ( __input , __state , __pos ) { Matched ( pos , _ ) => Matched ( pos , ( ) ) , Failed => Failed , } ; __state . suppress_fail -= 1 ; match __assert_res { Failed => Matched ( __pos , ( ) ) , Matched ( .. ) => Failed , } } ; match __seq_res { Matched ( __pos , _ ) => { { let __seq_res = { let str_start = __pos ; match { let mut __repeat_pos = __pos ; let mut __repeat_value = vec ! ( ) ; loop { let __pos = __repeat_pos ; let __step_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; __repeat_value . push ( __value ) ; } , Failed => { break ; } } } if __repeat_value . len ( ) >= 1 { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , sym ) => { Matched ( __pos , { Elem::Symbol(sym.to_string()) } ) } Failed => Failed , } } } Failed => Failed , } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: #[warn(ellipsis_inclusive_range_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/mini-lisp-vm-4f707b62de794d5e/out/minilisp_grammar.rs:80:834 [INFO] [stderr] | [INFO] [stderr] 80 | fn __parse_symbol < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < Elem > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { __state . suppress_fail += 1 ; let __assert_res = match __parse_boolean ( __input , __state , __pos ) { Matched ( pos , _ ) => Matched ( pos , ( ) ) , Failed => Failed , } ; __state . suppress_fail -= 1 ; match __assert_res { Failed => Matched ( __pos , ( ) ) , Matched ( .. ) => Failed , } } ; match __seq_res { Matched ( __pos , _ ) => { { let __seq_res = { let str_start = __pos ; match { let mut __repeat_pos = __pos ; let mut __repeat_value = vec ! ( ) ; loop { let __pos = __repeat_pos ; let __step_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; __repeat_value . push ( __value ) ; } , Failed => { break ; } } } if __repeat_value . len ( ) >= 1 { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , sym ) => { Matched ( __pos , { Elem::Symbol(sym.to_string()) } ) } Failed => Failed , } } } Failed => Failed , } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/mini-lisp-vm-4f707b62de794d5e/out/minilisp_grammar.rs:82:884 [INFO] [stderr] | [INFO] [stderr] 82 | fn __parse_number < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < Elem > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_res = match if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '+' | '-' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[+-]" ) , } } else { __state . mark_failure ( __pos , "[+-]" ) } { Matched ( __newpos , _ ) => { Matched ( __newpos , ( ) ) } , Failed => { Matched ( __pos , ( ) ) } , } ; match __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; let mut __repeat_value = vec ! ( ) ; loop { let __pos = __repeat_pos ; let __step_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , } } else { __state . mark_failure ( __pos , "[0-9]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; __repeat_value . push ( __value ) ; } , Failed => { break ; } } } if __repeat_value . len ( ) >= 1 { Matched ( __repeat_pos , ( ) ) } else { Failed } } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , n ) => { Matched ( __pos , { Elem::Int(n.parse::().unwrap() as UInt) } ) } Failed => Failed , } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/structures.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | _ => "(undefined)", [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/structures.rs:55:26 [INFO] [stderr] | [INFO] [stderr] 55 | Elem::Func { args, ops, env } => "Func", [INFO] [stderr] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/structures.rs:55:37 [INFO] [stderr] | [INFO] [stderr] 55 | Elem::Func { args, ops, env } => "Func", [INFO] [stderr] | ^^^ help: try ignoring the field: `env: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ops` [INFO] [stderr] --> src/structures.rs:55:32 [INFO] [stderr] | [INFO] [stderr] 55 | Elem::Func { args, ops, env } => "Func", [INFO] [stderr] | ^^^ help: try ignoring the field: `ops: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sequence` [INFO] [stderr] --> src/vm/virtual_machine.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn exec(sequence: &[u8]) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_sequence` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/vm/virtual_machine.rs:159:30 [INFO] [stderr] | [INFO] [stderr] 159 | pub fn op_sub(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dst` [INFO] [stderr] --> src/vm/virtual_machine.rs:159:45 [INFO] [stderr] | [INFO] [stderr] 159 | pub fn op_sub(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_dst` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/vm/virtual_machine.rs:162:30 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn op_mul(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dst` [INFO] [stderr] --> src/vm/virtual_machine.rs:162:45 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn op_mul(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_dst` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/vm/virtual_machine.rs:165:30 [INFO] [stderr] | [INFO] [stderr] 165 | pub fn op_div(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dst` [INFO] [stderr] --> src/vm/virtual_machine.rs:165:45 [INFO] [stderr] | [INFO] [stderr] 165 | pub fn op_div(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_dst` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/vm/virtual_machine.rs:168:30 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn op_mod(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dst` [INFO] [stderr] --> src/vm/virtual_machine.rs:168:45 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn op_mod(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_dst` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sym` [INFO] [stderr] --> src/compiler.rs:41:22 [INFO] [stderr] | [INFO] [stderr] 41 | Elem::Symbol(sym) => {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_sym` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/compiler.rs:56:22 [INFO] [stderr] | [INFO] [stderr] 56 | Elem::Func { args, ops, env } => {} [INFO] [stderr] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/compiler.rs:56:33 [INFO] [stderr] | [INFO] [stderr] 56 | Elem::Func { args, ops, env } => {} [INFO] [stderr] | ^^^ help: try ignoring the field: `env: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ops` [INFO] [stderr] --> src/compiler.rs:56:28 [INFO] [stderr] | [INFO] [stderr] 56 | Elem::Func { args, ops, env } => {} [INFO] [stderr] | ^^^ help: try ignoring the field: `ops: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/compiler.rs:57:27 [INFO] [stderr] | [INFO] [stderr] 57 | Elem::BuiltinFunc(name) => {} [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Func` [INFO] [stderr] --> src/structures.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / Func { [INFO] [stderr] 19 | | args: List, [INFO] [stderr] 20 | | ops: List, [INFO] [stderr] 21 | | env: Rc>, [INFO] [stderr] 22 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BuiltinFunc` [INFO] [stderr] --> src/structures.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | BuiltinFunc(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `type_name` [INFO] [stderr] --> src/structures.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn type_name(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_list` [INFO] [stderr] --> src/structures.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn extract_list(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_symbol` [INFO] [stderr] --> src/structures.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn extract_symbol(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_int` [INFO] [stderr] --> src/structures.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn extract_int(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_bool` [INFO] [stderr] --> src/structures.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn extract_bool(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_string` [INFO] [stderr] --> src/structures.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | pub fn extract_string(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_func` [INFO] [stderr] --> src/structures.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | pub fn extract_func(&self) -> Result<(List, List, Rc>), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unit` [INFO] [stderr] --> src/structures.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn unit() -> List { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/structures.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | pub fn new() -> Env { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/structures.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | write!(f, "("); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/structures.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | write!(f, "{:?}", e); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/structures.rs:140:17 [INFO] [stderr] | [INFO] [stderr] 140 | write!(f, " "); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.32s [INFO] running `"docker" "inspect" "c76fffe26bef89eecc05a35aef87b2673722ad0e1a0f5193ae7fd5d170165dd8"` [INFO] running `"docker" "rm" "-f" "c76fffe26bef89eecc05a35aef87b2673722ad0e1a0f5193ae7fd5d170165dd8"` [INFO] [stdout] c76fffe26bef89eecc05a35aef87b2673722ad0e1a0f5193ae7fd5d170165dd8 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-1/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/algon-320/mini-lisp-vm:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen" "--no-run"` [INFO] [stdout] 2a3bfccb5f35dd8c7bd02190651f0d03ed9f1024dd5a6bbaca0a35e696fdcedf [INFO] running `"docker" "start" "-a" "2a3bfccb5f35dd8c7bd02190651f0d03ed9f1024dd5a6bbaca0a35e696fdcedf"` [INFO] [stderr] Compiling mini-lisp-vm v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused imports: `Endian`, `INT_SIZE`, `UInt` [INFO] [stderr] --> src/util.rs:1:10 [INFO] [stderr] | [INFO] [stderr] 1 | use vm::{Endian, UInt, INT_SIZE}; [INFO] [stderr] | ^^^^^^ ^^^^ ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `util` [INFO] [stderr] --> src/util.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | use util; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/mini-lisp-vm-4f707b62de794d5e/out/minilisp_grammar.rs:80:820 [INFO] [stderr] | [INFO] [stderr] 80 | fn __parse_symbol < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < Elem > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { __state . suppress_fail += 1 ; let __assert_res = match __parse_boolean ( __input , __state , __pos ) { Matched ( pos , _ ) => Matched ( pos , ( ) ) , Failed => Failed , } ; __state . suppress_fail -= 1 ; match __assert_res { Failed => Matched ( __pos , ( ) ) , Matched ( .. ) => Failed , } } ; match __seq_res { Matched ( __pos , _ ) => { { let __seq_res = { let str_start = __pos ; match { let mut __repeat_pos = __pos ; let mut __repeat_value = vec ! ( ) ; loop { let __pos = __repeat_pos ; let __step_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; __repeat_value . push ( __value ) ; } , Failed => { break ; } } } if __repeat_value . len ( ) >= 1 { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , sym ) => { Matched ( __pos , { Elem::Symbol(sym.to_string()) } ) } Failed => Failed , } } } Failed => Failed , } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: #[warn(ellipsis_inclusive_range_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/mini-lisp-vm-4f707b62de794d5e/out/minilisp_grammar.rs:80:834 [INFO] [stderr] | [INFO] [stderr] 80 | fn __parse_symbol < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < Elem > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { __state . suppress_fail += 1 ; let __assert_res = match __parse_boolean ( __input , __state , __pos ) { Matched ( pos , _ ) => Matched ( pos , ( ) ) , Failed => Failed , } ; __state . suppress_fail -= 1 ; match __assert_res { Failed => Matched ( __pos , ( ) ) , Matched ( .. ) => Failed , } } ; match __seq_res { Matched ( __pos , _ ) => { { let __seq_res = { let str_start = __pos ; match { let mut __repeat_pos = __pos ; let mut __repeat_value = vec ! ( ) ; loop { let __pos = __repeat_pos ; let __step_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { 'a' ... 'z' | 'A' ... 'Z' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; __repeat_value . push ( __value ) ; } , Failed => { break ; } } } if __repeat_value . len ( ) >= 1 { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , sym ) => { Matched ( __pos , { Elem::Symbol(sym.to_string()) } ) } Failed => Failed , } } } Failed => Failed , } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/mini-lisp-vm-4f707b62de794d5e/out/minilisp_grammar.rs:82:884 [INFO] [stderr] | [INFO] [stderr] 82 | fn __parse_number < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < Elem > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_res = match if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '+' | '-' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[+-]" ) , } } else { __state . mark_failure ( __pos , "[+-]" ) } { Matched ( __newpos , _ ) => { Matched ( __newpos , ( ) ) } , Failed => { Matched ( __pos , ( ) ) } , } ; match __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; let mut __repeat_value = vec ! ( ) ; loop { let __pos = __repeat_pos ; let __step_res = if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { '0' ... '9' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[0-9]" ) , } } else { __state . mark_failure ( __pos , "[0-9]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; __repeat_value . push ( __value ) ; } , Failed => { break ; } } } if __repeat_value . len ( ) >= 1 { Matched ( __repeat_pos , ( ) ) } else { Failed } } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , n ) => { Matched ( __pos , { Elem::Int(n.parse::().unwrap() as UInt) } ) } Failed => Failed , } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/structures.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | _ => "(undefined)", [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/structures.rs:55:26 [INFO] [stderr] | [INFO] [stderr] 55 | Elem::Func { args, ops, env } => "Func", [INFO] [stderr] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/structures.rs:55:37 [INFO] [stderr] | [INFO] [stderr] 55 | Elem::Func { args, ops, env } => "Func", [INFO] [stderr] | ^^^ help: try ignoring the field: `env: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ops` [INFO] [stderr] --> src/structures.rs:55:32 [INFO] [stderr] | [INFO] [stderr] 55 | Elem::Func { args, ops, env } => "Func", [INFO] [stderr] | ^^^ help: try ignoring the field: `ops: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ptr` [INFO] [stderr] --> src/vm/virtual_machine.rs:263:15 [INFO] [stderr] | [INFO] [stderr] 263 | if let Ok(ptr) = vm.op_malloc(VM_HEAP_SIZE) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_ptr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sequence` [INFO] [stderr] --> src/vm/virtual_machine.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | pub fn exec(sequence: &[u8]) -> Result<(), String> { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_sequence` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/vm/virtual_machine.rs:159:30 [INFO] [stderr] | [INFO] [stderr] 159 | pub fn op_sub(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dst` [INFO] [stderr] --> src/vm/virtual_machine.rs:159:45 [INFO] [stderr] | [INFO] [stderr] 159 | pub fn op_sub(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_dst` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/vm/virtual_machine.rs:162:30 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn op_mul(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dst` [INFO] [stderr] --> src/vm/virtual_machine.rs:162:45 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn op_mul(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_dst` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/vm/virtual_machine.rs:165:30 [INFO] [stderr] | [INFO] [stderr] 165 | pub fn op_div(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dst` [INFO] [stderr] --> src/vm/virtual_machine.rs:165:45 [INFO] [stderr] | [INFO] [stderr] 165 | pub fn op_div(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_dst` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `src` [INFO] [stderr] --> src/vm/virtual_machine.rs:168:30 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn op_mod(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_src` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dst` [INFO] [stderr] --> src/vm/virtual_machine.rs:168:45 [INFO] [stderr] | [INFO] [stderr] 168 | pub fn op_mod(&mut self, src: &Operand, dst: &Operand) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_dst` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sym` [INFO] [stderr] --> src/compiler.rs:41:22 [INFO] [stderr] | [INFO] [stderr] 41 | Elem::Symbol(sym) => {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_sym` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `args` [INFO] [stderr] --> src/compiler.rs:56:22 [INFO] [stderr] | [INFO] [stderr] 56 | Elem::Func { args, ops, env } => {} [INFO] [stderr] | ^^^^ help: try ignoring the field: `args: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `env` [INFO] [stderr] --> src/compiler.rs:56:33 [INFO] [stderr] | [INFO] [stderr] 56 | Elem::Func { args, ops, env } => {} [INFO] [stderr] | ^^^ help: try ignoring the field: `env: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ops` [INFO] [stderr] --> src/compiler.rs:56:28 [INFO] [stderr] | [INFO] [stderr] 56 | Elem::Func { args, ops, env } => {} [INFO] [stderr] | ^^^ help: try ignoring the field: `ops: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/compiler.rs:57:27 [INFO] [stderr] | [INFO] [stderr] 57 | Elem::BuiltinFunc(name) => {} [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Func` [INFO] [stderr] --> src/structures.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | / Func { [INFO] [stderr] 19 | | args: List, [INFO] [stderr] 20 | | ops: List, [INFO] [stderr] 21 | | env: Rc>, [INFO] [stderr] 22 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BuiltinFunc` [INFO] [stderr] --> src/structures.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | BuiltinFunc(String), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `type_name` [INFO] [stderr] --> src/structures.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn type_name(&self) -> &str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_list` [INFO] [stderr] --> src/structures.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn extract_list(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_symbol` [INFO] [stderr] --> src/structures.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn extract_symbol(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_int` [INFO] [stderr] --> src/structures.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn extract_int(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_bool` [INFO] [stderr] --> src/structures.rs:87:5 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn extract_bool(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_string` [INFO] [stderr] --> src/structures.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | pub fn extract_string(&self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `extract_func` [INFO] [stderr] --> src/structures.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | pub fn extract_func(&self) -> Result<(List, List, Rc>), String> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unit` [INFO] [stderr] --> src/structures.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn unit() -> List { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/structures.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | pub fn new() -> Env { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/structures.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | write!(f, "("); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/structures.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | write!(f, "{:?}", e); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/structures.rs:140:17 [INFO] [stderr] | [INFO] [stderr] 140 | write!(f, " "); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this warning originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.54s [INFO] running `"docker" "inspect" "2a3bfccb5f35dd8c7bd02190651f0d03ed9f1024dd5a6bbaca0a35e696fdcedf"` [INFO] running `"docker" "rm" "-f" "2a3bfccb5f35dd8c7bd02190651f0d03ed9f1024dd5a6bbaca0a35e696fdcedf"` [INFO] [stdout] 2a3bfccb5f35dd8c7bd02190651f0d03ed9f1024dd5a6bbaca0a35e696fdcedf [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-1/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/algon-320/mini-lisp-vm:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.37.0" "test" "--frozen"` [INFO] [stdout] 410a5a3144ee94d0de44bb8a382c0680172b6557a0e80a5791d67b45f65a28dd [INFO] running `"docker" "start" "-a" "410a5a3144ee94d0de44bb8a382c0680172b6557a0e80a5791d67b45f65a28dd"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running /opt/crater/target/debug/deps/mini_lisp_vm-061440ace9edee55 [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test vm::virtual_machine::malloc ... ok [INFO] [stdout] test vm::tests::store_data ... ok [INFO] [stdout] test vm::tests::op_assign ... ok [INFO] [stdout] test vm::tests::op_add ... ok [INFO] [stdout] test vm::tests::compare ... ok [INFO] [stdout] test util::tests::buffer_get_mut_ ... ok [INFO] [stdout] test vm::tests::stack ... ok [INFO] [stdout] test util::tests::buffer_read_write ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "410a5a3144ee94d0de44bb8a382c0680172b6557a0e80a5791d67b45f65a28dd"` [INFO] running `"docker" "rm" "-f" "410a5a3144ee94d0de44bb8a382c0680172b6557a0e80a5791d67b45f65a28dd"` [INFO] [stdout] 410a5a3144ee94d0de44bb8a382c0680172b6557a0e80a5791d67b45f65a28dd