[INFO] crate glop 0.2.5 is already in cache [INFO] extracting crate glop 0.2.5 into work/ex/beta-1.38-1/sources/1.37.0/reg/glop/0.2.5 [INFO] extracting crate glop 0.2.5 into work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/glop/0.2.5 [INFO] validating manifest of glop-0.2.5 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 glop-0.2.5 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 glop-0.2.5 [INFO] finished frobbing glop-0.2.5 [INFO] frobbed toml for glop-0.2.5 written to work/ex/beta-1.38-1/sources/1.37.0/reg/glop/0.2.5/Cargo.toml [INFO] started frobbing glop-0.2.5 [INFO] finished frobbing glop-0.2.5 [INFO] frobbed toml for glop-0.2.5 written to work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/glop/0.2.5/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 glop-0.2.5 against beta-2019-08-13 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-3/beta-2019-08-13:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/glop/0.2.5:/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" "+beta-2019-08-13" "build" "--frozen"` [INFO] [stdout] 64701d15087129f272a2ab9f89494352efac5839d7e4347a395845e6e2c1f3b8 [INFO] running `"docker" "start" "-a" "64701d15087129f272a2ab9f89494352efac5839d7e4347a395845e6e2c1f3b8"` [INFO] [stderr] Compiling libsodium-sys v0.0.14 [INFO] [stderr] Compiling peg v0.4.0 [INFO] [stderr] Compiling base64 v0.4.2 [INFO] [stderr] Compiling textnonce v0.4.1 [INFO] [stderr] Compiling tokio-signal v0.1.5 [INFO] [stderr] Compiling spoolq v0.2.3 [INFO] [stderr] Compiling sodiumoxide v0.0.14 [INFO] [stderr] Compiling tokio-process v0.1.6 [INFO] [stderr] Compiling glop v0.2.5 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/agent.rs:95:30 [INFO] [stderr] | [INFO] [stderr] 95 | outbox: Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn runtime::Outbox + Send + 'static` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/agent.rs:129:30 [INFO] [stderr] | [INFO] [stderr] 129 | outbox: Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn runtime::Outbox + Send + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/agent.rs:239:30 [INFO] [stderr] | [INFO] [stderr] 239 | outbox: Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn runtime::Outbox + Send + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/server.rs:168:34 [INFO] [stderr] | [INFO] [stderr] 168 | }) as Box)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn runtime::Outbox + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/server.rs:297:17 [INFO] [stderr] | [INFO] [stderr] 297 | tokens: Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn TokenStorage` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/server.rs:304:28 [INFO] [stderr] | [INFO] [stderr] 304 | pub fn new(tokens: Box) -> SecureServiceCodec { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn TokenStorage` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:101:32 [INFO] [stderr] | [INFO] [stderr] 101 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/glop-ed281dc93655f107/out/glop.rs:116:353 [INFO] [stderr] | [INFO] [stderr] 116 | fn parse_idpart < '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' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z]" ) , } } else { __state . mark_failure ( __pos , "[a-z]" ) } ; 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 { 'a' ... 'z' | '0' ... '9' | '_' | '^' | '.' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z0-9_^.]" ) , } } else { __state . mark_failure ( __pos , "[a-z0-9_^.]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } } Failed => Failed , } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } 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/glop-ed281dc93655f107/out/glop.rs:116:767 [INFO] [stderr] | [INFO] [stderr] 116 | fn parse_idpart < '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' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z]" ) , } } else { __state . mark_failure ( __pos , "[a-z]" ) } ; 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 { 'a' ... 'z' | '0' ... '9' | '_' | '^' | '.' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z0-9_^.]" ) , } } else { __state . mark_failure ( __pos , "[a-z0-9_^.]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } } Failed => Failed , } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } 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/glop-ed281dc93655f107/out/glop.rs:116:781 [INFO] [stderr] | [INFO] [stderr] 116 | fn parse_idpart < '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' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z]" ) , } } else { __state . mark_failure ( __pos , "[a-z]" ) } ; 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 { 'a' ... 'z' | '0' ... '9' | '_' | '^' | '.' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z0-9_^.]" ) , } } else { __state . mark_failure ( __pos , "[a-z0-9_^.]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } } Failed => Failed , } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } 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/glop-ed281dc93655f107/out/glop.rs:118:472 [INFO] [stderr] | [INFO] [stderr] 118 | fn parse_value < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let choice_res = { 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' | '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 ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } ; match choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; 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 { '"' => __state . mark_failure ( __pos , "[^\"]" ) , _ => Matched ( __next , ( ) ) , } } else { __state . mark_failure ( __pos , "[^\"]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; match seq_res { Matched ( __pos , _ ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } } 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/glop-ed281dc93655f107/out/glop.rs:118:486 [INFO] [stderr] | [INFO] [stderr] 118 | fn parse_value < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let choice_res = { 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' | '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 ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } ; match choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; 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 { '"' => __state . mark_failure ( __pos , "[^\"]" ) , _ => Matched ( __next , ( ) ) , } } else { __state . mark_failure ( __pos , "[^\"]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; match seq_res { Matched ( __pos , _ ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } } 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/glop-ed281dc93655f107/out/glop.rs:118:500 [INFO] [stderr] | [INFO] [stderr] 118 | fn parse_value < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let choice_res = { 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' | '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 ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } ; match choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; 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 { '"' => __state . mark_failure ( __pos , "[^\"]" ) , _ => Matched ( __next , ( ) ) , } } else { __state . mark_failure ( __pos , "[^\"]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; match seq_res { Matched ( __pos , _ ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } } 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/glop-ed281dc93655f107/out/glop.rs:150:359 [INFO] [stderr] | [INFO] [stderr] 150 | fn parse_whitespace < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < () > { # ! [ allow ( non_snake_case , unused ) ] if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { ' ' | '\t' | '\u{a0}' | '\u{feff}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[ \t\u{a0}\u{feff}\u{1680}\u{180e}\u{2000}-\u{200a}\u{202f}\u{205f}\u{3000}]" ) , } } else { __state . mark_failure ( __pos , "[ \t\u{a0}\u{feff}\u{1680}\u{180e}\u{2000}-\u{200a}\u{202f}\u{205f}\u{3000}]" ) } } pub fn glop < 'input > ( input : & 'input str ) -> ParseResult < Glop > { # ! [ allow ( non_snake_case , unused ) ] let mut state = ParseState :: new ( ) ; match parse_glop ( input , & mut state , 0 ) { Matched ( pos , value ) => { if pos == input . len ( ) { return Ok ( value ) } } _ => { } } let ( line , col ) = pos_to_line ( input , state . max_err_pos ) ; Err ( ParseError { line : line , column : col , offset : state . max_err_pos , expected : state . expected , } ) } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/runtime/state.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | outbox: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Outbox + Send + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/runtime/state.rs:43:58 [INFO] [stderr] | [INFO] [stderr] 43 | outbox: Box::new(UndeliverableOutbox) as Box, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Outbox + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/runtime/state.rs:47:59 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn new_outbox(name: &str, storage: S, outbox: Box) -> State { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Outbox + Send + 'static` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/agent/client.rs:132:22 [INFO] [stderr] | [INFO] [stderr] 132 | type Transport = tokio_io::codec::Framed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::BoxFuture': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/agent/server.rs:284:19 [INFO] [stderr] | [INFO] [stderr] 284 | type Future = futures::BoxFuture; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::BoxFuture': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/runtime/script.rs:18:37 [INFO] [stderr] | [INFO] [stderr] 18 | use self::futures::{future, Future, BoxFuture, Sink, Stream}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/runtime/script.rs:21:47 [INFO] [stderr] | [INFO] [stderr] 21 | use self::tokio_io::codec::{Decoder, Encoder, Framed}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/runtime/script.rs:199:22 [INFO] [stderr] | [INFO] [stderr] 199 | type Transport = Framed>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::BoxFuture': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/runtime/script.rs:230:19 [INFO] [stderr] | [INFO] [stderr] 230 | type Future = BoxFuture; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/signal_fix.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | use std::sync::{Once, ONCE_INIT, Mutex, MutexGuard}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/signal_fix.rs:16:21 [INFO] [stderr] | [INFO] [stderr] 16 | static INIT: Once = ONCE_INIT; [INFO] [stderr] | ^^^^^^^^^ help: replace the use of the deprecated item: `Once::new()` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead [INFO] [stderr] --> src/agent/client.rs:136:15 [INFO] [stderr] | [INFO] [stderr] 136 | Ok(io.framed(SecureClientCodec::new(self.token.clone()))) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/agent/server.rs:288:49 [INFO] [stderr] | [INFO] [stderr] 288 | Ok(res) => futures::future::ok(res).boxed(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/agent/server.rs:290:93 [INFO] [stderr] | [INFO] [stderr] 290 | futures::future::ok(Response::Error(format!("agent service error: {}", e))).boxed() [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead [INFO] [stderr] --> src/agent/server.rs:434:35 [INFO] [stderr] | [INFO] [stderr] 434 | let (wr, rd) = socket.framed(SecureServiceCodec::new(Box::new(token_storage))) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/crypto.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | buf.put_u32::(c.len() as u32); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead [INFO] [stderr] --> src/runtime/script.rs:203:15 [INFO] [stderr] | [INFO] [stderr] 203 | Ok(io.framed(crypto::SecretBoxCodec::new(ClientCodec, self.key.clone()))) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/runtime/script.rs:337:25 [INFO] [stderr] | [INFO] [stderr] 337 | future::ok(res).boxed() [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead [INFO] [stderr] --> src/runtime/script.rs:390:18 [INFO] [stderr] | [INFO] [stderr] 390 | .framed(crypto::SecretBoxCodec::new(ServiceCodec, key.clone())) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/agent/server.rs:133:17 [INFO] [stderr] | [INFO] [stderr] 133 | let mut state = &mut svc.state.lock().unwrap(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/runtime/script.rs:351:9 [INFO] [stderr] | [INFO] [stderr] 351 | let mut cmd = &mut Command::new(script_path); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/runtime/state.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | let mut txn = txn; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 32.79s [INFO] running `"docker" "inspect" "64701d15087129f272a2ab9f89494352efac5839d7e4347a395845e6e2c1f3b8"` [INFO] running `"docker" "rm" "-f" "64701d15087129f272a2ab9f89494352efac5839d7e4347a395845e6e2c1f3b8"` [INFO] [stdout] 64701d15087129f272a2ab9f89494352efac5839d7e4347a395845e6e2c1f3b8 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-3/beta-2019-08-13:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/glop/0.2.5:/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" "+beta-2019-08-13" "test" "--frozen" "--no-run"` [INFO] [stdout] 6bcd2fb708acbe5ffc4ad524c90a981c673a1365616bf8888f732f632e1a1e1c [INFO] running `"docker" "start" "-a" "6bcd2fb708acbe5ffc4ad524c90a981c673a1365616bf8888f732f632e1a1e1c"` [INFO] [stderr] Compiling glop v0.2.5 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/agent.rs:95:30 [INFO] [stderr] | [INFO] [stderr] 95 | outbox: Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn runtime::Outbox + Send + 'static` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/agent.rs:129:30 [INFO] [stderr] | [INFO] [stderr] 129 | outbox: Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn runtime::Outbox + Send + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/agent.rs:239:30 [INFO] [stderr] | [INFO] [stderr] 239 | outbox: Box) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn runtime::Outbox + Send + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/server.rs:168:34 [INFO] [stderr] | [INFO] [stderr] 168 | }) as Box)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn runtime::Outbox + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/server.rs:297:17 [INFO] [stderr] | [INFO] [stderr] 297 | tokens: Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn TokenStorage` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/agent/server.rs:304:28 [INFO] [stderr] | [INFO] [stderr] 304 | pub fn new(tokens: Box) -> SecureServiceCodec { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn TokenStorage` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/error.rs:101:32 [INFO] [stderr] | [INFO] [stderr] 101 | fn cause(&self) -> Option<&std::error::Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> /opt/crater/target/debug/build/glop-ed281dc93655f107/out/glop.rs:116:353 [INFO] [stderr] | [INFO] [stderr] 116 | fn parse_idpart < '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' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z]" ) , } } else { __state . mark_failure ( __pos , "[a-z]" ) } ; 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 { 'a' ... 'z' | '0' ... '9' | '_' | '^' | '.' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z0-9_^.]" ) , } } else { __state . mark_failure ( __pos , "[a-z0-9_^.]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } } Failed => Failed , } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } 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/glop-ed281dc93655f107/out/glop.rs:116:767 [INFO] [stderr] | [INFO] [stderr] 116 | fn parse_idpart < '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' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z]" ) , } } else { __state . mark_failure ( __pos , "[a-z]" ) } ; 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 { 'a' ... 'z' | '0' ... '9' | '_' | '^' | '.' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z0-9_^.]" ) , } } else { __state . mark_failure ( __pos , "[a-z0-9_^.]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } } Failed => Failed , } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } 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/glop-ed281dc93655f107/out/glop.rs:116:781 [INFO] [stderr] | [INFO] [stderr] 116 | fn parse_idpart < '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' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z]" ) , } } else { __state . mark_failure ( __pos , "[a-z]" ) } ; 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 { 'a' ... 'z' | '0' ... '9' | '_' | '^' | '.' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[a-z0-9_^.]" ) , } } else { __state . mark_failure ( __pos , "[a-z0-9_^.]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } } Failed => Failed , } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } 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/glop-ed281dc93655f107/out/glop.rs:118:472 [INFO] [stderr] | [INFO] [stderr] 118 | fn parse_value < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let choice_res = { 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' | '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 ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } ; match choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; 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 { '"' => __state . mark_failure ( __pos , "[^\"]" ) , _ => Matched ( __next , ( ) ) , } } else { __state . mark_failure ( __pos , "[^\"]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; match seq_res { Matched ( __pos , _ ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } } 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/glop-ed281dc93655f107/out/glop.rs:118:486 [INFO] [stderr] | [INFO] [stderr] 118 | fn parse_value < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let choice_res = { 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' | '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 ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } ; match choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; 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 { '"' => __state . mark_failure ( __pos , "[^\"]" ) , _ => Matched ( __next , ( ) ) , } } else { __state . mark_failure ( __pos , "[^\"]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; match seq_res { Matched ( __pos , _ ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } } 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/glop-ed281dc93655f107/out/glop.rs:118:500 [INFO] [stderr] | [INFO] [stderr] 118 | fn parse_value < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < String > { # ! [ allow ( non_snake_case , unused ) ] { let choice_res = { 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' | '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 ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } ; match choice_res { Matched ( __pos , __value ) => Matched ( __pos , __value ) , Failed => { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; 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 { '"' => __state . mark_failure ( __pos , "[^\"]" ) , _ => Matched ( __next , ( ) ) , } } else { __state . mark_failure ( __pos , "[^\"]" ) } ; match step_res { Matched ( newpos , value ) => { __repeat_pos = newpos ; repeat_value . push ( value ) ; } , Failed => { break ; } } } if repeat_value . len ( ) >= 1usize { Matched ( __repeat_pos , ( ) ) } else { Failed } } { Matched ( newpos , _ ) => { Matched ( newpos , & __input [ str_start .. newpos ] ) } , Failed => Failed , } } ; match seq_res { Matched ( __pos , v ) => { { let seq_res = slice_eq ( __input , __state , __pos , "\"" ) ; match seq_res { Matched ( __pos , _ ) => { Matched ( __pos , { String::from(v) } ) } Failed => Failed , } } } 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/glop-ed281dc93655f107/out/glop.rs:150:359 [INFO] [stderr] | [INFO] [stderr] 150 | fn parse_whitespace < 'input > ( __input : & 'input str , __state : & mut ParseState < 'input > , __pos : usize ) -> RuleResult < () > { # ! [ allow ( non_snake_case , unused ) ] if __input . len ( ) > __pos { let ( __ch , __next ) = char_range_at ( __input , __pos ) ; match __ch { ' ' | '\t' | '\u{a0}' | '\u{feff}' | '\u{1680}' | '\u{180e}' | '\u{2000}' ... '\u{200a}' | '\u{202f}' | '\u{205f}' | '\u{3000}' => Matched ( __next , ( ) ) , _ => __state . mark_failure ( __pos , "[ \t\u{a0}\u{feff}\u{1680}\u{180e}\u{2000}-\u{200a}\u{202f}\u{205f}\u{3000}]" ) , } } else { __state . mark_failure ( __pos , "[ \t\u{a0}\u{feff}\u{1680}\u{180e}\u{2000}-\u{200a}\u{202f}\u{205f}\u{3000}]" ) } } pub fn glop < 'input > ( input : & 'input str ) -> ParseResult < Glop > { # ! [ allow ( non_snake_case , unused ) ] let mut state = ParseState :: new ( ) ; match parse_glop ( input , & mut state , 0 ) { Matched ( pos , value ) => { if pos == input . len ( ) { return Ok ( value ) } } _ => { } } let ( line , col ) = pos_to_line ( input , state . max_err_pos ) ; Err ( ParseError { line : line , column : col , offset : state . max_err_pos , expected : state . expected , } ) } [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/runtime/state.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | outbox: Box, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Outbox + Send + 'static` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/runtime/state.rs:43:58 [INFO] [stderr] | [INFO] [stderr] 43 | outbox: Box::new(UndeliverableOutbox) as Box, [INFO] [stderr] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Outbox + Send` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/runtime/state.rs:47:59 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn new_outbox(name: &str, storage: S, outbox: Box) -> State { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Outbox + Send + 'static` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/agent/client.rs:132:22 [INFO] [stderr] | [INFO] [stderr] 132 | type Transport = tokio_io::codec::Framed; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::BoxFuture': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/agent/server.rs:284:19 [INFO] [stderr] | [INFO] [stderr] 284 | type Future = futures::BoxFuture; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::BoxFuture': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/runtime/script.rs:18:37 [INFO] [stderr] | [INFO] [stderr] 18 | use self::futures::{future, Future, BoxFuture, Sink, Stream}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/runtime/script.rs:21:47 [INFO] [stderr] | [INFO] [stderr] 21 | use self::tokio_io::codec::{Decoder, Encoder, Framed}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::codec::Framed': Moved to tokio-codec [INFO] [stderr] --> src/runtime/script.rs:199:22 [INFO] [stderr] | [INFO] [stderr] 199 | type Transport = Framed>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::BoxFuture': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/runtime/script.rs:230:19 [INFO] [stderr] | [INFO] [stderr] 230 | type Future = BoxFuture; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/signal_fix.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | use std::sync::{Once, ONCE_INIT, Mutex, MutexGuard}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::sync::ONCE_INIT': the `new` function is now preferred [INFO] [stderr] --> src/signal_fix.rs:16:21 [INFO] [stderr] | [INFO] [stderr] 16 | static INIT: Once = ONCE_INIT; [INFO] [stderr] | ^^^^^^^^^ help: replace the use of the deprecated item: `Once::new()` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead [INFO] [stderr] --> src/agent/client.rs:136:15 [INFO] [stderr] | [INFO] [stderr] 136 | Ok(io.framed(SecureClientCodec::new(self.token.clone()))) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/agent/server.rs:288:49 [INFO] [stderr] | [INFO] [stderr] 288 | Ok(res) => futures::future::ok(res).boxed(), [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/agent/server.rs:290:93 [INFO] [stderr] | [INFO] [stderr] 290 | futures::future::ok(Response::Error(format!("agent service error: {}", e))).boxed() [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead [INFO] [stderr] --> src/agent/server.rs:434:35 [INFO] [stderr] | [INFO] [stderr] 434 | let (wr, rd) = socket.framed(SecureServiceCodec::new(Box::new(token_storage))) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::bytes::BufMut::put_u32': use put_u32_be or put_u32_le [INFO] [stderr] --> src/crypto.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | buf.put_u32::(c.len() as u32); [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead [INFO] [stderr] --> src/runtime/script.rs:203:15 [INFO] [stderr] | [INFO] [stderr] 203 | Ok(io.framed(crypto::SecretBoxCodec::new(ClientCodec, self.key.clone()))) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'signal_fix::futures::Future::boxed': removed without replacement, recommended to use a local extension trait or function if needed, more details in https://github.com/rust-lang-nursery/futures-rs/issues/228 [INFO] [stderr] --> src/runtime/script.rs:337:25 [INFO] [stderr] | [INFO] [stderr] 337 | future::ok(res).boxed() [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'crypto::tokio_io::AsyncRead::framed': Use tokio_codec::Decoder::framed instead [INFO] [stderr] --> src/runtime/script.rs:390:18 [INFO] [stderr] | [INFO] [stderr] 390 | .framed(crypto::SecretBoxCodec::new(ServiceCodec, key.clone())) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/agent/server.rs:133:17 [INFO] [stderr] | [INFO] [stderr] 133 | let mut state = &mut svc.state.lock().unwrap(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/runtime/script.rs:351:9 [INFO] [stderr] | [INFO] [stderr] 351 | let mut cmd = &mut Command::new(script_path); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/runtime/state.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | let mut txn = txn; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 10.58s [INFO] running `"docker" "inspect" "6bcd2fb708acbe5ffc4ad524c90a981c673a1365616bf8888f732f632e1a1e1c"` [INFO] running `"docker" "rm" "-f" "6bcd2fb708acbe5ffc4ad524c90a981c673a1365616bf8888f732f632e1a1e1c"` [INFO] [stdout] 6bcd2fb708acbe5ffc4ad524c90a981c673a1365616bf8888f732f632e1a1e1c [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-3/beta-2019-08-13:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/beta-2019-08-13/reg/glop/0.2.5:/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" "+beta-2019-08-13" "test" "--frozen"` [INFO] [stdout] ccb319327abf2a1e1973afaa976192714971bfdae117d848745931fd96efc90d [INFO] running `"docker" "start" "-a" "ccb319327abf2a1e1973afaa976192714971bfdae117d848745931fd96efc90d"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.10s [INFO] [stderr] Running /opt/crater/target/debug/deps/glop-a48dce68c53286ff [INFO] [stdout] [INFO] [stdout] running 46 tests [INFO] [stdout] test runtime::test_runtime::durable_match_is_set ... ok [INFO] [stdout] test runtime::test_runtime::durable_match_equal ... ok [INFO] [stdout] test runtime::test_runtime::durable_rollback_msg ... ok [INFO] [stdout] test runtime::test_runtime::durable_preserve_unmatched_message ... ok [INFO] [stdout] test runtime::test_runtime::durable_matched_only_init_message ... ok [INFO] [stdout] test runtime::test_runtime::durable_matched_init_message ... ok [INFO] [stdout] test runtime::test_runtime::durable_rollback_vars ... ok [INFO] [stdout] test runtime::test_runtime::durable_unmatched_init_empty_state ... ok [INFO] [stdout] test runtime::test_runtime::mem_match_is_set ... ok [INFO] [stdout] test runtime::test_runtime::durable_match_not_equal ... ok [INFO] [stdout] test runtime::test_runtime::mem_match_equal ... ok [INFO] [stdout] test runtime::test_runtime::durable_nested_cond ... ok [INFO] [stdout] test runtime::test_runtime::mem_match_not_equal ... ok [INFO] [stdout] test runtime::test_runtime::durable_matched_two_messages ... ok [INFO] [stdout] test runtime::test_runtime::mem_matched_only_init_message ... ok [INFO] [stdout] test runtime::test_runtime::durable_simple_commit_progression ... ok [INFO] [stdout] test runtime::test_runtime::mem_matched_init_message ... ok [INFO] [stdout] test runtime::test_runtime::mem_matched_two_messages ... ok [INFO] [stdout] test runtime::test_runtime::durable_nested_two_msgs ... ok [INFO] [stdout] test runtime::test_runtime::mem_rollback_msg ... ok [INFO] [stdout] test runtime::test_runtime::mem_nested_cond ... ok [INFO] [stdout] test runtime::test_runtime::mem_nested_two_msgs ... ok [INFO] [stdout] test runtime::test_runtime::mem_unmatched_init_empty_state ... ok [INFO] [stdout] test runtime::test_runtime::mem_simple_commit_progression ... ok [INFO] [stdout] test runtime::test_runtime::mem_rollback_vars ... ok [INFO] [stdout] test test_grammar::err_empty ... ok [INFO] [stdout] test runtime::test_runtime::mem_preserve_unmatched_message ... ok [INFO] [stdout] test test_grammar::err_empty_conditions ... ok [INFO] [stdout] test test_grammar::err_empty_actions ... ok [INFO] [stdout] test test_grammar::round_trip_simple ... ok [INFO] [stdout] test test_value::get_l1_value_exist ... ok [INFO] [stdout] test test_value::get_l1_value_not_exist ... ok [INFO] [stdout] test test_value::get_l2_value_exist ... ok [INFO] [stdout] test test_value::get_ln_value_not_exist ... ok [INFO] [stdout] test test_value::set_change_extrude_value_exist ... ok [INFO] [stdout] test test_value::set_change_value_exist ... ok [INFO] [stdout] test test_value::set_change_flatten_value_exist ... ok [INFO] [stdout] test test_value::unset_parent_exist ... ok [INFO] [stdout] test test_value::unset_value_exist ... ok [INFO] [stdout] test test_value::test_to_env ... ok [INFO] [stdout] test test_value::unset_value_not_exist ... ok [INFO] [stdout] test runtime::test_script::simple_script ... ok [INFO] [stdout] test runtime::test_script::simple_script_err ... ok [INFO] [stdout] test runtime::test_script::script_server_access_msg ... ok [INFO] [stdout] test runtime::test_script::hello_script_server ... ok [INFO] [stdout] test runtime::test_script::env_check_script_ok ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/glop-e3c2185126f6cbe2 [INFO] [stderr] Doc-tests glop [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] [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] running `"docker" "inspect" "ccb319327abf2a1e1973afaa976192714971bfdae117d848745931fd96efc90d"` [INFO] running `"docker" "rm" "-f" "ccb319327abf2a1e1973afaa976192714971bfdae117d848745931fd96efc90d"` [INFO] [stdout] ccb319327abf2a1e1973afaa976192714971bfdae117d848745931fd96efc90d