[INFO] updating cached repository Neki/crontabcheck [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Neki/crontabcheck [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Neki/crontabcheck" "work/ex/clippy-test-run/sources/stable/gh/Neki/crontabcheck"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Neki/crontabcheck'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Neki/crontabcheck" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Neki/crontabcheck"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Neki/crontabcheck'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] a5348991f46e98c29eda3b02cf87e38af92d97ec [INFO] sha for GitHub repo Neki/crontabcheck: a5348991f46e98c29eda3b02cf87e38af92d97ec [INFO] validating manifest of Neki/crontabcheck on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of Neki/crontabcheck on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing Neki/crontabcheck [INFO] finished frobbing Neki/crontabcheck [INFO] frobbed toml for Neki/crontabcheck written to work/ex/clippy-test-run/sources/stable/gh/Neki/crontabcheck/Cargo.toml [INFO] started frobbing Neki/crontabcheck [INFO] finished frobbing Neki/crontabcheck [INFO] frobbed toml for Neki/crontabcheck written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Neki/crontabcheck/Cargo.toml [INFO] crate Neki/crontabcheck has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting Neki/crontabcheck against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/Neki/crontabcheck:/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=forbid" "-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" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 6581ff1bbd3fecf45776c8be1dbb84a5c14b632c0aac53e1c513e57de592447e [INFO] running `"docker" "start" "-a" "6581ff1bbd3fecf45776c8be1dbb84a5c14b632c0aac53e1c513e57de592447e"` [INFO] [stderr] Checking nom v3.0.0 [INFO] [stderr] Checking crontabcheck v0.5.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:266:5 [INFO] [stderr] | [INFO] [stderr] 266 | return Done(&[], ()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Done(&[], ())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/parser.rs:266:5 [INFO] [stderr] | [INFO] [stderr] 266 | return Done(&[], ()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Done(&[], ())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser.rs:51:15 [INFO] [stderr] | [INFO] [stderr] 51 | ).unwrap_or( [INFO] [stderr] | _______________^ [INFO] [stderr] 52 | | Error(error_position!(ErrorKind::Custom(CrontabSyntaxError::InvalidNumericValue), input)) [INFO] [stderr] 53 | | ) [INFO] [stderr] | |_____________^ help: try this: `unwrap_or_else(|| Error(error_position!(ErrorKind::Custom(CrontabSyntaxError::InvalidNumericValue), input)))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 51 [INFO] [stderr] --> src/parser.rs:67:1 [INFO] [stderr] | [INFO] [stderr] 67 | / fn month_value_parser(input: &[u8]) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] 68 | | let parsed = [INFO] [stderr] 69 | | fix_error!(input, CrontabSyntaxError, [INFO] [stderr] 70 | | alt_complete!( [INFO] [stderr] ... | [INFO] [stderr] 89 | | } [INFO] [stderr] 90 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/parser.rs:92:1 [INFO] [stderr] | [INFO] [stderr] 92 | / fn day_of_week_value_parser(input: &[u8]) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] 93 | | let parsed = [INFO] [stderr] 94 | | fix_error!(input, CrontabSyntaxError, [INFO] [stderr] 95 | | alt_complete!( [INFO] [stderr] ... | [INFO] [stderr] 109 | | } [INFO] [stderr] 110 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:113:45 [INFO] [stderr] | [INFO] [stderr] 113 | fn parse_period(input: &[u8], value_parser: fn(&[u8]) -> IResult<&[u8], (), CrontabSyntaxError>) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:127:53 [INFO] [stderr] | [INFO] [stderr] 127 | fn parse_range_or_value(input: &[u8], value_parser: fn(&[u8]) -> IResult<&[u8], (), CrontabSyntaxError>) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:143:43 [INFO] [stderr] | [INFO] [stderr] 143 | fn parse_enum(input: &[u8], value_parser: fn(&[u8]) -> IResult<&[u8], (), CrontabSyntaxError>) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:153:44 [INFO] [stderr] | [INFO] [stderr] 153 | fn parse_field(input: &[u8], value_parser: fn(&[u8]) -> IResult<&[u8], (), CrontabSyntaxError>) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser.rs:188:16 [INFO] [stderr] | [INFO] [stderr] 188 | }).unwrap_or(Error(error_position!(ErrorKind::Custom(CrontabSyntaxError::InvalidUsername), input))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Error(error_position!(ErrorKind::Custom(CrontabSyntaxError::InvalidUsername), input)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 54 [INFO] [stderr] --> src/parser.rs:270:1 [INFO] [stderr] | [INFO] [stderr] 270 | / pub fn parse_crontab<'a, T: AsRef>(input: &'a[u8], options: &CrontabParserOptions) -> IResult<&'a[u8], (), CrontabSyntaxError> { [INFO] [stderr] 271 | | // We do not use the alt_complete! combinator because we want to have nice error codes [INFO] [stderr] 272 | | // Try to parse the line as an empty line, then if it fails as a comment, then as an [INFO] [stderr] 273 | | // environment variable assignation, then as an actual crontab line [INFO] [stderr] ... | [INFO] [stderr] 303 | | ) [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/main.rs:75:14 [INFO] [stderr] | [INFO] [stderr] 75 | .ok_or(io::Error::new(io::ErrorKind::InvalidData, "invalid /etc/passwd format"))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| io::Error::new(io::ErrorKind::InvalidData, "invalid /etc/passwd format"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser.rs:51:15 [INFO] [stderr] | [INFO] [stderr] 51 | ).unwrap_or( [INFO] [stderr] | _______________^ [INFO] [stderr] 52 | | Error(error_position!(ErrorKind::Custom(CrontabSyntaxError::InvalidNumericValue), input)) [INFO] [stderr] 53 | | ) [INFO] [stderr] | |_____________^ help: try this: `unwrap_or_else(|| Error(error_position!(ErrorKind::Custom(CrontabSyntaxError::InvalidNumericValue), input)))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 51 [INFO] [stderr] --> src/parser.rs:67:1 [INFO] [stderr] | [INFO] [stderr] 67 | / fn month_value_parser(input: &[u8]) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] 68 | | let parsed = [INFO] [stderr] 69 | | fix_error!(input, CrontabSyntaxError, [INFO] [stderr] 70 | | alt_complete!( [INFO] [stderr] ... | [INFO] [stderr] 89 | | } [INFO] [stderr] 90 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/parser.rs:92:1 [INFO] [stderr] | [INFO] [stderr] 92 | / fn day_of_week_value_parser(input: &[u8]) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] 93 | | let parsed = [INFO] [stderr] 94 | | fix_error!(input, CrontabSyntaxError, [INFO] [stderr] 95 | | alt_complete!( [INFO] [stderr] ... | [INFO] [stderr] 109 | | } [INFO] [stderr] 110 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:113:45 [INFO] [stderr] | [INFO] [stderr] 113 | fn parse_period(input: &[u8], value_parser: fn(&[u8]) -> IResult<&[u8], (), CrontabSyntaxError>) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:127:53 [INFO] [stderr] | [INFO] [stderr] 127 | fn parse_range_or_value(input: &[u8], value_parser: fn(&[u8]) -> IResult<&[u8], (), CrontabSyntaxError>) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:143:43 [INFO] [stderr] | [INFO] [stderr] 143 | fn parse_enum(input: &[u8], value_parser: fn(&[u8]) -> IResult<&[u8], (), CrontabSyntaxError>) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/parser.rs:153:44 [INFO] [stderr] | [INFO] [stderr] 153 | fn parse_field(input: &[u8], value_parser: fn(&[u8]) -> IResult<&[u8], (), CrontabSyntaxError>) -> IResult<&[u8], (), CrontabSyntaxError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parser.rs:188:16 [INFO] [stderr] | [INFO] [stderr] 188 | }).unwrap_or(Error(error_position!(ErrorKind::Custom(CrontabSyntaxError::InvalidUsername), input))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Error(error_position!(ErrorKind::Custom(CrontabSyntaxError::InvalidUsername), input)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 54 [INFO] [stderr] --> src/parser.rs:270:1 [INFO] [stderr] | [INFO] [stderr] 270 | / pub fn parse_crontab<'a, T: AsRef>(input: &'a[u8], options: &CrontabParserOptions) -> IResult<&'a[u8], (), CrontabSyntaxError> { [INFO] [stderr] 271 | | // We do not use the alt_complete! combinator because we want to have nice error codes [INFO] [stderr] 272 | | // Try to parse the line as an empty line, then if it fails as a comment, then as an [INFO] [stderr] 273 | | // environment variable assignation, then as an actual crontab line [INFO] [stderr] ... | [INFO] [stderr] 303 | | ) [INFO] [stderr] 304 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:344:36 [INFO] [stderr] | [INFO] [stderr] 344 | let parsed = parse_crontab("2-10 * */4 * mon root /usr/local/bin yay".as_bytes(), options); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"2-10 * */4 * mon root /usr/local/bin yay"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/parser.rs:345:9 [INFO] [stderr] | [INFO] [stderr] 345 | / match parsed { [INFO] [stderr] 346 | | Error(e) => { [INFO] [stderr] 347 | | let errors = [e]; [INFO] [stderr] 348 | | println!("{}", walk_errors(&errors)); [INFO] [stderr] 349 | | }, [INFO] [stderr] 350 | | _ => () [INFO] [stderr] 351 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 345 | if let Error(e) = parsed { [INFO] [stderr] 346 | let errors = [e]; [INFO] [stderr] 347 | println!("{}", walk_errors(&errors)); [INFO] [stderr] 348 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:358:33 [INFO] [stderr] | [INFO] [stderr] 358 | let out = parse_crontab("* * * * * root /usr/local/bin yay".as_bytes(), options); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"* * * * * root /usr/local/bin yay"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:359:30 [INFO] [stderr] | [INFO] [stderr] 359 | assert_eq!(out, Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:361:33 [INFO] [stderr] | [INFO] [stderr] 361 | let out = parse_crontab("8 * * * * root /usr/local/bin yay".as_bytes(), options); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"8 * * * * root /usr/local/bin yay"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:362:30 [INFO] [stderr] | [INFO] [stderr] 362 | assert_eq!(out, Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:364:33 [INFO] [stderr] | [INFO] [stderr] 364 | let out = parse_crontab("*/3 2 * * * root /usr/local/bin yay".as_bytes(), options); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"*/3 2 * * * root /usr/local/bin yay"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:365:30 [INFO] [stderr] | [INFO] [stderr] 365 | assert_eq!(out, Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:367:33 [INFO] [stderr] | [INFO] [stderr] 367 | let out = parse_crontab("1-2 * * * * root /usr/local/bin yay".as_bytes(), options); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"1-2 * * * * root /usr/local/bin yay"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:368:30 [INFO] [stderr] | [INFO] [stderr] 368 | assert_eq!(out, Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:370:33 [INFO] [stderr] | [INFO] [stderr] 370 | let out = parse_crontab("1-2 * * * mon,tue root /usr/local/bin yay".as_bytes(), options); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"1-2 * * * mon,tue root /usr/local/bin yay"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:371:30 [INFO] [stderr] | [INFO] [stderr] 371 | assert_eq!(out, Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:373:33 [INFO] [stderr] | [INFO] [stderr] 373 | let out = parse_crontab("#This is a comment".as_bytes(), options); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"#This is a comment"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:374:30 [INFO] [stderr] | [INFO] [stderr] 374 | assert_eq!(out, Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:376:33 [INFO] [stderr] | [INFO] [stderr] 376 | let out = parse_crontab("VARIABLE=VALUE".as_bytes(), options); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"VARIABLE=VALUE"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:377:30 [INFO] [stderr] | [INFO] [stderr] 377 | assert_eq!(out, Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:379:33 [INFO] [stderr] | [INFO] [stderr] 379 | let out = parse_crontab(" ".as_bytes(), options); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b" "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:380:30 [INFO] [stderr] | [INFO] [stderr] 380 | assert_eq!(out, Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:385:31 [INFO] [stderr] | [INFO] [stderr] 385 | assert_eq!(parse_user("whatever".as_bytes(), None as Option<&[String]>), Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"whatever"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:385:87 [INFO] [stderr] | [INFO] [stderr] 385 | assert_eq!(parse_user("whatever".as_bytes(), None as Option<&[String]>), Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:387:27 [INFO] [stderr] | [INFO] [stderr] 387 | match parse_user("whatever".as_bytes(), Some(&users)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"whatever"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:391:31 [INFO] [stderr] | [INFO] [stderr] 391 | assert_eq!(parse_user("root /usr/bin/local".as_bytes(), None as Option<&[String]>), Done(" /usr/bin/local".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"root /usr/bin/local"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:391:98 [INFO] [stderr] | [INFO] [stderr] 391 | assert_eq!(parse_user("root /usr/bin/local".as_bytes(), None as Option<&[String]>), Done(" /usr/bin/local".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b" /usr/bin/local"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:403:45 [INFO] [stderr] | [INFO] [stderr] 403 | assert_eq!(day_of_week_value_parser("mon".as_bytes()), Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"mon"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:403:69 [INFO] [stderr] | [INFO] [stderr] 403 | assert_eq!(day_of_week_value_parser("mon".as_bytes()), Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:404:45 [INFO] [stderr] | [INFO] [stderr] 404 | assert_eq!(day_of_week_value_parser("mon ".as_bytes()), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"mon "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:404:70 [INFO] [stderr] | [INFO] [stderr] 404 | assert_eq!(day_of_week_value_parser("mon ".as_bytes()), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b" "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:405:45 [INFO] [stderr] | [INFO] [stderr] 405 | assert_eq!(day_of_week_value_parser("0 ".as_bytes()), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"0 "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:405:68 [INFO] [stderr] | [INFO] [stderr] 405 | assert_eq!(day_of_week_value_parser("0 ".as_bytes()), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b" "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:406:45 [INFO] [stderr] | [INFO] [stderr] 406 | assert_eq!(day_of_week_value_parser("1 ".as_bytes()), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"1 "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:406:68 [INFO] [stderr] | [INFO] [stderr] 406 | assert_eq!(day_of_week_value_parser("1 ".as_bytes()), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b" "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:411:33 [INFO] [stderr] | [INFO] [stderr] 411 | assert_eq!(parse_period("* ".as_bytes(), minute_value_parser), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"* "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:411:77 [INFO] [stderr] | [INFO] [stderr] 411 | assert_eq!(parse_period("* ".as_bytes(), minute_value_parser), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b" "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:412:33 [INFO] [stderr] | [INFO] [stderr] 412 | assert_eq!(parse_period("*/2 ".as_bytes(), minute_value_parser), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"*/2 "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:412:79 [INFO] [stderr] | [INFO] [stderr] 412 | assert_eq!(parse_period("*/2 ".as_bytes(), minute_value_parser), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b" "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:417:41 [INFO] [stderr] | [INFO] [stderr] 417 | assert_eq!(parse_range_or_value("1-2".as_bytes(), minute_value_parser), Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"1-2"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:417:86 [INFO] [stderr] | [INFO] [stderr] 417 | assert_eq!(parse_range_or_value("1-2".as_bytes(), minute_value_parser), Done("".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:422:31 [INFO] [stderr] | [INFO] [stderr] 422 | assert_eq!(parse_enum("1-2,3,4-5 *".as_bytes(), minute_value_parser), Done(" *".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"1-2,3,4-5 *"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:422:84 [INFO] [stderr] | [INFO] [stderr] 422 | assert_eq!(parse_enum("1-2,3,4-5 *".as_bytes(), minute_value_parser), Done(" *".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b" *"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:423:31 [INFO] [stderr] | [INFO] [stderr] 423 | assert_eq!(parse_enum("mon-tue ".as_bytes(), day_of_week_value_parser), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"mon-tue "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:423:86 [INFO] [stderr] | [INFO] [stderr] 423 | assert_eq!(parse_enum("mon-tue ".as_bytes(), day_of_week_value_parser), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b" "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:428:32 [INFO] [stderr] | [INFO] [stderr] 428 | assert_eq!(parse_field("mon-tue ".as_bytes(), day_of_week_value_parser), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"mon-tue "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/parser.rs:428:87 [INFO] [stderr] | [INFO] [stderr] 428 | assert_eq!(parse_field("mon-tue ".as_bytes(), day_of_week_value_parser), Done(" ".as_bytes(), ())); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b" "` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: use of `ok_or` followed by a function call [INFO] [stderr] --> src/main.rs:75:14 [INFO] [stderr] | [INFO] [stderr] 75 | .ok_or(io::Error::new(io::ErrorKind::InvalidData, "invalid /etc/passwd format"))? [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `ok_or_else(|| io::Error::new(io::ErrorKind::InvalidData, "invalid /etc/passwd format"))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5.65s [INFO] running `"docker" "inspect" "6581ff1bbd3fecf45776c8be1dbb84a5c14b632c0aac53e1c513e57de592447e"` [INFO] running `"docker" "rm" "-f" "6581ff1bbd3fecf45776c8be1dbb84a5c14b632c0aac53e1c513e57de592447e"` [INFO] [stdout] 6581ff1bbd3fecf45776c8be1dbb84a5c14b632c0aac53e1c513e57de592447e