[INFO] crate ipsec-parser 0.3.0 is already in cache [INFO] extracting crate ipsec-parser 0.3.0 into work/ex/clippy-test-run/sources/stable/reg/ipsec-parser/0.3.0 [INFO] extracting crate ipsec-parser 0.3.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ipsec-parser/0.3.0 [INFO] validating manifest of ipsec-parser-0.3.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 ipsec-parser-0.3.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 ipsec-parser-0.3.0 [INFO] finished frobbing ipsec-parser-0.3.0 [INFO] frobbed toml for ipsec-parser-0.3.0 written to work/ex/clippy-test-run/sources/stable/reg/ipsec-parser/0.3.0/Cargo.toml [INFO] started frobbing ipsec-parser-0.3.0 [INFO] finished frobbing ipsec-parser-0.3.0 [INFO] frobbed toml for ipsec-parser-0.3.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ipsec-parser/0.3.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 ipsec-parser-0.3.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/ipsec-parser/0.3.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] 84cebd71c5734596e0a5123e185fb31ae6c2c4757649ad9b0f047d8066baef99 [INFO] running `"docker" "start" "-a" "84cebd71c5734596e0a5123e185fb31ae6c2c4757649ad9b0f047d8066baef99"` [INFO] [stderr] Checking rusticata-macros v0.4.1 [INFO] [stderr] Checking ipsec-parser v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ikev2.rs:54:39 [INFO] [stderr] | [INFO] [stderr] 54 | pub const IKEV2_FLAG_RESPONSE : u8 = 0b100000; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b10_0000` [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/ikev2.rs:54:39 [INFO] [stderr] | [INFO] [stderr] 54 | pub const IKEV2_FLAG_RESPONSE : u8 = 0b100000; [INFO] [stderr] | ^^^^^^^^ help: consider: `0b10_0000` [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/ikev2_parser.rs:460:19 [INFO] [stderr] | [INFO] [stderr] 460 | init_spi: 0x01f8c3d4bb773f2f, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x01f8_c3d4_bb77_3f2f` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2.rs:423:26 [INFO] [stderr] | [INFO] [stderr] 423 | pub fn is_unassigned(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2.rs:429:27 [INFO] [stderr] | [INFO] [stderr] 429 | pub fn is_private_use(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:560:9 [INFO] [stderr] | [INFO] [stderr] 560 | (b[0] as u16) << 8 | (b[1] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[0])` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:560:30 [INFO] [stderr] | [INFO] [stderr] 560 | (b[0] as u16) << 8 | (b[1] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:561:9 [INFO] [stderr] | [INFO] [stderr] 561 | (b[2] as u16) << 8 | (b[3] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:561:30 [INFO] [stderr] | [INFO] [stderr] 561 | (b[2] as u16) << 8 | (b[3] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:562:9 [INFO] [stderr] | [INFO] [stderr] 562 | (b[4] as u16) << 8 | (b[5] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[4])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:562:30 [INFO] [stderr] | [INFO] [stderr] 562 | (b[4] as u16) << 8 | (b[5] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[5])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:563:9 [INFO] [stderr] | [INFO] [stderr] 563 | (b[6] as u16) << 8 | (b[7] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[6])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:563:30 [INFO] [stderr] | [INFO] [stderr] 563 | (b[6] as u16) << 8 | (b[7] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[7])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:564:9 [INFO] [stderr] | [INFO] [stderr] 564 | (b[8] as u16) << 8 | (b[9] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[8])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:564:30 [INFO] [stderr] | [INFO] [stderr] 564 | (b[8] as u16) << 8 | (b[9] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[9])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:565:9 [INFO] [stderr] | [INFO] [stderr] 565 | (b[10] as u16) << 8 | (b[11] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[10])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:565:31 [INFO] [stderr] | [INFO] [stderr] 565 | (b[10] as u16) << 8 | (b[11] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[11])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:566:9 [INFO] [stderr] | [INFO] [stderr] 566 | (b[12] as u16) << 8 | (b[13] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[12])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:566:31 [INFO] [stderr] | [INFO] [stderr] 566 | (b[12] as u16) << 8 | (b[13] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[13])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:567:9 [INFO] [stderr] | [INFO] [stderr] 567 | (b[14] as u16) << 8 | (b[15] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[14])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:567:31 [INFO] [stderr] | [INFO] [stderr] 567 | (b[14] as u16) << 8 | (b[15] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[15])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_notify.rs:80:21 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn is_error(&self) -> bool { self.0 < 16384 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_notify.rs:81:22 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn is_status(&self) -> bool { self.0 > 16384 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:61:20 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn is_aead(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:77:26 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn is_unassigned(&self) -> bool { self.0 >= 23 && self.0 <= 1023 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:78:27 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn is_private_use(&self) -> bool { self.0 >= 1024 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:100:26 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn is_unassigned(&self) -> bool { self.0 >= 9 && self.0 <= 1023 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:101:27 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn is_private_use(&self) -> bool { self.0 >= 1024 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:127:26 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn is_unassigned(&self) -> bool { self.0 >= 15 && self.0 <= 1023 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:128:27 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn is_private_use(&self) -> bool { self.0 >= 1024 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:165:26 [INFO] [stderr] | [INFO] [stderr] 165 | pub fn is_unassigned(&self) -> bool { self.0 >= 15 && self.0 <= 1023 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:166:27 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn is_private_use(&self) -> bool { self.0 >= 1024 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/ikev2_parser.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | / pub fn parse_ikev2_payload_generic(i: &[u8]) -> IResult<&[u8],IkeV2GenericPayload> { [INFO] [stderr] 35 | | do_parse!( [INFO] [stderr] 36 | | i, [INFO] [stderr] 37 | | np_type: be_u8 [INFO] [stderr] ... | [INFO] [stderr] 55 | | ) [INFO] [stderr] 56 | | } [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2_parser.rs:91:36 [INFO] [stderr] | [INFO] [stderr] 91 | >> error_if!(p_len < (8u16+spi_size as u16), ErrorKind::Custom(128)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(spi_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2_parser.rs:93:34 [INFO] [stderr] | [INFO] [stderr] 93 | take!( p_len - (8u16+spi_size as u16) ), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(spi_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | / pub fn parse_ikev2_payload_sa<'a>(i: &'a[u8], _length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 111 | | map!(i, [INFO] [stderr] 112 | | many1!(parse_ikev2_proposal), [INFO] [stderr] 113 | | |v|{ IkeV2PayloadContent::SA(v) } [INFO] [stderr] 114 | | ) [INFO] [stderr] 115 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:117:1 [INFO] [stderr] | [INFO] [stderr] 117 | / pub fn parse_ikev2_payload_kex<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 118 | | do_parse!(i, [INFO] [stderr] 119 | | dh: be_u16 [INFO] [stderr] 120 | | >> reserved: be_u16 [INFO] [stderr] ... | [INFO] [stderr] 132 | | ) [INFO] [stderr] 133 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:135:1 [INFO] [stderr] | [INFO] [stderr] 135 | / pub fn parse_ikev2_payload_ident_init<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 136 | | do_parse!(i, [INFO] [stderr] 137 | | id_type: be_u8 [INFO] [stderr] 138 | | >> reserved1: be_u8 [INFO] [stderr] ... | [INFO] [stderr] 151 | | )) [INFO] [stderr] 152 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2.rs:423:26 [INFO] [stderr] | [INFO] [stderr] 423 | pub fn is_unassigned(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2.rs:429:27 [INFO] [stderr] | [INFO] [stderr] 429 | pub fn is_private_use(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:154:1 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn parse_ikev2_payload_ident_resp<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 155 | | do_parse!(i, [INFO] [stderr] 156 | | id_type: be_u8 [INFO] [stderr] 157 | | >> reserved1: be_u8 [INFO] [stderr] ... | [INFO] [stderr] 170 | | )) [INFO] [stderr] 171 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:173:1 [INFO] [stderr] | [INFO] [stderr] 173 | / pub fn parse_ikev2_payload_certificate<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 174 | | do_parse!(i, [INFO] [stderr] 175 | | encoding: be_u8 [INFO] [stderr] 176 | | >> error_if!(length < 1, ErrorKind::Custom(128)) [INFO] [stderr] ... | [INFO] [stderr] 185 | | )) [INFO] [stderr] 186 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:188:1 [INFO] [stderr] | [INFO] [stderr] 188 | / pub fn parse_ikev2_payload_certificate_request<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 189 | | do_parse!(i, [INFO] [stderr] 190 | | encoding: be_u8 [INFO] [stderr] 191 | | >> error_if!(length < 1, ErrorKind::Custom(128)) [INFO] [stderr] ... | [INFO] [stderr] 200 | | )) [INFO] [stderr] 201 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:203:1 [INFO] [stderr] | [INFO] [stderr] 203 | / pub fn parse_ikev2_payload_authentication<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 204 | | do_parse!(i, [INFO] [stderr] 205 | | method: be_u8 >> [INFO] [stderr] 206 | | error_if!(length < 4, ErrorKind::Custom(128)) >> [INFO] [stderr] ... | [INFO] [stderr] 215 | | )) [INFO] [stderr] 216 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:218:1 [INFO] [stderr] | [INFO] [stderr] 218 | / pub fn parse_ikev2_payload_nonce<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 219 | | do_parse!(i, [INFO] [stderr] 220 | | data: take!(length) [INFO] [stderr] 221 | | >> ( [INFO] [stderr] ... | [INFO] [stderr] 227 | | )) [INFO] [stderr] 228 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:560:9 [INFO] [stderr] | [INFO] [stderr] 560 | (b[0] as u16) << 8 | (b[1] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[0])` [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:560:30 [INFO] [stderr] | [INFO] [stderr] 560 | (b[0] as u16) << 8 | (b[1] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:561:9 [INFO] [stderr] | [INFO] [stderr] 561 | (b[2] as u16) << 8 | (b[3] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:561:30 [INFO] [stderr] | [INFO] [stderr] 561 | (b[2] as u16) << 8 | (b[3] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:562:9 [INFO] [stderr] | [INFO] [stderr] 562 | (b[4] as u16) << 8 | (b[5] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[4])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:562:30 [INFO] [stderr] | [INFO] [stderr] 562 | (b[4] as u16) << 8 | (b[5] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[5])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:230:1 [INFO] [stderr] | [INFO] [stderr] 230 | / pub fn parse_ikev2_payload_notify<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 231 | | do_parse!(i, [INFO] [stderr] 232 | | proto_id: be_u8 >> [INFO] [stderr] 233 | | spi_sz: be_u8 >> [INFO] [stderr] ... | [INFO] [stderr] 247 | | )) [INFO] [stderr] 248 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:563:9 [INFO] [stderr] | [INFO] [stderr] 563 | (b[6] as u16) << 8 | (b[7] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[6])` [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:563:30 [INFO] [stderr] | [INFO] [stderr] 563 | (b[6] as u16) << 8 | (b[7] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[7])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:564:9 [INFO] [stderr] | [INFO] [stderr] 564 | (b[8] as u16) << 8 | (b[9] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[8])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:564:30 [INFO] [stderr] | [INFO] [stderr] 564 | (b[8] as u16) << 8 | (b[9] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(b[9])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:565:9 [INFO] [stderr] | [INFO] [stderr] 565 | (b[10] as u16) << 8 | (b[11] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[10])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:565:31 [INFO] [stderr] | [INFO] [stderr] 565 | (b[10] as u16) << 8 | (b[11] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[11])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:566:9 [INFO] [stderr] | [INFO] [stderr] 566 | (b[12] as u16) << 8 | (b[13] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[12])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:566:31 [INFO] [stderr] | [INFO] [stderr] 566 | (b[12] as u16) << 8 | (b[13] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[13])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:567:9 [INFO] [stderr] | [INFO] [stderr] 567 | (b[14] as u16) << 8 | (b[15] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[14])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2.rs:567:31 [INFO] [stderr] | [INFO] [stderr] 567 | (b[14] as u16) << 8 | (b[15] as u16), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(b[15])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2_parser.rs:236:40 [INFO] [stderr] | [INFO] [stderr] 236 | notif_data: cond!(length > 8 + spi_sz as u16, take!(length-(8+spi_sz as u16))) >> [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(spi_sz)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2_parser.rs:236:71 [INFO] [stderr] | [INFO] [stderr] 236 | notif_data: cond!(length > 8 + spi_sz as u16, take!(length-(8+spi_sz as u16))) >> [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(spi_sz)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:250:1 [INFO] [stderr] | [INFO] [stderr] 250 | / pub fn parse_ikev2_payload_vendor_id<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 251 | | do_parse!(i, [INFO] [stderr] 252 | | error_if!(length < 8, ErrorKind::Custom(128)) >> [INFO] [stderr] 253 | | vendor_id: take!(length-8) >> [INFO] [stderr] ... | [INFO] [stderr] 260 | | )) [INFO] [stderr] 261 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:263:1 [INFO] [stderr] | [INFO] [stderr] 263 | / pub fn parse_ikev2_payload_delete<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 264 | | do_parse!(i, [INFO] [stderr] 265 | | proto_id: be_u8 >> [INFO] [stderr] 266 | | spi_sz: be_u8 >> [INFO] [stderr] ... | [INFO] [stderr] 279 | | )) [INFO] [stderr] 280 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:282:1 [INFO] [stderr] | [INFO] [stderr] 282 | / fn parse_ts_addr<'a>(i: &'a[u8], t: u8) -> IResult<&'a[u8],&'a[u8]> { [INFO] [stderr] 283 | | match t { [INFO] [stderr] 284 | | 7 => take!(i, 4), [INFO] [stderr] 285 | | 8 => take!(i, 16), [INFO] [stderr] 286 | | _ => IResult::Error(error_position!(ErrorKind::Switch,i)), [INFO] [stderr] 287 | | } [INFO] [stderr] 288 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:290:1 [INFO] [stderr] | [INFO] [stderr] 290 | / fn parse_ikev2_ts<'a>(i: &'a[u8]) -> IResult<&'a[u8],TrafficSelector<'a>> { [INFO] [stderr] 291 | | do_parse!(i, [INFO] [stderr] 292 | | ts_type: be_u8 [INFO] [stderr] 293 | | >> ip_proto_id: be_u8 [INFO] [stderr] ... | [INFO] [stderr] 309 | | )) [INFO] [stderr] 310 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:312:1 [INFO] [stderr] | [INFO] [stderr] 312 | / pub fn parse_ikev2_payload_ts<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],TrafficSelectorPayload<'a>> { [INFO] [stderr] 313 | | do_parse!(i, [INFO] [stderr] 314 | | num_ts: be_u8 [INFO] [stderr] 315 | | >> reserved: take!(3) [INFO] [stderr] ... | [INFO] [stderr] 326 | | )) [INFO] [stderr] 327 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_notify.rs:80:21 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn is_error(&self) -> bool { self.0 < 16384 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_notify.rs:81:22 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn is_status(&self) -> bool { self.0 > 16384 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:329:1 [INFO] [stderr] | [INFO] [stderr] 329 | / pub fn parse_ikev2_payload_ts_init<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 330 | | map!(i, [INFO] [stderr] 331 | | call!(parse_ikev2_payload_ts,length), [INFO] [stderr] 332 | | |x| IkeV2PayloadContent::TSi(x) [INFO] [stderr] 333 | | ) [INFO] [stderr] 334 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/ikev2_parser.rs:332:10 [INFO] [stderr] | [INFO] [stderr] 332 | |x| IkeV2PayloadContent::TSi(x) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `IkeV2PayloadContent::TSi` [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] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:336:1 [INFO] [stderr] | [INFO] [stderr] 336 | / pub fn parse_ikev2_payload_ts_resp<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 337 | | map!(i, [INFO] [stderr] 338 | | call!(parse_ikev2_payload_ts,length), [INFO] [stderr] 339 | | |x| IkeV2PayloadContent::TSr(x) [INFO] [stderr] 340 | | ) [INFO] [stderr] 341 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/ikev2_parser.rs:339:10 [INFO] [stderr] | [INFO] [stderr] 339 | |x| IkeV2PayloadContent::TSr(x) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `IkeV2PayloadContent::TSr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:343:1 [INFO] [stderr] | [INFO] [stderr] 343 | / pub fn parse_ikev2_payload_unknown<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 344 | | map!(i, take!(length), |d| { IkeV2PayloadContent::Unknown(d) }) [INFO] [stderr] 345 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:61:20 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn is_aead(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:77:26 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn is_unassigned(&self) -> bool { self.0 >= 23 && self.0 <= 1023 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:78:27 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn is_private_use(&self) -> bool { self.0 >= 1024 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/ikev2_parser.rs:384:16 [INFO] [stderr] | [INFO] [stderr] 384 | if rem.len() != 0 { return Err("parse_ikev2_payload_list_fold: rem is not null"); } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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 argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:100:26 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn is_unassigned(&self) -> bool { self.0 >= 9 && self.0 <= 1023 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:101:27 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn is_private_use(&self) -> bool { self.0 >= 1024 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this lifetime isn't used in the function definition [INFO] [stderr] --> src/ikev2_parser.rs:416:28 [INFO] [stderr] | [INFO] [stderr] 416 | pub fn parse_ikev2_message<'a>(i: &[u8]) -> IResult<&[u8],(IkeV2Header,Result,&'static str>)> { [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/ikev2_parser.rs:416:45 [INFO] [stderr] | [INFO] [stderr] 416 | pub fn parse_ikev2_message<'a>(i: &[u8]) -> IResult<&[u8],(IkeV2Header,Result,&'static str>)> { [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/esp.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | / pub fn parse_esp_encapsulated<'a>(i: &'a[u8]) -> IResult<&'a[u8],ESPData<'a>> { [INFO] [stderr] 33 | | match peek!(i, be_u32) { [INFO] [stderr] 34 | | IResult::Done(_,0) => parse_ikev2_header(i).map(|x| ESPData::IKE(x)), [INFO] [stderr] 35 | | IResult::Done(_,_) => parse_esp_header(i).map(|x| ESPData::ESP(x)), [INFO] [stderr] ... | [INFO] [stderr] 38 | | } [INFO] [stderr] 39 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:127:26 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn is_unassigned(&self) -> bool { self.0 >= 15 && self.0 <= 1023 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:128:27 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn is_private_use(&self) -> bool { self.0 >= 1024 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/esp.rs:34:63 [INFO] [stderr] | [INFO] [stderr] 34 | IResult::Done(_,0) => parse_ikev2_header(i).map(|x| ESPData::IKE(x)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ESPData::IKE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/esp.rs:35:61 [INFO] [stderr] | [INFO] [stderr] 35 | IResult::Done(_,_) => parse_esp_header(i).map(|x| ESPData::ESP(x)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ESPData::ESP` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/esp.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | / pub fn parse_esp_header<'a>(i: &'a[u8]) -> IResult<&'a[u8],ESPHeader<'a>> { [INFO] [stderr] 51 | | do_parse!( [INFO] [stderr] 52 | | i, [INFO] [stderr] 53 | | spi_index: take!(4) >> [INFO] [stderr] ... | [INFO] [stderr] 63 | | ) [INFO] [stderr] 64 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:165:26 [INFO] [stderr] | [INFO] [stderr] 165 | pub fn is_unassigned(&self) -> bool { self.0 >= 15 && self.0 <= 1023 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/ikev2_transforms.rs:166:27 [INFO] [stderr] | [INFO] [stderr] 166 | pub fn is_private_use(&self) -> bool { self.0 >= 1024 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/ikev2_parser.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | / pub fn parse_ikev2_payload_generic(i: &[u8]) -> IResult<&[u8],IkeV2GenericPayload> { [INFO] [stderr] 35 | | do_parse!( [INFO] [stderr] 36 | | i, [INFO] [stderr] 37 | | np_type: be_u8 [INFO] [stderr] ... | [INFO] [stderr] 55 | | ) [INFO] [stderr] 56 | | } [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2_parser.rs:91:36 [INFO] [stderr] | [INFO] [stderr] 91 | >> error_if!(p_len < (8u16+spi_size as u16), ErrorKind::Custom(128)) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(spi_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2_parser.rs:93:34 [INFO] [stderr] | [INFO] [stderr] 93 | take!( p_len - (8u16+spi_size as u16) ), [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `u16::from(spi_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | / pub fn parse_ikev2_payload_sa<'a>(i: &'a[u8], _length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 111 | | map!(i, [INFO] [stderr] 112 | | many1!(parse_ikev2_proposal), [INFO] [stderr] 113 | | |v|{ IkeV2PayloadContent::SA(v) } [INFO] [stderr] 114 | | ) [INFO] [stderr] 115 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:117:1 [INFO] [stderr] | [INFO] [stderr] 117 | / pub fn parse_ikev2_payload_kex<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 118 | | do_parse!(i, [INFO] [stderr] 119 | | dh: be_u16 [INFO] [stderr] 120 | | >> reserved: be_u16 [INFO] [stderr] ... | [INFO] [stderr] 132 | | ) [INFO] [stderr] 133 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:135:1 [INFO] [stderr] | [INFO] [stderr] 135 | / pub fn parse_ikev2_payload_ident_init<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 136 | | do_parse!(i, [INFO] [stderr] 137 | | id_type: be_u8 [INFO] [stderr] 138 | | >> reserved1: be_u8 [INFO] [stderr] ... | [INFO] [stderr] 151 | | )) [INFO] [stderr] 152 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:154:1 [INFO] [stderr] | [INFO] [stderr] 154 | / pub fn parse_ikev2_payload_ident_resp<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 155 | | do_parse!(i, [INFO] [stderr] 156 | | id_type: be_u8 [INFO] [stderr] 157 | | >> reserved1: be_u8 [INFO] [stderr] ... | [INFO] [stderr] 170 | | )) [INFO] [stderr] 171 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:173:1 [INFO] [stderr] | [INFO] [stderr] 173 | / pub fn parse_ikev2_payload_certificate<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 174 | | do_parse!(i, [INFO] [stderr] 175 | | encoding: be_u8 [INFO] [stderr] 176 | | >> error_if!(length < 1, ErrorKind::Custom(128)) [INFO] [stderr] ... | [INFO] [stderr] 185 | | )) [INFO] [stderr] 186 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:188:1 [INFO] [stderr] | [INFO] [stderr] 188 | / pub fn parse_ikev2_payload_certificate_request<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 189 | | do_parse!(i, [INFO] [stderr] 190 | | encoding: be_u8 [INFO] [stderr] 191 | | >> error_if!(length < 1, ErrorKind::Custom(128)) [INFO] [stderr] ... | [INFO] [stderr] 200 | | )) [INFO] [stderr] 201 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:203:1 [INFO] [stderr] | [INFO] [stderr] 203 | / pub fn parse_ikev2_payload_authentication<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 204 | | do_parse!(i, [INFO] [stderr] 205 | | method: be_u8 >> [INFO] [stderr] 206 | | error_if!(length < 4, ErrorKind::Custom(128)) >> [INFO] [stderr] ... | [INFO] [stderr] 215 | | )) [INFO] [stderr] 216 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:218:1 [INFO] [stderr] | [INFO] [stderr] 218 | / pub fn parse_ikev2_payload_nonce<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 219 | | do_parse!(i, [INFO] [stderr] 220 | | data: take!(length) [INFO] [stderr] 221 | | >> ( [INFO] [stderr] ... | [INFO] [stderr] 227 | | )) [INFO] [stderr] 228 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:230:1 [INFO] [stderr] | [INFO] [stderr] 230 | / pub fn parse_ikev2_payload_notify<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 231 | | do_parse!(i, [INFO] [stderr] 232 | | proto_id: be_u8 >> [INFO] [stderr] 233 | | spi_sz: be_u8 >> [INFO] [stderr] ... | [INFO] [stderr] 247 | | )) [INFO] [stderr] 248 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2_parser.rs:236:40 [INFO] [stderr] | [INFO] [stderr] 236 | notif_data: cond!(length > 8 + spi_sz as u16, take!(length-(8+spi_sz as u16))) >> [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(spi_sz)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/ikev2_parser.rs:236:71 [INFO] [stderr] | [INFO] [stderr] 236 | notif_data: cond!(length > 8 + spi_sz as u16, take!(length-(8+spi_sz as u16))) >> [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(spi_sz)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:250:1 [INFO] [stderr] | [INFO] [stderr] 250 | / pub fn parse_ikev2_payload_vendor_id<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 251 | | do_parse!(i, [INFO] [stderr] 252 | | error_if!(length < 8, ErrorKind::Custom(128)) >> [INFO] [stderr] 253 | | vendor_id: take!(length-8) >> [INFO] [stderr] ... | [INFO] [stderr] 260 | | )) [INFO] [stderr] 261 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:263:1 [INFO] [stderr] | [INFO] [stderr] 263 | / pub fn parse_ikev2_payload_delete<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 264 | | do_parse!(i, [INFO] [stderr] 265 | | proto_id: be_u8 >> [INFO] [stderr] 266 | | spi_sz: be_u8 >> [INFO] [stderr] ... | [INFO] [stderr] 279 | | )) [INFO] [stderr] 280 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:282:1 [INFO] [stderr] | [INFO] [stderr] 282 | / fn parse_ts_addr<'a>(i: &'a[u8], t: u8) -> IResult<&'a[u8],&'a[u8]> { [INFO] [stderr] 283 | | match t { [INFO] [stderr] 284 | | 7 => take!(i, 4), [INFO] [stderr] 285 | | 8 => take!(i, 16), [INFO] [stderr] 286 | | _ => IResult::Error(error_position!(ErrorKind::Switch,i)), [INFO] [stderr] 287 | | } [INFO] [stderr] 288 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:290:1 [INFO] [stderr] | [INFO] [stderr] 290 | / fn parse_ikev2_ts<'a>(i: &'a[u8]) -> IResult<&'a[u8],TrafficSelector<'a>> { [INFO] [stderr] 291 | | do_parse!(i, [INFO] [stderr] 292 | | ts_type: be_u8 [INFO] [stderr] 293 | | >> ip_proto_id: be_u8 [INFO] [stderr] ... | [INFO] [stderr] 309 | | )) [INFO] [stderr] 310 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:312:1 [INFO] [stderr] | [INFO] [stderr] 312 | / pub fn parse_ikev2_payload_ts<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],TrafficSelectorPayload<'a>> { [INFO] [stderr] 313 | | do_parse!(i, [INFO] [stderr] 314 | | num_ts: be_u8 [INFO] [stderr] 315 | | >> reserved: take!(3) [INFO] [stderr] ... | [INFO] [stderr] 326 | | )) [INFO] [stderr] 327 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:329:1 [INFO] [stderr] | [INFO] [stderr] 329 | / pub fn parse_ikev2_payload_ts_init<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 330 | | map!(i, [INFO] [stderr] 331 | | call!(parse_ikev2_payload_ts,length), [INFO] [stderr] 332 | | |x| IkeV2PayloadContent::TSi(x) [INFO] [stderr] 333 | | ) [INFO] [stderr] 334 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/ikev2_parser.rs:332:10 [INFO] [stderr] | [INFO] [stderr] 332 | |x| IkeV2PayloadContent::TSi(x) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `IkeV2PayloadContent::TSi` [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] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:336:1 [INFO] [stderr] | [INFO] [stderr] 336 | / pub fn parse_ikev2_payload_ts_resp<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 337 | | map!(i, [INFO] [stderr] 338 | | call!(parse_ikev2_payload_ts,length), [INFO] [stderr] 339 | | |x| IkeV2PayloadContent::TSr(x) [INFO] [stderr] 340 | | ) [INFO] [stderr] 341 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/ikev2_parser.rs:339:10 [INFO] [stderr] | [INFO] [stderr] 339 | |x| IkeV2PayloadContent::TSr(x) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `IkeV2PayloadContent::TSr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/ikev2_parser.rs:343:1 [INFO] [stderr] | [INFO] [stderr] 343 | / pub fn parse_ikev2_payload_unknown<'a>(i: &'a[u8], length: u16) -> IResult<&'a[u8],IkeV2PayloadContent<'a>> { [INFO] [stderr] 344 | | map!(i, take!(length), |d| { IkeV2PayloadContent::Unknown(d) }) [INFO] [stderr] 345 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/ikev2_parser.rs:384:16 [INFO] [stderr] | [INFO] [stderr] 384 | if rem.len() != 0 { return Err("parse_ikev2_payload_list_fold: rem is not null"); } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!rem.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/ikev2_parser.rs:416:28 [INFO] [stderr] | [INFO] [stderr] 416 | pub fn parse_ikev2_message<'a>(i: &[u8]) -> IResult<&[u8],(IkeV2Header,Result,&'static str>)> { [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/ikev2_parser.rs:416:45 [INFO] [stderr] | [INFO] [stderr] 416 | pub fn parse_ikev2_message<'a>(i: &[u8]) -> IResult<&[u8],(IkeV2Header,Result,&'static str>)> { [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: the `e @ _` pattern can be written as just `e` [INFO] [stderr] --> src/ikev2_parser.rs:490:17 [INFO] [stderr] | [INFO] [stderr] 490 | e @ _ => { eprintln!("Parsing payload failed: {:?}", e); assert!(false); }, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/esp.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | / pub fn parse_esp_encapsulated<'a>(i: &'a[u8]) -> IResult<&'a[u8],ESPData<'a>> { [INFO] [stderr] 33 | | match peek!(i, be_u32) { [INFO] [stderr] 34 | | IResult::Done(_,0) => parse_ikev2_header(i).map(|x| ESPData::IKE(x)), [INFO] [stderr] 35 | | IResult::Done(_,_) => parse_esp_header(i).map(|x| ESPData::ESP(x)), [INFO] [stderr] ... | [INFO] [stderr] 38 | | } [INFO] [stderr] 39 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/esp.rs:34:63 [INFO] [stderr] | [INFO] [stderr] 34 | IResult::Done(_,0) => parse_ikev2_header(i).map(|x| ESPData::IKE(x)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ESPData::IKE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/esp.rs:35:61 [INFO] [stderr] | [INFO] [stderr] 35 | IResult::Done(_,_) => parse_esp_header(i).map(|x| ESPData::ESP(x)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ESPData::ESP` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/esp.rs:50:1 [INFO] [stderr] | [INFO] [stderr] 50 | / pub fn parse_esp_header<'a>(i: &'a[u8]) -> IResult<&'a[u8],ESPHeader<'a>> { [INFO] [stderr] 51 | | do_parse!( [INFO] [stderr] 52 | | i, [INFO] [stderr] 53 | | spi_index: take!(4) >> [INFO] [stderr] ... | [INFO] [stderr] 63 | | ) [INFO] [stderr] 64 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.06s [INFO] running `"docker" "inspect" "84cebd71c5734596e0a5123e185fb31ae6c2c4757649ad9b0f047d8066baef99"` [INFO] running `"docker" "rm" "-f" "84cebd71c5734596e0a5123e185fb31ae6c2c4757649ad9b0f047d8066baef99"` [INFO] [stdout] 84cebd71c5734596e0a5123e185fb31ae6c2c4757649ad9b0f047d8066baef99