[INFO] crate nom_pem 4.0.0 is already in cache [INFO] extracting crate nom_pem 4.0.0 into work/ex/clippy-test-run/sources/stable/reg/nom_pem/4.0.0 [INFO] extracting crate nom_pem 4.0.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/nom_pem/4.0.0 [INFO] validating manifest of nom_pem-4.0.0 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 nom_pem-4.0.0 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 nom_pem-4.0.0 [INFO] finished frobbing nom_pem-4.0.0 [INFO] frobbed toml for nom_pem-4.0.0 written to work/ex/clippy-test-run/sources/stable/reg/nom_pem/4.0.0/Cargo.toml [INFO] started frobbing nom_pem-4.0.0 [INFO] finished frobbing nom_pem-4.0.0 [INFO] frobbed toml for nom_pem-4.0.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/nom_pem/4.0.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 nom_pem-4.0.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/nom_pem/4.0.0:/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] d20dbc99c156b6726aeb077d1701f4b3c8cab9802c7509dafb701136d1e26c08 [INFO] running `"docker" "start" "-a" "d20dbc99c156b6726aeb077d1701f4b3c8cab9802c7509dafb701136d1e26c08"` [INFO] [stderr] Checking nom_pem v4.0.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | write!(f, "{}\n", header)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | write!(f, "\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | write!(f, "\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | write!(f, "-----BEGIN {}-----\n", &self.block_type)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | write!(f, "-----END {}-----\n", &self.block_type) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | write!(f, "{}\n", header)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | write!(f, "\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:35:17 [INFO] [stderr] | [INFO] [stderr] 35 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | write!(f, "\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:107:9 [INFO] [stderr] | [INFO] [stderr] 107 | write!(f, "-----BEGIN {}-----\n", &self.block_type)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib.rs:110:9 [INFO] [stderr] | [INFO] [stderr] 110 | write!(f, "-----END {}-----\n", &self.block_type) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/parsers.rs:16:81 [INFO] [stderr] | [INFO] [stderr] 16 | if b == 13 { return Err(Err::Error(error_position!(i, ErrorKind::Custom(0xbb0001)))); } [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bb_0001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/parsers.rs:19:76 [INFO] [stderr] | [INFO] [stderr] 19 | return Err(Err::Error(error_position!(i, ErrorKind::Custom(0xbb0004)))); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bb_0004` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/parsers.rs:26:86 [INFO] [stderr] | [INFO] [stderr] 26 | Err(_) => return Err(Err::Error(error_position!(i, ErrorKind::Custom(0xbb0002)))) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bb_0002` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/parsers.rs:29:81 [INFO] [stderr] | [INFO] [stderr] 29 | if b == 10 { return Err(Err::Error(error_position!(i, ErrorKind::Custom(0xbb0003)))); } [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bb_0003` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/base64.rs:29:29 [INFO] [stderr] | [INFO] [stderr] 29 | pub const STANDARD_DECODE: &'static [u8; 256] = &[ [INFO] [stderr] | -^^^^^^^---------- help: consider removing `'static`: `&[u8; 256]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/headers.rs:170:9 [INFO] [stderr] | [INFO] [stderr] 170 | return Ok((&i[pos..], ret)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((&i[pos..], ret))` [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/headers.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | return Err(Err::Incomplete(Needed::Size(1))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Err::Incomplete(Needed::Size(1)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/display.rs:30:47 [INFO] [stderr] | [INFO] [stderr] 30 | let v6 = register >> (bits - 6) & 0b111111; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/display.rs:39:25 [INFO] [stderr] | [INFO] [stderr] 39 | register &= 0b111111; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/display.rs:43:45 [INFO] [stderr] | [INFO] [stderr] 43 | register = register << (6 - bits) & 0b111111; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/display.rs:59:29 [INFO] [stderr] | [INFO] [stderr] 59 | pub const STANDARD_ENCODE: &'static [u8; 64] = &[ [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u8; 64]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/parsers.rs:16:81 [INFO] [stderr] | [INFO] [stderr] 16 | if b == 13 { return Err(Err::Error(error_position!(i, ErrorKind::Custom(0xbb0001)))); } [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bb_0001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/parsers.rs:19:76 [INFO] [stderr] | [INFO] [stderr] 19 | return Err(Err::Error(error_position!(i, ErrorKind::Custom(0xbb0004)))); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bb_0004` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/parsers.rs:26:86 [INFO] [stderr] | [INFO] [stderr] 26 | Err(_) => return Err(Err::Error(error_position!(i, ErrorKind::Custom(0xbb0002)))) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bb_0002` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/parsers.rs:29:81 [INFO] [stderr] | [INFO] [stderr] 29 | if b == 10 { return Err(Err::Error(error_position!(i, ErrorKind::Custom(0xbb0003)))); } [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bb_0003` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/parsers.rs:52:120 [INFO] [stderr] | [INFO] [stderr] 52 | let _c = Context::Code(&[80u8, 85, 66, 76, 73, 67, 32, 75, 69, 89, 45, 45, 45, 45, 10, 120][..], ErrorKind::Custom(0xbb0004)); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bb_0004` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/parsers.rs:55:144 [INFO] [stderr] | [INFO] [stderr] 55 | let _c = Context::Code(&[80u8, 85, 66, 76, 73, 67, 32, 75, 69, 89, 45, 45, 45, 45, 32, 45, 45, 45, 45, 45, 10, 120][..], ErrorKind::Custom(0xbb0004)); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00bb_0004` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/base64.rs:29:29 [INFO] [stderr] | [INFO] [stderr] 29 | pub const STANDARD_DECODE: &'static [u8; 256] = &[ [INFO] [stderr] | -^^^^^^^---------- help: consider removing `'static`: `&[u8; 256]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/headers.rs:170:9 [INFO] [stderr] | [INFO] [stderr] 170 | return Ok((&i[pos..], ret)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((&i[pos..], ret))` [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/headers.rs:172:9 [INFO] [stderr] | [INFO] [stderr] 172 | return Err(Err::Incomplete(Needed::Size(1))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(Err::Incomplete(Needed::Size(1)))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/display.rs:30:47 [INFO] [stderr] | [INFO] [stderr] 30 | let v6 = register >> (bits - 6) & 0b111111; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/display.rs:39:25 [INFO] [stderr] | [INFO] [stderr] 39 | register &= 0b111111; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/display.rs:43:45 [INFO] [stderr] | [INFO] [stderr] 43 | register = register << (6 - bits) & 0b111111; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/display.rs:59:29 [INFO] [stderr] | [INFO] [stderr] 59 | pub const STANDARD_ENCODE: &'static [u8; 64] = &[ [INFO] [stderr] | -^^^^^^^--------- help: consider removing `'static`: `&[u8; 64]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:14:28 [INFO] [stderr] | [INFO] [stderr] 14 | reg = (reg << 6) | b as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(b)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/headers.rs:80:40 [INFO] [stderr] | [INFO] [stderr] 80 | let v1 : Vec<&str> = str.split(",").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:144:20 [INFO] [stderr] | [INFO] [stderr] 144 | const T1: u8 = ('1' as u8) - 1; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'1' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:145:20 [INFO] [stderr] | [INFO] [stderr] 145 | const T2: u8 = ('A' as u8) - 1; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'A' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:146:20 [INFO] [stderr] | [INFO] [stderr] 146 | const T3: u8 = ('a' as u8) - 1; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:149:29 [INFO] [stderr] | [INFO] [stderr] 149 | let b: u8 = if c == ('0' as u8) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'0' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:151:36 [INFO] [stderr] | [INFO] [stderr] 151 | } else if (c > T1) & (c <= ('9' as u8)) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'9' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:153:36 [INFO] [stderr] | [INFO] [stderr] 153 | } else if (c > T2) & (c <= ('F' as u8)) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'F' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:155:36 [INFO] [stderr] | [INFO] [stderr] 155 | } else if (c > T3) & (c <= ('f' as u8)) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'f' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/headers.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | / match self { [INFO] [stderr] 191 | | &HeaderEntry::ProcType(ref l, ref t) => { write!(f, "Proc-Type: {},{:?}", l, t) } [INFO] [stderr] 192 | | &HeaderEntry::DEKInfo(ref alg, ref v) => { [INFO] [stderr] 193 | | write!(f, "DEK-Info: {},", alg)?; [INFO] [stderr] ... | [INFO] [stderr] 218 | | } [INFO] [stderr] 219 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 190 | match *self { [INFO] [stderr] 191 | HeaderEntry::ProcType(ref l, ref t) => { write!(f, "Proc-Type: {},{:?}", l, t) } [INFO] [stderr] 192 | HeaderEntry::DEKInfo(ref alg, ref v) => { [INFO] [stderr] 193 | write!(f, "DEK-Info: {},", alg)?; [INFO] [stderr] 194 | write_hex(f, &v) [INFO] [stderr] 195 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:232:20 [INFO] [stderr] | [INFO] [stderr] 232 | const T2: u8 = ('A' as u8) - 10; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'A' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/headers.rs:253:1 [INFO] [stderr] | [INFO] [stderr] 253 | / named!(pub str_end_of_line, do_parse!( [INFO] [stderr] 254 | | s: map_res!(map_res!(take_till!(is_nl),str::from_utf8),str::FromStr::from_str) >> [INFO] [stderr] 255 | | take!(1) >> [INFO] [stderr] 256 | | (s) [INFO] [stderr] 257 | | )); [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/display.rs:7:55 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn write_headers(f: &mut fmt::Formatter, headers: &Vec) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[HeaderEntry]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/display.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | if headers.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!headers.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:69:21 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn decode_block<'a>(input: &[u8]) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:85:22 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn decode_blocks<'a>(input: &[u8]) -> Result, PemParsingError> { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/base64.rs:14:28 [INFO] [stderr] | [INFO] [stderr] 14 | reg = (reg << 6) | b as u16; [INFO] [stderr] | ^^^^^^^^ help: try: `u16::from(b)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/headers.rs:80:40 [INFO] [stderr] | [INFO] [stderr] 80 | let v1 : Vec<&str> = str.split(",").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:144:20 [INFO] [stderr] | [INFO] [stderr] 144 | const T1: u8 = ('1' as u8) - 1; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'1' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:145:20 [INFO] [stderr] | [INFO] [stderr] 145 | const T2: u8 = ('A' as u8) - 1; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'A' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:146:20 [INFO] [stderr] | [INFO] [stderr] 146 | const T3: u8 = ('a' as u8) - 1; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:149:29 [INFO] [stderr] | [INFO] [stderr] 149 | let b: u8 = if c == ('0' as u8) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'0' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:151:36 [INFO] [stderr] | [INFO] [stderr] 151 | } else if (c > T1) & (c <= ('9' as u8)) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'9' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:153:36 [INFO] [stderr] | [INFO] [stderr] 153 | } else if (c > T2) & (c <= ('F' as u8)) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'F' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:155:36 [INFO] [stderr] | [INFO] [stderr] 155 | } else if (c > T3) & (c <= ('f' as u8)) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'f' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/headers.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | / match self { [INFO] [stderr] 191 | | &HeaderEntry::ProcType(ref l, ref t) => { write!(f, "Proc-Type: {},{:?}", l, t) } [INFO] [stderr] 192 | | &HeaderEntry::DEKInfo(ref alg, ref v) => { [INFO] [stderr] 193 | | write!(f, "DEK-Info: {},", alg)?; [INFO] [stderr] ... | [INFO] [stderr] 218 | | } [INFO] [stderr] 219 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 190 | match *self { [INFO] [stderr] 191 | HeaderEntry::ProcType(ref l, ref t) => { write!(f, "Proc-Type: {},{:?}", l, t) } [INFO] [stderr] 192 | HeaderEntry::DEKInfo(ref alg, ref v) => { [INFO] [stderr] 193 | write!(f, "DEK-Info: {},", alg)?; [INFO] [stderr] 194 | write_hex(f, &v) [INFO] [stderr] 195 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/headers.rs:232:20 [INFO] [stderr] | [INFO] [stderr] 232 | const T2: u8 = ('A' as u8) - 10; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'A' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/headers.rs:253:1 [INFO] [stderr] | [INFO] [stderr] 253 | / named!(pub str_end_of_line, do_parse!( [INFO] [stderr] 254 | | s: map_res!(map_res!(take_till!(is_nl),str::from_utf8),str::FromStr::from_str) >> [INFO] [stderr] 255 | | take!(1) >> [INFO] [stderr] 256 | | (s) [INFO] [stderr] 257 | | )); [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/display.rs:7:55 [INFO] [stderr] | [INFO] [stderr] 7 | pub fn write_headers(f: &mut fmt::Formatter, headers: &Vec) -> fmt::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: change this to: `&[HeaderEntry]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/display.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | if headers.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!headers.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:69:21 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn decode_block<'a>(input: &[u8]) -> Result { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::extra_unused_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/lib.rs:85:22 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn decode_blocks<'a>(input: &[u8]) -> Result, PemParsingError> { [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_lifetimes [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.90s [INFO] running `"docker" "inspect" "d20dbc99c156b6726aeb077d1701f4b3c8cab9802c7509dafb701136d1e26c08"` [INFO] running `"docker" "rm" "-f" "d20dbc99c156b6726aeb077d1701f4b3c8cab9802c7509dafb701136d1e26c08"` [INFO] [stdout] d20dbc99c156b6726aeb077d1701f4b3c8cab9802c7509dafb701136d1e26c08