[INFO] crate rlp 0.3.0 is already in cache [INFO] extracting crate rlp 0.3.0 into work/ex/clippy-test-run/sources/stable/reg/rlp/0.3.0 [INFO] extracting crate rlp 0.3.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rlp/0.3.0 [INFO] validating manifest of rlp-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 rlp-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 rlp-0.3.0 [INFO] finished frobbing rlp-0.3.0 [INFO] frobbed toml for rlp-0.3.0 written to work/ex/clippy-test-run/sources/stable/reg/rlp/0.3.0/Cargo.toml [INFO] started frobbing rlp-0.3.0 [INFO] finished frobbing rlp-0.3.0 [INFO] frobbed toml for rlp-0.3.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rlp/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 rlp-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-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rlp/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] f60006ac85e824e829433164b18d388e6b7a7e0f69702e946b77e9ac71a78116 [INFO] running `"docker" "start" "-a" "f60006ac85e824e829433164b18d388e6b7a7e0f69702e946b77e9ac71a78116"` [INFO] [stderr] Checking rlp v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | offset: offset, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:71:4 [INFO] [stderr] | [INFO] [stderr] 71 | header_len: header_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `header_len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:72:4 [INFO] [stderr] | [INFO] [stderr] 72 | value_len: value_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:132:4 [INFO] [stderr] | [INFO] [stderr] 132 | bytes: bytes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | offset: offset, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `offset` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:71:4 [INFO] [stderr] | [INFO] [stderr] 71 | header_len: header_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `header_len` [INFO] [stderr] | [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] --> src/stream.rs:23:4 [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] 23 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:72:4 [INFO] [stderr] | [INFO] [stderr] 72 | value_len: value_len, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `value_len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/stream.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | max: max, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `max` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:132:4 [INFO] [stderr] | [INFO] [stderr] 132 | bytes: bytes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bytes` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/stream.rs:23:4 [INFO] [stderr] | [INFO] [stderr] 23 | position: position, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `position` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/stream.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | max: max, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `max` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/stream.rs:299:53 [INFO] [stderr] | [INFO] [stderr] 299 | fn note_appended(&mut self, inserted_items: usize) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/rlpin.rs:163:3 [INFO] [stderr] | [INFO] [stderr] 163 | match self.is_list() { [INFO] [stderr] | _________^ [INFO] [stderr] 164 | | true => match self.count_cache.get() { [INFO] [stderr] 165 | | Some(c) => Ok(c), [INFO] [stderr] 166 | | None => { [INFO] [stderr] ... | [INFO] [stderr] 172 | | false => Err(DecoderError::RlpExpectedToBeList), [INFO] [stderr] 173 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 163 | if self.is_list() { match self.count_cache.get() { [INFO] [stderr] 164 | Some(c) => Ok(c), [INFO] [stderr] 165 | None => { [INFO] [stderr] 166 | let c = self.iter().count(); [INFO] [stderr] 167 | self.count_cache.set(Some(c)); [INFO] [stderr] 168 | Ok(c) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/rlpin.rs:177:3 [INFO] [stderr] | [INFO] [stderr] 177 | match self.is_data() { [INFO] [stderr] | _________^ [INFO] [stderr] 178 | | // TODO: No panic on malformed data, but ideally would Err on no PayloadInfo. [INFO] [stderr] 179 | | true => BasicDecoder::payload_info(self.bytes).map(|b| b.value_len).unwrap_or(0), [INFO] [stderr] 180 | | false => 0 [INFO] [stderr] 181 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if self.is_data() { BasicDecoder::payload_info(self.bytes).map(|b| b.value_len).unwrap_or(0) } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rlpin.rs:214:3 [INFO] [stderr] | [INFO] [stderr] 214 | self.bytes.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.bytes.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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/rlpin.rs:293:3 [INFO] [stderr] | [INFO] [stderr] 293 | match bytes.len() >= len { [INFO] [stderr] | _________^ [INFO] [stderr] 294 | | true => Ok(&bytes[len..]), [INFO] [stderr] 295 | | false => Err(DecoderError::RlpIsTooShort) [INFO] [stderr] 296 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if bytes.len() >= len { Ok(&bytes[len..]) } else { Err(DecoderError::RlpIsTooShort) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: item `stream::RlpStream` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/stream.rs:43:1 [INFO] [stderr] | [INFO] [stderr] 43 | / impl RlpStream { [INFO] [stderr] 44 | | /// Initializes instance of empty `Stream`. [INFO] [stderr] 45 | | pub fn new() -> Self { [INFO] [stderr] 46 | | RlpStream { [INFO] [stderr] ... | [INFO] [stderr] 339 | | } [INFO] [stderr] 340 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [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/stream.rs:136:2 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn append_iter<'a, I>(&'a mut self, value: I) -> &'a mut Self [INFO] [stderr] | _____^ [INFO] [stderr] 137 | | where I: IntoIterator, [INFO] [stderr] 138 | | { [INFO] [stderr] 139 | | self.finished_list = false; [INFO] [stderr] ... | [INFO] [stderr] 144 | | self [INFO] [stderr] 145 | | } [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/stream.rs:222:2 [INFO] [stderr] | [INFO] [stderr] 222 | pub fn estimate_size<'a>(&'a self, add: usize) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 223 | | let total_size = self.buffer.len() + add; [INFO] [stderr] 224 | | let mut base_size = total_size; [INFO] [stderr] 225 | | for list in &self.unfinished_lists[..] { [INFO] [stderr] ... | [INFO] [stderr] 233 | | base_size [INFO] [stderr] 234 | | } [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/stream.rs:237:2 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn len<'a>(&'a self) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 238 | | self.estimate_size(0) [INFO] [stderr] 239 | | } [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/stream.rs:279:3 [INFO] [stderr] | [INFO] [stderr] 279 | self.unfinished_lists.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.unfinished_lists.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/stream.rs:292:3 [INFO] [stderr] | [INFO] [stderr] 292 | match self.is_finished() { [INFO] [stderr] | _________^ [INFO] [stderr] 293 | | true => self.buffer, [INFO] [stderr] 294 | | false => panic!() [INFO] [stderr] 295 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if self.is_finished() { self.buffer } else { panic!() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/stream.rs:300:6 [INFO] [stderr] | [INFO] [stderr] 300 | if self.unfinished_lists.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.unfinished_lists.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> src/impls.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | for i in 0..l { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 23 | for (i, ) in bytes.iter().enumerate().take(l) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/impls.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | res = res + ((bytes[i] as usize) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as usize) << shift)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:138:40 [INFO] [stderr] | [INFO] [stderr] 138 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(v)` [INFO] [stderr] ... [INFO] [stderr] 162 | impl_decodable_for_u!(u16); [INFO] [stderr] | --------------------------- in this macro invocation [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: manual implementation of an assign operation [INFO] [stderr] --> src/impls.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 162 | impl_decodable_for_u!(u16); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:146:22 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 162 | impl_decodable_for_u!(u16); [INFO] [stderr] | --------------------------- in this macro invocation [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:138:40 [INFO] [stderr] | [INFO] [stderr] 138 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(v)` [INFO] [stderr] ... [INFO] [stderr] 163 | impl_decodable_for_u!(u32); [INFO] [stderr] | --------------------------- in this macro invocation [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: manual implementation of an assign operation [INFO] [stderr] --> src/impls.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 163 | impl_decodable_for_u!(u32); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:146:22 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 163 | impl_decodable_for_u!(u32); [INFO] [stderr] | --------------------------- in this macro invocation [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:138:40 [INFO] [stderr] | [INFO] [stderr] 138 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(v)` [INFO] [stderr] ... [INFO] [stderr] 164 | impl_decodable_for_u!(u64); [INFO] [stderr] | --------------------------- in this macro invocation [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: manual implementation of an assign operation [INFO] [stderr] --> src/impls.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 164 | impl_decodable_for_u!(u64); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:146:22 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 164 | impl_decodable_for_u!(u64); [INFO] [stderr] | --------------------------- in this macro invocation [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: unneeded unit return type [INFO] [stderr] --> src/stream.rs:299:53 [INFO] [stderr] | [INFO] [stderr] 299 | fn note_appended(&mut self, inserted_items: usize) -> () { [INFO] [stderr] | ^^^^^ help: remove the `-> ()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_unit)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_unit [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/rlpin.rs:163:3 [INFO] [stderr] | [INFO] [stderr] 163 | match self.is_list() { [INFO] [stderr] | _________^ [INFO] [stderr] 164 | | true => match self.count_cache.get() { [INFO] [stderr] 165 | | Some(c) => Ok(c), [INFO] [stderr] 166 | | None => { [INFO] [stderr] ... | [INFO] [stderr] 172 | | false => Err(DecoderError::RlpExpectedToBeList), [INFO] [stderr] 173 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 163 | if self.is_list() { match self.count_cache.get() { [INFO] [stderr] 164 | Some(c) => Ok(c), [INFO] [stderr] 165 | None => { [INFO] [stderr] 166 | let c = self.iter().count(); [INFO] [stderr] 167 | self.count_cache.set(Some(c)); [INFO] [stderr] 168 | Ok(c) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/rlpin.rs:177:3 [INFO] [stderr] | [INFO] [stderr] 177 | match self.is_data() { [INFO] [stderr] | _________^ [INFO] [stderr] 178 | | // TODO: No panic on malformed data, but ideally would Err on no PayloadInfo. [INFO] [stderr] 179 | | true => BasicDecoder::payload_info(self.bytes).map(|b| b.value_len).unwrap_or(0), [INFO] [stderr] 180 | | false => 0 [INFO] [stderr] 181 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if self.is_data() { BasicDecoder::payload_info(self.bytes).map(|b| b.value_len).unwrap_or(0) } else { 0 }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rlpin.rs:214:3 [INFO] [stderr] | [INFO] [stderr] 214 | self.bytes.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.bytes.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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/rlpin.rs:293:3 [INFO] [stderr] | [INFO] [stderr] 293 | match bytes.len() >= len { [INFO] [stderr] | _________^ [INFO] [stderr] 294 | | true => Ok(&bytes[len..]), [INFO] [stderr] 295 | | false => Err(DecoderError::RlpIsTooShort) [INFO] [stderr] 296 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if bytes.len() >= len { Ok(&bytes[len..]) } else { Err(DecoderError::RlpIsTooShort) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: item `stream::RlpStream` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/stream.rs:43:1 [INFO] [stderr] | [INFO] [stderr] 43 | / impl RlpStream { [INFO] [stderr] 44 | | /// Initializes instance of empty `Stream`. [INFO] [stderr] 45 | | pub fn new() -> Self { [INFO] [stderr] 46 | | RlpStream { [INFO] [stderr] ... | [INFO] [stderr] 339 | | } [INFO] [stderr] 340 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [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/stream.rs:136:2 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn append_iter<'a, I>(&'a mut self, value: I) -> &'a mut Self [INFO] [stderr] | _____^ [INFO] [stderr] 137 | | where I: IntoIterator, [INFO] [stderr] 138 | | { [INFO] [stderr] 139 | | self.finished_list = false; [INFO] [stderr] ... | [INFO] [stderr] 144 | | self [INFO] [stderr] 145 | | } [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/stream.rs:222:2 [INFO] [stderr] | [INFO] [stderr] 222 | pub fn estimate_size<'a>(&'a self, add: usize) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 223 | | let total_size = self.buffer.len() + add; [INFO] [stderr] 224 | | let mut base_size = total_size; [INFO] [stderr] 225 | | for list in &self.unfinished_lists[..] { [INFO] [stderr] ... | [INFO] [stderr] 233 | | base_size [INFO] [stderr] 234 | | } [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/stream.rs:237:2 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn len<'a>(&'a self) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 238 | | self.estimate_size(0) [INFO] [stderr] 239 | | } [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/stream.rs:279:3 [INFO] [stderr] | [INFO] [stderr] 279 | self.unfinished_lists.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.unfinished_lists.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/stream.rs:292:3 [INFO] [stderr] | [INFO] [stderr] 292 | match self.is_finished() { [INFO] [stderr] | _________^ [INFO] [stderr] 293 | | true => self.buffer, [INFO] [stderr] 294 | | false => panic!() [INFO] [stderr] 295 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if self.is_finished() { self.buffer } else { panic!() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/stream.rs:300:6 [INFO] [stderr] | [INFO] [stderr] 300 | if self.unfinished_lists.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.unfinished_lists.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> src/impls.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | for i in 0..l { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 23 | for (i, ) in bytes.iter().enumerate().take(l) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/impls.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | res = res + ((bytes[i] as usize) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as usize) << shift)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:138:40 [INFO] [stderr] | [INFO] [stderr] 138 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(v)` [INFO] [stderr] ... [INFO] [stderr] 162 | impl_decodable_for_u!(u16); [INFO] [stderr] | --------------------------- in this macro invocation [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: manual implementation of an assign operation [INFO] [stderr] --> src/impls.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 162 | impl_decodable_for_u!(u16); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:146:22 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 162 | impl_decodable_for_u!(u16); [INFO] [stderr] | --------------------------- in this macro invocation [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 u32 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:138:40 [INFO] [stderr] | [INFO] [stderr] 138 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(v)` [INFO] [stderr] ... [INFO] [stderr] 163 | impl_decodable_for_u!(u32); [INFO] [stderr] | --------------------------- in this macro invocation [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: manual implementation of an assign operation [INFO] [stderr] --> src/impls.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 163 | impl_decodable_for_u!(u32); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:146:22 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 163 | impl_decodable_for_u!(u32); [INFO] [stderr] | --------------------------- in this macro invocation [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:138:40 [INFO] [stderr] | [INFO] [stderr] 138 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(v)` [INFO] [stderr] ... [INFO] [stderr] 164 | impl_decodable_for_u!(u64); [INFO] [stderr] | --------------------------- in this macro invocation [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: manual implementation of an assign operation [INFO] [stderr] --> src/impls.rs:146:9 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 164 | impl_decodable_for_u!(u64); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/impls.rs:146:22 [INFO] [stderr] | [INFO] [stderr] 146 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 164 | impl_decodable_for_u!(u64); [INFO] [stderr] | --------------------------- in this macro invocation [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] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/rlp.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `rlp`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> tests/tests.rs:122:13 [INFO] [stderr] | [INFO] [stderr] 122 | ETestPair(0xffffff, vec![0x83, 0xff, 0xff, 0xff]), [INFO] [stderr] | ^^^^^^^^ help: consider: `0x00ff_ffff` [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] --> tests/tests.rs:131:13 [INFO] [stderr] | [INFO] [stderr] 131 | ETestPair(0x1000000, vec![0x84, 0x01, 0x00, 0x00, 0x00]), [INFO] [stderr] | ^^^^^^^^^ help: consider: `0x0100_0000` [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] --> tests/tests.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | ETestPair(0xFFFFFFFF, vec![0x84, 0xff, 0xff, 0xff, 0xff]), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [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] --> tests/tests.rs:141:28 [INFO] [stderr] | [INFO] [stderr] 141 | ETestPair(U256::from(0x1000000u64), vec![0x84, 0x01, 0x00, 0x00, 0x00]), [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0x0100_0000u64` [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] --> tests/tests.rs:142:28 [INFO] [stderr] | [INFO] [stderr] 142 | ETestPair(U256::from(0xffffffffu64), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0xffff_ffffu64` [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] --> tests/tests.rs:200:19 [INFO] [stderr] | [INFO] [stderr] 200 | VETestPair(vec![0xffffffff, 1, 2, 3, 7, 0xff], vec![0xcb, 0x84, 0xff, 0xff, 0xff, 0xff, 1, 2, 3, 7, 0x81, 0xff]), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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] --> tests/tests.rs:267:13 [INFO] [stderr] | [INFO] [stderr] 267 | DTestPair(0xffffffu32, vec![0x83, 0xff, 0xff, 0xff]), [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0x00ff_ffffu32` [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] --> tests/tests.rs:275:13 [INFO] [stderr] | [INFO] [stderr] 275 | DTestPair(0x1000000u64, vec![0x84, 0x01, 0x00, 0x00, 0x00]), [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0x0100_0000u64` [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] --> tests/tests.rs:276:13 [INFO] [stderr] | [INFO] [stderr] 276 | DTestPair(0xFFFFFFFFu64, vec![0x84, 0xff, 0xff, 0xff, 0xff]), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFFu64` [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] --> tests/tests.rs:285:28 [INFO] [stderr] | [INFO] [stderr] 285 | DTestPair(U256::from(0x1000000u64), vec![0x84, 0x01, 0x00, 0x00, 0x00]), [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `0x0100_0000u64` [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] --> tests/tests.rs:286:28 [INFO] [stderr] | [INFO] [stderr] 286 | DTestPair(U256::from(0xffffffffu64), [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0xffff_ffffu64` [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] --> tests/tests.rs:334:19 [INFO] [stderr] | [INFO] [stderr] 334 | VDTestPair(vec![0xffffffff, 1, 2, 3, 7, 0xff], vec![0xcb, 0x84, 0xff, 0xff, 0xff, 0xff, 1, 2, 3, 7, 0x81, 0xff]), [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [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: useless use of `vec!` [INFO] [stderr] --> tests/tests.rs:450:12 [INFO] [stderr] | [INFO] [stderr] 450 | Rlp::new(&vec![0xc0 + 4, 0xb7 + 1, 2, b'a', b'b']).val_at::(0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0xc0 + 4, 0xb7 + 1, 2, b'a', b'b']` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/tests.rs:451:12 [INFO] [stderr] | [INFO] [stderr] 451 | Rlp::new(&vec![0xc0 + 3, 0x82, b'a', b'b']).val_at::(0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0xc0 + 3, 0x82, b'a', b'b']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/tests.rs:455:12 [INFO] [stderr] | [INFO] [stderr] 455 | Rlp::new(&vec![0xc0 + 4, 0xb7 + 1, 2, b'a', b'b']).val_at::(0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0xc0 + 4, 0xb7 + 1, 2, b'a', b'b']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/tests.rs:466:12 [INFO] [stderr] | [INFO] [stderr] 466 | Rlp::new(&vec![0xc0 + 3, 0x82, b'a', b'b']).val_at::(0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0xc0 + 3, 0x82, b'a', b'b']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/tests.rs:467:12 [INFO] [stderr] | [INFO] [stderr] 467 | Rlp::new(&vec![0xf7 + 1, 3, 0x82, b'a', b'b']).val_at::(0) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0xf7 + 1, 3, 0x82, b'a', b'b']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/tests.rs:471:12 [INFO] [stderr] | [INFO] [stderr] 471 | Rlp::new(&vec![0xf7 + 1, 3, 0x82, b'a', b'b']).val_at::(0), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0xf7 + 1, 3, 0x82, b'a', b'b']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/tests.rs:481:22 [INFO] [stderr] | [INFO] [stderr] 481 | assert_eq!(Rlp::new(&vec![0xc0 + 0, 0x82, b'a', b'b']).val_at::(0), Err(DecoderError::RlpIsTooShort)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0xc0 + 0, 0x82, b'a', b'b']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `0xc0` [INFO] [stderr] --> tests/tests.rs:481:28 [INFO] [stderr] | [INFO] [stderr] 481 | assert_eq!(Rlp::new(&vec![0xc0 + 0, 0x82, b'a', b'b']).val_at::(0), Err(DecoderError::RlpIsTooShort)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/tests.rs:482:22 [INFO] [stderr] | [INFO] [stderr] 482 | assert_eq!(Rlp::new(&vec![0xc0 + 1, 0x82, b'a', b'b']).val_at::(0), Err(DecoderError::RlpIsTooShort)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0xc0 + 1, 0x82, b'a', b'b']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/tests.rs:483:22 [INFO] [stderr] | [INFO] [stderr] 483 | assert_eq!(Rlp::new(&vec![0xc0 + 2, 0x82, b'a', b'b']).val_at::(0), Err(DecoderError::RlpIsTooShort)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0xc0 + 2, 0x82, b'a', b'b']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/tests.rs:484:22 [INFO] [stderr] | [INFO] [stderr] 484 | assert_eq!(Rlp::new(&vec![0xc0 + 3, 0x82, b'a', b'b']).val_at::(0), Ok("ab".to_owned())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0xc0 + 3, 0x82, b'a', b'b']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> tests/tests.rs:485:22 [INFO] [stderr] | [INFO] [stderr] 485 | assert_eq!(Rlp::new(&vec![0xc0 + 4, 0x82, b'a', b'b']).val_at::(0), Err(DecoderError::RlpIsTooShort)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0xc0 + 4, 0x82, b'a', b'b']` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "f60006ac85e824e829433164b18d388e6b7a7e0f69702e946b77e9ac71a78116"` [INFO] running `"docker" "rm" "-f" "f60006ac85e824e829433164b18d388e6b7a7e0f69702e946b77e9ac71a78116"` [INFO] [stdout] f60006ac85e824e829433164b18d388e6b7a7e0f69702e946b77e9ac71a78116