[INFO] updating cached repository natemara/schwift [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/natemara/schwift [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/natemara/schwift" "work/ex/beta-1.38-1/sources/1.37.0/gh/natemara/schwift"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/natemara/schwift'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/natemara/schwift" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/natemara/schwift"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/natemara/schwift'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] bb07394f08f8de9fa0782a24192e5324d3183b42 [INFO] sha for GitHub repo natemara/schwift: bb07394f08f8de9fa0782a24192e5324d3183b42 [INFO] validating manifest of natemara/schwift 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 natemara/schwift 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 natemara/schwift [INFO] finished frobbing natemara/schwift [INFO] frobbed toml for natemara/schwift written to work/ex/beta-1.38-1/sources/1.37.0/gh/natemara/schwift/Cargo.toml [INFO] started frobbing natemara/schwift [INFO] finished frobbing natemara/schwift [INFO] frobbed toml for natemara/schwift written to work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/natemara/schwift/Cargo.toml [INFO] crate natemara/schwift 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 natemara/schwift 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-0/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/natemara/schwift:/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] 9d412fca6b7653b774800f364be8694207e1f198fbb54f55bf1bebf0e2351f36 [INFO] running `"docker" "start" "-a" "9d412fca6b7653b774800f364be8694207e1f198fbb54f55bf1bebf0e2351f36"` [INFO] [stderr] Compiling peg v0.5.4 [INFO] [stderr] Compiling libloading v0.4.2 [INFO] [stderr] Compiling schwift v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/schwift-0f54c11728ec0d84/out/schwift.rs:63:678 [INFO] [stderr] | [INFO] [stderr] 63 | fn __parse_int < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < IntT > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_res = match slice_eq ( __input , __state , __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 , { n.parse::().unwrap() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:65:479 [INFO] [stderr] | [INFO] [stderr] 65 | fn __parse_float < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < FloatT > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_res = { 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 } } ; match __seq_res { Matched ( __pos , _ ) => { { let __seq_res = slice_eq ( __input , __state , __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 , } } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , n ) => { Matched ( __pos , { n.parse::().unwrap() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:65:1244 [INFO] [stderr] | [INFO] [stderr] 65 | fn __parse_float < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < FloatT > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_res = { 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 } } ; match __seq_res { Matched ( __pos , _ ) => { { let __seq_res = slice_eq ( __input , __state , __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 , } } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , n ) => { Matched ( __pos , { n.parse::().unwrap() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:71:363 [INFO] [stderr] | [INFO] [stderr] 71 | fn __parse_identifier < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_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 __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; 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' | '0' ... '9' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; } , Failed => { break ; } } } Matched ( __repeat_pos , ( ) ) } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , s ) => { Matched ( __pos , { s.to_string() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:71:377 [INFO] [stderr] | [INFO] [stderr] 71 | fn __parse_identifier < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_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 __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; 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' | '0' ... '9' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; } , Failed => { break ; } } } Matched ( __repeat_pos , ( ) ) } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , s ) => { Matched ( __pos , { s.to_string() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:71:774 [INFO] [stderr] | [INFO] [stderr] 71 | fn __parse_identifier < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_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 __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; 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' | '0' ... '9' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; } , Failed => { break ; } } } Matched ( __repeat_pos , ( ) ) } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , s ) => { Matched ( __pos , { s.to_string() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:71:788 [INFO] [stderr] | [INFO] [stderr] 71 | fn __parse_identifier < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_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 __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; 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' | '0' ... '9' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; } , Failed => { break ; } } } Matched ( __repeat_pos , ( ) ) } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , s ) => { Matched ( __pos , { s.to_string() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:71:802 [INFO] [stderr] | [INFO] [stderr] 71 | fn __parse_identifier < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_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 __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; 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' | '0' ... '9' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; } , Failed => { break ; } } } Matched ( __repeat_pos , ( ) ) } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , s ) => { Matched ( __pos , { s.to_string() } ) } Failed => Failed , } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::slice_unchecked': use `get_unchecked(begin..end)` instead [INFO] [stderr] --> src/lib.rs:57:40 [INFO] [stderr] | [INFO] [stderr] 57 | let symbol = unsafe { file.slice_unchecked(i, i + 1) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::slice_unchecked': use `get_unchecked(begin..end)` instead [INFO] [stderr] --> src/lib.rs:64:37 [INFO] [stderr] | [INFO] [stderr] 64 | return file.slice_unchecked(last_newline, i); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::slice_unchecked': use `get_unchecked(begin..end)` instead [INFO] [stderr] --> src/statement.rs:177:29 [INFO] [stderr] | [INFO] [stderr] 177 | unsafe { source.slice_unchecked(self.start, self.end) }.to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*value` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/state/mod.rs:217:63 [INFO] [stderr] | [INFO] [stderr] 211 | fn get_list_element(&mut self, name: &str, index_exp: &Expression) -> SwResult<&mut Value> { [INFO] [stderr] | - let's call the lifetime of this reference `'1` [INFO] [stderr] ... [INFO] [stderr] 216 | Value::List(ref mut list) if index < list.len() => Ok(&mut list[index]), [INFO] [stderr] | ------------ -------------------- returning this value requires that `value.0` is borrowed for `'1` [INFO] [stderr] | | [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] 217 | Value::List(_) => Err(ErrorKind::IndexOutOfBounds(value.clone(), index)), [INFO] [stderr] | ^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*value` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/state/mod.rs:218:50 [INFO] [stderr] | [INFO] [stderr] 211 | fn get_list_element(&mut self, name: &str, index_exp: &Expression) -> SwResult<&mut Value> { [INFO] [stderr] | - let's call the lifetime of this reference `'1` [INFO] [stderr] ... [INFO] [stderr] 216 | Value::List(ref mut list) if index < list.len() => Ok(&mut list[index]), [INFO] [stderr] | ------------ -------------------- returning this value requires that `value.0` is borrowed for `'1` [INFO] [stderr] | | [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] 217 | Value::List(_) => Err(ErrorKind::IndexOutOfBounds(value.clone(), index)), [INFO] [stderr] 218 | _ => Err(ErrorKind::IndexUnindexable(value.clone())), [INFO] [stderr] | ^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 11.65s [INFO] running `"docker" "inspect" "9d412fca6b7653b774800f364be8694207e1f198fbb54f55bf1bebf0e2351f36"` [INFO] running `"docker" "rm" "-f" "9d412fca6b7653b774800f364be8694207e1f198fbb54f55bf1bebf0e2351f36"` [INFO] [stdout] 9d412fca6b7653b774800f364be8694207e1f198fbb54f55bf1bebf0e2351f36 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-0/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/natemara/schwift:/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] f06c1679941b9cd9c3865e814188c52fb5ed6778b5eb90cec4de4edca86ab64c [INFO] running `"docker" "start" "-a" "f06c1679941b9cd9c3865e814188c52fb5ed6778b5eb90cec4de4edca86ab64c"` [INFO] [stderr] Compiling serde v1.0.17 [INFO] [stderr] Compiling pulldown-cmark v0.1.0 [INFO] [stderr] Compiling difference v1.0.0 [INFO] [stderr] Compiling environment v0.1.1 [INFO] [stderr] Compiling colored v1.6.0 [INFO] [stderr] Compiling tempdir v0.3.5 [INFO] [stderr] Compiling backtrace-sys v0.1.16 [INFO] [stderr] Compiling serde_derive v1.0.17 [INFO] [stderr] Compiling backtrace v0.3.3 [INFO] [stderr] Compiling error-chain v0.11.0 [INFO] [stderr] Compiling serde_json v1.0.5 [INFO] [stderr] Compiling semver v0.8.0 [INFO] [stderr] Compiling cargo_metadata v0.3.1 [INFO] [stderr] Compiling skeptic v0.13.2 [INFO] [stderr] Compiling assert_cli v0.5.4 [INFO] [stderr] Compiling schwift v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/schwift-0f54c11728ec0d84/out/schwift.rs:63:678 [INFO] [stderr] | [INFO] [stderr] 63 | fn __parse_int < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < IntT > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_res = match slice_eq ( __input , __state , __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 , { n.parse::().unwrap() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:65:479 [INFO] [stderr] | [INFO] [stderr] 65 | fn __parse_float < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < FloatT > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_res = { 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 } } ; match __seq_res { Matched ( __pos , _ ) => { { let __seq_res = slice_eq ( __input , __state , __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 , } } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , n ) => { Matched ( __pos , { n.parse::().unwrap() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:65:1244 [INFO] [stderr] | [INFO] [stderr] 65 | fn __parse_float < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < FloatT > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_res = { 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 } } ; match __seq_res { Matched ( __pos , _ ) => { { let __seq_res = slice_eq ( __input , __state , __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 , } } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , n ) => { Matched ( __pos , { n.parse::().unwrap() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:71:363 [INFO] [stderr] | [INFO] [stderr] 71 | fn __parse_identifier < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_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 __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; 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' | '0' ... '9' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; } , Failed => { break ; } } } Matched ( __repeat_pos , ( ) ) } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , s ) => { Matched ( __pos , { s.to_string() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:71:377 [INFO] [stderr] | [INFO] [stderr] 71 | fn __parse_identifier < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_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 __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; 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' | '0' ... '9' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; } , Failed => { break ; } } } Matched ( __repeat_pos , ( ) ) } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , s ) => { Matched ( __pos , { s.to_string() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:71:774 [INFO] [stderr] | [INFO] [stderr] 71 | fn __parse_identifier < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_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 __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; 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' | '0' ... '9' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; } , Failed => { break ; } } } Matched ( __repeat_pos , ( ) ) } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , s ) => { Matched ( __pos , { s.to_string() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:71:788 [INFO] [stderr] | [INFO] [stderr] 71 | fn __parse_identifier < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_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 __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; 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' | '0' ... '9' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; } , Failed => { break ; } } } Matched ( __repeat_pos , ( ) ) } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , s ) => { Matched ( __pos , { s.to_string() } ) } 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/schwift-0f54c11728ec0d84/out/schwift.rs:71:802 [INFO] [stderr] | [INFO] [stderr] 71 | fn __parse_identifier < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let __seq_res = { let str_start = __pos ; match { let __seq_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 __seq_res { Matched ( __pos , _ ) => { { let mut __repeat_pos = __pos ; 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' | '0' ... '9' | '_' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) , } } else { __state . mark_failure ( __pos , "[a-zA-Z0-9_]" ) } ; match __step_res { Matched ( __newpos , __value ) => { __repeat_pos = __newpos ; } , Failed => { break ; } } } Matched ( __repeat_pos , ( ) ) } } Failed => Failed , } } { Matched ( __newpos , _ ) => { Matched ( __newpos , & __input [ str_start .. __newpos ] ) } , Failed => Failed , } } ; match __seq_res { Matched ( __pos , s ) => { Matched ( __pos , { s.to_string() } ) } Failed => Failed , } } } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::slice_unchecked': use `get_unchecked(begin..end)` instead [INFO] [stderr] --> src/lib.rs:57:40 [INFO] [stderr] | [INFO] [stderr] 57 | let symbol = unsafe { file.slice_unchecked(i, i + 1) }; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::slice_unchecked': use `get_unchecked(begin..end)` instead [INFO] [stderr] --> src/lib.rs:64:37 [INFO] [stderr] | [INFO] [stderr] 64 | return file.slice_unchecked(last_newline, i); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::slice_unchecked': use `get_unchecked(begin..end)` instead [INFO] [stderr] --> src/statement.rs:177:29 [INFO] [stderr] | [INFO] [stderr] 177 | unsafe { source.slice_unchecked(self.start, self.end) }.to_string(), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*value` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/state/mod.rs:217:63 [INFO] [stderr] | [INFO] [stderr] 211 | fn get_list_element(&mut self, name: &str, index_exp: &Expression) -> SwResult<&mut Value> { [INFO] [stderr] | - let's call the lifetime of this reference `'1` [INFO] [stderr] ... [INFO] [stderr] 216 | Value::List(ref mut list) if index < list.len() => Ok(&mut list[index]), [INFO] [stderr] | ------------ -------------------- returning this value requires that `value.0` is borrowed for `'1` [INFO] [stderr] | | [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] 217 | Value::List(_) => Err(ErrorKind::IndexOutOfBounds(value.clone(), index)), [INFO] [stderr] | ^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] warning[E0502]: cannot borrow `*value` as immutable because it is also borrowed as mutable [INFO] [stderr] --> src/state/mod.rs:218:50 [INFO] [stderr] | [INFO] [stderr] 211 | fn get_list_element(&mut self, name: &str, index_exp: &Expression) -> SwResult<&mut Value> { [INFO] [stderr] | - let's call the lifetime of this reference `'1` [INFO] [stderr] ... [INFO] [stderr] 216 | Value::List(ref mut list) if index < list.len() => Ok(&mut list[index]), [INFO] [stderr] | ------------ -------------------- returning this value requires that `value.0` is borrowed for `'1` [INFO] [stderr] | | [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] 217 | Value::List(_) => Err(ErrorKind::IndexOutOfBounds(value.clone(), index)), [INFO] [stderr] 218 | _ => Err(ErrorKind::IndexUnindexable(value.clone())), [INFO] [stderr] | ^^^^^ immutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this error has been downgraded to a warning for backwards compatibility with previous releases [INFO] [stderr] = warning: this represents potential undefined behavior in your code and this warning will become a hard error in the future [INFO] [stderr] = note: for more information, try `rustc --explain E0729` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 43.83s [INFO] running `"docker" "inspect" "f06c1679941b9cd9c3865e814188c52fb5ed6778b5eb90cec4de4edca86ab64c"` [INFO] running `"docker" "rm" "-f" "f06c1679941b9cd9c3865e814188c52fb5ed6778b5eb90cec4de4edca86ab64c"` [INFO] [stdout] f06c1679941b9cd9c3865e814188c52fb5ed6778b5eb90cec4de4edca86ab64c [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-0/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/natemara/schwift:/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] 1483ce38cfa90566aede338285e04eb8be6a94fa4cdaab87858f6af3995a5178 [INFO] running `"docker" "start" "-a" "1483ce38cfa90566aede338285e04eb8be6a94fa4cdaab87858f6af3995a5178"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.63s [INFO] [stderr] Running /opt/crater/target/debug/deps/schwift-67e1176e81367699 [INFO] [stdout] [INFO] [stdout] running 49 tests [INFO] [stdout] test grammar_tests::test_eval_add_string_to_variable ... ok [INFO] [stdout] test grammar_tests::test_equality ... ok [INFO] [stdout] test grammar_tests::test_and ... ok [INFO] [stdout] test grammar_tests::test_empty_after_block ... ok [INFO] [stdout] test grammar_tests::test_catch ... ok [INFO] [stdout] test grammar_tests::test_block ... ok [INFO] [stdout] test grammar_tests::test_expression_parenthesis ... ok [INFO] [stdout] test grammar_tests::test_eval_add_strings ... ok [INFO] [stdout] test grammar_tests::test_eval_static_string ... ok [INFO] [stdout] test grammar_tests::test_expression_string ... ok [INFO] [stdout] test grammar_tests::test_block_starts_with_newline ... ok [INFO] [stdout] test grammar_tests::test_list_append_statement ... ok [INFO] [stdout] test grammar_tests::test_args ... ok [INFO] [stdout] test grammar_tests::test_function_def ... ok [INFO] [stdout] test grammar_tests::test_function_no_space_in_name_and_params ... ok [INFO] [stdout] test grammar_tests::test_int ... ok [INFO] [stdout] test grammar_tests::test_list_instantiation ... ok [INFO] [stdout] test grammar_tests::test_input ... ok [INFO] [stdout] test grammar_tests::test_function_no_spaces_in_def ... ok [INFO] [stdout] test grammar_tests::test_list_deletion ... ok [INFO] [stdout] test grammar_tests::test_list_instantiation_statement ... ok [INFO] [stdout] test grammar_tests::test_modulus ... ok [INFO] [stdout] test grammar_tests::test_multiple_operator_expressions_parenthesis ... ok [INFO] [stdout] test grammar_tests::test_neq ... ok [INFO] [stdout] test grammar_tests::test_index_and_addition ... ok [INFO] [stdout] test grammar_tests::test_not ... ok [INFO] [stdout] test grammar_tests::test_operator_expression_parenthesis ... ok [INFO] [stdout] test grammar_tests::test_list_length ... ok [INFO] [stdout] test grammar_tests::test_list_assign ... ok [INFO] [stdout] test grammar_tests::test_operator_expression_parenthesis_expression_parenthesis ... ok [INFO] [stdout] test grammar_tests::test_nested_while ... ok [INFO] [stdout] test grammar_tests::test_printing ... ok [INFO] [stdout] test grammar_tests::test_or ... ok [INFO] [stdout] test grammar_tests::test_operator_expressions_no_whitespace ... ok [INFO] [stdout] test grammar_tests::test_works_on_windows_fuck_windows ... ok [INFO] [stdout] test grammar_tests::test_string ... ok [INFO] [stdout] test grammar_tests::test_while ... ok [INFO] [stdout] test grammar_tests::test_while_compound_condition ... ok [INFO] [stdout] test state::test::test_early_return_while ... ok [INFO] [stdout] test vec_map::test::should_mut_borrow_1_and_4 ... ok [INFO] [stdout] test vec_map::test::should_remove_1_and_4 ... ok [INFO] [stdout] test state::test::test_get_returns_error_if_not_present ... ok [INFO] [stdout] test state::test::test_get_returns_value_if_present ... ok [INFO] [stdout] test state::test::test_early_return_if ... ok [INFO] [stdout] test state::test::test_modulus ... ok [INFO] [stdout] test state::test::test_remove_from_symbol_table ... ok [INFO] [stdout] test vec_map::test::should_store_1_and_4 ... ok [INFO] [stdout] test state::test::test_assignment_adds_to_symbol_table ... ok [INFO] [stdout] test state::test::test_is_prime ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 49 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/schwift-0f928243051d8445 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/cli-0c26466b31f97c98 [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_brainfuck ... FAILED [INFO] [stdout] test test_hello_world ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- test_brainfuck stdout ---- [INFO] [stdout] thread 'test_brainfuck' panicked at 'CLI assertion failed: (command `cargo run -- examples/brainfuck.y` expected to succeed) [INFO] [stdout] status=failed [INFO] [stdout] stdout=`````` [INFO] [stdout] stderr=```error: failed to write /opt/crater/workdir/Cargo.lock [INFO] [stdout] [INFO] [stdout] Caused by: [INFO] [stdout] failed to open: /opt/crater/workdir/Cargo.lock [INFO] [stdout] [INFO] [stdout] Caused by: [INFO] [stdout] Read-only file system (os error 30) [INFO] [stdout] ```', /opt/crater/cargo-home/registry/src/github.com-1ecc6299db9ec823/assert_cli-0.5.4/src/assert.rs:368:13 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55a72bade37b - backtrace::backtrace::libunwind::trace::hfe5db90796807973 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/libunwind.rs:88 [INFO] [stdout] 1: 0x55a72bade37b - backtrace::backtrace::trace_unsynchronized::h34b865a835594335 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x55a72bade37b - std::sys_common::backtrace::_print::h527254ae44989167 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:47 [INFO] [stdout] 3: 0x55a72bade37b - std::sys_common::backtrace::print::he85dd5ddddf46503 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:36 [INFO] [stdout] 4: 0x55a72bade37b - std::panicking::default_hook::{{closure}}::h847a2eb38b396f14 [INFO] [stdout] at src/libstd/panicking.rs:200 [INFO] [stdout] 5: 0x55a72baddfea - std::panicking::default_hook::h2ca0f9a30a0e206b [INFO] [stdout] at src/libstd/panicking.rs:211 [INFO] [stdout] 6: 0x55a72badeaf0 - std::panicking::rust_panic_with_hook::hffcefc09751839d1 [INFO] [stdout] at src/libstd/panicking.rs:477 [INFO] [stdout] 7: 0x55a72bade672 - std::panicking::continue_panic_fmt::hc0f142c930c846fc [INFO] [stdout] at src/libstd/panicking.rs:384 [INFO] [stdout] 8: 0x55a72bade5bf - std::panicking::begin_panic_fmt::ha6acf0ffd6d7f80d [INFO] [stdout] at src/libstd/panicking.rs:339 [INFO] [stdout] 9: 0x55a72ba586ed - assert_cli::assert::Assert::unwrap::h4fd495488eb486c5 [INFO] [stdout] at /opt/crater/cargo-home/registry/src/github.com-1ecc6299db9ec823/assert_cli-0.5.4/src/assert.rs:368 [INFO] [stdout] 10: 0x55a72ba156c6 - cli::test_brainfuck::h71889fbc7b5d5b14 [INFO] [stdout] at tests/cli.rs:26 [INFO] [stdout] 11: 0x55a72ba1553a - cli::test_brainfuck::{{closure}}::hb2b012e7ee243bf9 [INFO] [stdout] at tests/cli.rs:20 [INFO] [stdout] 12: 0x55a72ba136de - core::ops::function::FnOnce::call_once::h24c679fb4a78be99 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libcore/ops/function.rs:231 [INFO] [stdout] 13: 0x55a72ba20d7f - as core::ops::function::FnOnce>::call_once::h4a13ee3f0d7b4201 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/liballoc/boxed.rs:746 [INFO] [stdout] 14: 0x55a72bae581a - __rust_maybe_catch_panic [INFO] [stdout] at src/libpanic_unwind/lib.rs:82 [INFO] [stdout] 15: 0x55a72ba3b378 - std::panicking::try::h5a93466ab2078586 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panicking.rs:275 [INFO] [stdout] 16: 0x55a72ba3b378 - std::panic::catch_unwind::h752cbeae6ac7bdea [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panic.rs:394 [INFO] [stdout] 17: 0x55a72ba3b378 - test::run_test::run_test_inner::{{closure}}::h206c9c16936edaca [INFO] [stdout] at src/libtest/lib.rs:1466 [INFO] [stdout] 18: 0x55a72ba161f5 - std::sys_common::backtrace::__rust_begin_short_backtrace::hc7edbac42990d270 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/sys_common/backtrace.rs:77 [INFO] [stdout] 19: 0x55a72ba1a2b5 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he53c58e7adee87af [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/thread/mod.rs:470 [INFO] [stdout] 20: 0x55a72ba1a2b5 - as core::ops::function::FnOnce<()>>::call_once::h1aff7c42b6bb3726 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panic.rs:315 [INFO] [stdout] 21: 0x55a72ba1a2b5 - std::panicking::try::do_call::h41f8559f88100f6c [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panicking.rs:296 [INFO] [stdout] 22: 0x55a72bae581a - __rust_maybe_catch_panic [INFO] [stdout] at src/libpanic_unwind/lib.rs:82 [INFO] [stdout] 23: 0x55a72ba1a9b2 - std::panicking::try::hb54ba808181fe352 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panicking.rs:275 [INFO] [stdout] 24: 0x55a72ba1a9b2 - std::panic::catch_unwind::h555ccf4e835e93f4 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panic.rs:394 [INFO] [stdout] 25: 0x55a72ba1a9b2 - std::thread::Builder::spawn_unchecked::{{closure}}::hd4dae6e19e80fc1a [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/thread/mod.rs:469 [INFO] [stdout] 26: 0x55a72ba1a9b2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hc35d54c07710e1a1 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libcore/ops/function.rs:231 [INFO] [stdout] 27: 0x55a72bad2d3f - as core::ops::function::FnOnce>::call_once::h42806b83647d4c79 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/liballoc/boxed.rs:746 [INFO] [stdout] 28: 0x55a72bae4f70 - as core::ops::function::FnOnce>::call_once::h83c921c8e826dd1d [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/liballoc/boxed.rs:746 [INFO] [stdout] 29: 0x55a72bae4f70 - std::sys_common::thread::start_thread::h2613204ce513782e [INFO] [stdout] at src/libstd/sys_common/thread.rs:13 [INFO] [stdout] 30: 0x55a72bae4f70 - std::sys::unix::thread::Thread::new::thread_start::h4570080769500bcd [INFO] [stdout] at src/libstd/sys/unix/thread.rs:79 [INFO] [stdout] 31: 0x7fe1c9f014a4 - start_thread [INFO] [stdout] 32: 0x7fe1c9a2cd0f - __clone [INFO] [stdout] 33: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- test_hello_world stdout ---- [INFO] [stdout] thread 'test_hello_world' panicked at 'CLI assertion failed: (command `cargo run -- examples/hello.y` expected to succeed) [INFO] [stdout] status=failed [INFO] [stdout] stdout=`````` [INFO] [stdout] stderr=```error: failed to write /opt/crater/workdir/Cargo.lock [INFO] [stdout] [INFO] [stdout] Caused by: [INFO] [stdout] failed to open: /opt/crater/workdir/Cargo.lock [INFO] [stdout] [INFO] [stdout] Caused by: [INFO] [stdout] Read-only file system (os error 30) [INFO] [stdout] ```', /opt/crater/cargo-home/registry/src/github.com-1ecc6299db9ec823/assert_cli-0.5.4/src/assert.rs:368:13 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55a72bade37b - backtrace::backtrace::libunwind::trace::hfe5db90796807973 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/libunwind.rs:88 [INFO] [stdout] 1: 0x55a72bade37b - backtrace::backtrace::trace_unsynchronized::h34b865a835594335 [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x55a72bade37b - std::sys_common::backtrace::_print::h527254ae44989167 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:47 [INFO] [stdout] 3: 0x55a72bade37b - std::sys_common::backtrace::print::he85dd5ddddf46503 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:36 [INFO] [stdout] 4: 0x55a72bade37b - std::panicking::default_hook::{{closure}}::h847a2eb38b396f14 [INFO] [stdout] at src/libstd/panicking.rs:200 [INFO] [stdout] 5: 0x55a72baddfea - std::panicking::default_hook::h2ca0f9a30a0e206b [INFO] [stdout] at src/libstd/panicking.rs:211 [INFO] [stdout] 6: 0x55a72badeaf0 - std::panicking::rust_panic_with_hook::hffcefc09751839d1 [INFO] [stdout] at src/libstd/panicking.rs:477 [INFO] [stdout] 7: 0x55a72bade672 - std::panicking::continue_panic_fmt::hc0f142c930c846fc [INFO] [stdout] at src/libstd/panicking.rs:384 [INFO] [stdout] 8: 0x55a72bade5bf - std::panicking::begin_panic_fmt::ha6acf0ffd6d7f80d [INFO] [stdout] at src/libstd/panicking.rs:339 [INFO] [stdout] 9: 0x55a72ba586ed - assert_cli::assert::Assert::unwrap::h4fd495488eb486c5 [INFO] [stdout] at /opt/crater/cargo-home/registry/src/github.com-1ecc6299db9ec823/assert_cli-0.5.4/src/assert.rs:368 [INFO] [stdout] 10: 0x55a72ba15521 - cli::test_hello_world::h11c01bd4646a6a38 [INFO] [stdout] at tests/cli.rs:8 [INFO] [stdout] 11: 0x55a72ba1541a - cli::test_hello_world::{{closure}}::h59b3b2b77f0e82e4 [INFO] [stdout] at tests/cli.rs:7 [INFO] [stdout] 12: 0x55a72ba1371e - core::ops::function::FnOnce::call_once::h32f8d7cdb0f545d2 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libcore/ops/function.rs:231 [INFO] [stdout] 13: 0x55a72ba20d7f - as core::ops::function::FnOnce>::call_once::h4a13ee3f0d7b4201 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/liballoc/boxed.rs:746 [INFO] [stdout] 14: 0x55a72bae581a - __rust_maybe_catch_panic [INFO] [stdout] at src/libpanic_unwind/lib.rs:82 [INFO] [stdout] 15: 0x55a72ba3b378 - std::panicking::try::h5a93466ab2078586 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panicking.rs:275 [INFO] [stdout] 16: 0x55a72ba3b378 - std::panic::catch_unwind::h752cbeae6ac7bdea [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panic.rs:394 [INFO] [stdout] 17: 0x55a72ba3b378 - test::run_test::run_test_inner::{{closure}}::h206c9c16936edaca [INFO] [stdout] at src/libtest/lib.rs:1466 [INFO] [stdout] 18: 0x55a72ba161f5 - std::sys_common::backtrace::__rust_begin_short_backtrace::hc7edbac42990d270 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/sys_common/backtrace.rs:77 [INFO] [stdout] 19: 0x55a72ba1a2b5 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::he53c58e7adee87af [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/thread/mod.rs:470 [INFO] [stdout] 20: 0x55a72ba1a2b5 - as core::ops::function::FnOnce<()>>::call_once::h1aff7c42b6bb3726 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panic.rs:315 [INFO] [stdout] 21: 0x55a72ba1a2b5 - std::panicking::try::do_call::h41f8559f88100f6c [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panicking.rs:296 [INFO] [stdout] 22: 0x55a72bae581a - __rust_maybe_catch_panic [INFO] [stdout] at src/libpanic_unwind/lib.rs:82 [INFO] [stdout] 23: 0x55a72ba1a9b2 - std::panicking::try::hb54ba808181fe352 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panicking.rs:275 [INFO] [stdout] 24: 0x55a72ba1a9b2 - std::panic::catch_unwind::h555ccf4e835e93f4 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/panic.rs:394 [INFO] [stdout] 25: 0x55a72ba1a9b2 - std::thread::Builder::spawn_unchecked::{{closure}}::hd4dae6e19e80fc1a [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libstd/thread/mod.rs:469 [INFO] [stdout] 26: 0x55a72ba1a9b2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hc35d54c07710e1a1 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/libcore/ops/function.rs:231 [INFO] [stdout] 27: 0x55a72bad2d3f - as core::ops::function::FnOnce>::call_once::h42806b83647d4c79 [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/liballoc/boxed.rs:746 [INFO] [stdout] 28: 0x55a72bae4f70 - as core::ops::function::FnOnce>::call_once::h83c921c8e826dd1d [INFO] [stdout] at /rustc/eae3437dfe991621e8afdc82734f4a172d7ddf9b/src/liballoc/boxed.rs:746 [INFO] [stdout] 29: 0x55a72bae4f70 - std::sys_common::thread::start_thread::h2613204ce513782e [INFO] [stdout] at src/libstd/sys_common/thread.rs:13 [INFO] [stdout] 30: 0x55a72bae4f70 - std::sys::unix::thread::Thread::new::thread_start::h4570080769500bcd [INFO] [stdout] at src/libstd/sys/unix/thread.rs:79 [INFO] [stdout] 31: 0x7fe1c9f014a4 - start_thread [INFO] [stdout] 32: 0x7fe1c9a2cd0f - __clone [INFO] [stdout] 33: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] test_brainfuck [INFO] [stdout] test_hello_world [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--test cli' [INFO] running `"docker" "inspect" "1483ce38cfa90566aede338285e04eb8be6a94fa4cdaab87858f6af3995a5178"` [INFO] running `"docker" "rm" "-f" "1483ce38cfa90566aede338285e04eb8be6a94fa4cdaab87858f6af3995a5178"` [INFO] [stdout] 1483ce38cfa90566aede338285e04eb8be6a94fa4cdaab87858f6af3995a5178