[INFO] crate sputnikvm-rlp 0.2.0 is already in cache [INFO] extracting crate sputnikvm-rlp 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/sputnikvm-rlp/0.2.0 [INFO] extracting crate sputnikvm-rlp 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sputnikvm-rlp/0.2.0 [INFO] validating manifest of sputnikvm-rlp-0.2.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 sputnikvm-rlp-0.2.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 sputnikvm-rlp-0.2.0 [INFO] finished frobbing sputnikvm-rlp-0.2.0 [INFO] frobbed toml for sputnikvm-rlp-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/sputnikvm-rlp/0.2.0/Cargo.toml [INFO] started frobbing sputnikvm-rlp-0.2.0 [INFO] finished frobbing sputnikvm-rlp-0.2.0 [INFO] frobbed toml for sputnikvm-rlp-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sputnikvm-rlp/0.2.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 sputnikvm-rlp-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/sputnikvm-rlp/0.2.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] 48f62d39b2ba132b93f0512b0d0b9b1064a80db4355d15c5f1f5680fbe24e11c [INFO] running `"docker" "start" "-a" "48f62d39b2ba132b93f0512b0d0b9b1064a80db4355d15c5f1f5680fbe24e11c"` [INFO] [stderr] Compiling heapsize v0.3.9 [INFO] [stderr] Checking elastic-array v0.7.0 [INFO] [stderr] Checking sputnikvm-rlp v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | Rlp { rlp: rlp } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `rlp` [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/untrusted_rlp.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/untrusted_rlp.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/untrusted_rlp.rs:65:4 [INFO] [stderr] | [INFO] [stderr] 65 | 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/untrusted_rlp.rs:66:4 [INFO] [stderr] | [INFO] [stderr] 66 | 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/untrusted_rlp.rs:138:4 [INFO] [stderr] | [INFO] [stderr] 138 | 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/untrusted_rlp.rs:330:4 [INFO] [stderr] | [INFO] [stderr] 330 | rlp: rlp [INFO] [stderr] | ^^^^^^^^ help: replace it with: `rlp` [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:24:4 [INFO] [stderr] | [INFO] [stderr] 24 | 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:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | 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/compression.rs:33:4 [INFO] [stderr] | [INFO] [stderr] 33 | invalid_to_valid: invalid_to_valid, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `invalid_to_valid` [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/compression.rs:34:4 [INFO] [stderr] | [INFO] [stderr] 34 | valid_to_invalid: valid_to_invalid [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `valid_to_invalid` [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:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | Rlp { rlp: rlp } [INFO] [stderr] | ^^^^^^^^ help: replace it with: `rlp` [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/untrusted_rlp.rs:25:4 [INFO] [stderr] | [INFO] [stderr] 25 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/untrusted_rlp.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/untrusted_rlp.rs:65:4 [INFO] [stderr] | [INFO] [stderr] 65 | 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/untrusted_rlp.rs:66:4 [INFO] [stderr] | [INFO] [stderr] 66 | 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/untrusted_rlp.rs:138:4 [INFO] [stderr] | [INFO] [stderr] 138 | 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/untrusted_rlp.rs:330:4 [INFO] [stderr] | [INFO] [stderr] 330 | rlp: rlp [INFO] [stderr] | ^^^^^^^^ help: replace it with: `rlp` [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:24:4 [INFO] [stderr] | [INFO] [stderr] 24 | 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:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | 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/compression.rs:33:4 [INFO] [stderr] | [INFO] [stderr] 33 | invalid_to_valid: invalid_to_valid, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `invalid_to_valid` [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/compression.rs:34:4 [INFO] [stderr] | [INFO] [stderr] 34 | valid_to_invalid: valid_to_invalid [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `valid_to_invalid` [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: unnecessary parentheses around function argument [INFO] [stderr] --> src/untrusted_rlp.rs:279:43 [INFO] [stderr] | [INFO] [stderr] 279 | result = UntrustedRlp::consume(result, (i.header_len + i.value_len))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/stream.rs:274:53 [INFO] [stderr] | [INFO] [stderr] 274 | 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: unused import: `cmp` [INFO] [stderr] --> src/impls.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | use std::{cmp, mem, str}; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/impls.rs:181:1 [INFO] [stderr] | [INFO] [stderr] 181 | / macro_rules! impl_encodable_for_hash { [INFO] [stderr] 182 | | ($name: ident) => { [INFO] [stderr] 183 | | impl Encodable for $name { [INFO] [stderr] 184 | | fn rlp_append(&self, s: &mut RlpStream) { [INFO] [stderr] ... | [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/impls.rs:191:1 [INFO] [stderr] | [INFO] [stderr] 191 | / macro_rules! impl_decodable_for_hash { [INFO] [stderr] 192 | | ($name: ident, $size: expr) => { [INFO] [stderr] 193 | | impl Decodable for $name { [INFO] [stderr] 194 | | fn decode(rlp: &UntrustedRlp) -> Result { [INFO] [stderr] ... | [INFO] [stderr] 206 | | } [INFO] [stderr] 207 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/untrusted_rlp.rs:279:43 [INFO] [stderr] | [INFO] [stderr] 279 | result = UntrustedRlp::consume(result, (i.header_len + i.value_len))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded unit return type [INFO] [stderr] --> src/stream.rs:274:53 [INFO] [stderr] | [INFO] [stderr] 274 | 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: unused import: `cmp` [INFO] [stderr] --> src/impls.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | use std::{cmp, mem, str}; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/impls.rs:181:1 [INFO] [stderr] | [INFO] [stderr] 181 | / macro_rules! impl_encodable_for_hash { [INFO] [stderr] 182 | | ($name: ident) => { [INFO] [stderr] 183 | | impl Encodable for $name { [INFO] [stderr] 184 | | fn rlp_append(&self, s: &mut RlpStream) { [INFO] [stderr] ... | [INFO] [stderr] 188 | | } [INFO] [stderr] 189 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/impls.rs:191:1 [INFO] [stderr] | [INFO] [stderr] 191 | / macro_rules! impl_decodable_for_hash { [INFO] [stderr] 192 | | ($name: ident, $size: expr) => { [INFO] [stderr] 193 | | impl Decodable for $name { [INFO] [stderr] 194 | | fn decode(rlp: &UntrustedRlp) -> Result { [INFO] [stderr] ... | [INFO] [stderr] 206 | | } [INFO] [stderr] 207 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/untrusted_rlp.rs:169:3 [INFO] [stderr] | [INFO] [stderr] 169 | match self.is_list() { [INFO] [stderr] | _________^ [INFO] [stderr] 170 | | true => match self.count_cache.get() { [INFO] [stderr] 171 | | Some(c) => Ok(c), [INFO] [stderr] 172 | | None => { [INFO] [stderr] ... | [INFO] [stderr] 178 | | false => Err(DecoderError::RlpExpectedToBeList), [INFO] [stderr] 179 | | } [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] 169 | if self.is_list() { match self.count_cache.get() { [INFO] [stderr] 170 | Some(c) => Ok(c), [INFO] [stderr] 171 | None => { [INFO] [stderr] 172 | let c = self.iter().count(); [INFO] [stderr] 173 | self.count_cache.set(Some(c)); [INFO] [stderr] 174 | Ok(c) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/untrusted_rlp.rs:183:3 [INFO] [stderr] | [INFO] [stderr] 183 | match self.is_data() { [INFO] [stderr] | _________^ [INFO] [stderr] 184 | | // TODO: No panic on malformed data, but ideally would Err on no PayloadInfo. [INFO] [stderr] 185 | | true => BasicDecoder::payload_info(self.bytes).map(|b| b.value_len).unwrap_or(0), [INFO] [stderr] 186 | | false => 0 [INFO] [stderr] 187 | | } [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/untrusted_rlp.rs:198:30 [INFO] [stderr] | [INFO] [stderr] 198 | let (mut bytes, to_skip) = match c.index <= index { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 199 | | true => (UntrustedRlp::consume(self.bytes, c.offset)?, index - c.index), [INFO] [stderr] 200 | | false => (self.consume_list_payload()?, index), [INFO] [stderr] 201 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if c.index <= index { (UntrustedRlp::consume(self.bytes, c.offset)?, index - c.index) } else { (self.consume_list_payload()?, index) }` [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/untrusted_rlp.rs:215:3 [INFO] [stderr] | [INFO] [stderr] 215 | 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/untrusted_rlp.rs:287:3 [INFO] [stderr] | [INFO] [stderr] 287 | match bytes.len() >= len { [INFO] [stderr] | _________^ [INFO] [stderr] 288 | | true => Ok(&bytes[len..]), [INFO] [stderr] 289 | | false => Err(DecoderError::RlpIsTooShort), [INFO] [stderr] 290 | | } [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:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | / impl RlpStream { [INFO] [stderr] 45 | | /// Initializes instance of empty `Stream`. [INFO] [stderr] 46 | | pub fn new() -> Self { [INFO] [stderr] 47 | | RlpStream { [INFO] [stderr] ... | [INFO] [stderr] 322 | | } [INFO] [stderr] 323 | | } [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:195:2 [INFO] [stderr] | [INFO] [stderr] 195 | pub fn estimate_size<'a>(&'a self, add: usize) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 196 | | let total_size = self.buffer.len() + add; [INFO] [stderr] 197 | | let mut base_size = total_size; [INFO] [stderr] 198 | | for list in &self.unfinished_lists[..] { [INFO] [stderr] ... | [INFO] [stderr] 206 | | base_size [INFO] [stderr] 207 | | } [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:211:2 [INFO] [stderr] | [INFO] [stderr] 211 | pub fn len<'a>(&'a self) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 212 | | self.estimate_size(0) [INFO] [stderr] 213 | | } [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/stream.rs:266:3 [INFO] [stderr] | [INFO] [stderr] 266 | match self.is_finished() { [INFO] [stderr] | _________^ [INFO] [stderr] 267 | | //true => self.encoder.out().to_vec(), [INFO] [stderr] 268 | | true => self.buffer.to_vec(), [INFO] [stderr] 269 | | false => panic!() [INFO] [stderr] 270 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if self.is_finished() { self.buffer.to_vec() } 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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/stream.rs:307:3 [INFO] [stderr] | [INFO] [stderr] 307 | match self.is_finished() { [INFO] [stderr] | _________^ [INFO] [stderr] 308 | | true => self.buffer, [INFO] [stderr] 309 | | false => panic!() [INFO] [stderr] 310 | | } [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: taken reference of right operand [INFO] [stderr] --> src/compression.rs:135:26 [INFO] [stderr] | [INFO] [stderr] 135 | 2 if rlp.at(0).map(|r| r.as_raw() == &[0x81, 0x7f]).unwrap_or(false) => [INFO] [stderr] | ^^^^^^^^^^^^^^------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `[0x81, 0x7f]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> src/impls.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | 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] 22 | 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:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | 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:141:40 [INFO] [stderr] | [INFO] [stderr] 141 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(v)` [INFO] [stderr] ... [INFO] [stderr] 165 | 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:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 165 | 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:149:22 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 165 | 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:141:40 [INFO] [stderr] | [INFO] [stderr] 141 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(v)` [INFO] [stderr] ... [INFO] [stderr] 166 | 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:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 166 | 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:149:22 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 166 | 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:141:40 [INFO] [stderr] | [INFO] [stderr] 141 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(v)` [INFO] [stderr] ... [INFO] [stderr] 167 | 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:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 167 | 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:149:22 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 167 | 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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/untrusted_rlp.rs:169:3 [INFO] [stderr] | [INFO] [stderr] 169 | match self.is_list() { [INFO] [stderr] | _________^ [INFO] [stderr] 170 | | true => match self.count_cache.get() { [INFO] [stderr] 171 | | Some(c) => Ok(c), [INFO] [stderr] 172 | | None => { [INFO] [stderr] ... | [INFO] [stderr] 178 | | false => Err(DecoderError::RlpExpectedToBeList), [INFO] [stderr] 179 | | } [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] 169 | if self.is_list() { match self.count_cache.get() { [INFO] [stderr] 170 | Some(c) => Ok(c), [INFO] [stderr] 171 | None => { [INFO] [stderr] 172 | let c = self.iter().count(); [INFO] [stderr] 173 | self.count_cache.set(Some(c)); [INFO] [stderr] 174 | Ok(c) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/untrusted_rlp.rs:183:3 [INFO] [stderr] | [INFO] [stderr] 183 | match self.is_data() { [INFO] [stderr] | _________^ [INFO] [stderr] 184 | | // TODO: No panic on malformed data, but ideally would Err on no PayloadInfo. [INFO] [stderr] 185 | | true => BasicDecoder::payload_info(self.bytes).map(|b| b.value_len).unwrap_or(0), [INFO] [stderr] 186 | | false => 0 [INFO] [stderr] 187 | | } [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/untrusted_rlp.rs:198:30 [INFO] [stderr] | [INFO] [stderr] 198 | let (mut bytes, to_skip) = match c.index <= index { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 199 | | true => (UntrustedRlp::consume(self.bytes, c.offset)?, index - c.index), [INFO] [stderr] 200 | | false => (self.consume_list_payload()?, index), [INFO] [stderr] 201 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if c.index <= index { (UntrustedRlp::consume(self.bytes, c.offset)?, index - c.index) } else { (self.consume_list_payload()?, index) }` [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/untrusted_rlp.rs:215:3 [INFO] [stderr] | [INFO] [stderr] 215 | 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/untrusted_rlp.rs:287:3 [INFO] [stderr] | [INFO] [stderr] 287 | match bytes.len() >= len { [INFO] [stderr] | _________^ [INFO] [stderr] 288 | | true => Ok(&bytes[len..]), [INFO] [stderr] 289 | | false => Err(DecoderError::RlpIsTooShort), [INFO] [stderr] 290 | | } [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:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | / impl RlpStream { [INFO] [stderr] 45 | | /// Initializes instance of empty `Stream`. [INFO] [stderr] 46 | | pub fn new() -> Self { [INFO] [stderr] 47 | | RlpStream { [INFO] [stderr] ... | [INFO] [stderr] 322 | | } [INFO] [stderr] 323 | | } [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:195:2 [INFO] [stderr] | [INFO] [stderr] 195 | pub fn estimate_size<'a>(&'a self, add: usize) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 196 | | let total_size = self.buffer.len() + add; [INFO] [stderr] 197 | | let mut base_size = total_size; [INFO] [stderr] 198 | | for list in &self.unfinished_lists[..] { [INFO] [stderr] ... | [INFO] [stderr] 206 | | base_size [INFO] [stderr] 207 | | } [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:211:2 [INFO] [stderr] | [INFO] [stderr] 211 | pub fn len<'a>(&'a self) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 212 | | self.estimate_size(0) [INFO] [stderr] 213 | | } [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/stream.rs:266:3 [INFO] [stderr] | [INFO] [stderr] 266 | match self.is_finished() { [INFO] [stderr] | _________^ [INFO] [stderr] 267 | | //true => self.encoder.out().to_vec(), [INFO] [stderr] 268 | | true => self.buffer.to_vec(), [INFO] [stderr] 269 | | false => panic!() [INFO] [stderr] 270 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if self.is_finished() { self.buffer.to_vec() } 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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/stream.rs:307:3 [INFO] [stderr] | [INFO] [stderr] 307 | match self.is_finished() { [INFO] [stderr] | _________^ [INFO] [stderr] 308 | | true => self.buffer, [INFO] [stderr] 309 | | false => panic!() [INFO] [stderr] 310 | | } [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: taken reference of right operand [INFO] [stderr] --> src/compression.rs:135:26 [INFO] [stderr] | [INFO] [stderr] 135 | 2 if rlp.at(0).map(|r| r.as_raw() == &[0x81, 0x7f]).unwrap_or(false) => [INFO] [stderr] | ^^^^^^^^^^^^^^------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `[0x81, 0x7f]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `bytes` [INFO] [stderr] --> src/impls.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | 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] 22 | 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:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | 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:141:40 [INFO] [stderr] | [INFO] [stderr] 141 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(v)` [INFO] [stderr] ... [INFO] [stderr] 165 | 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:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 165 | 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:149:22 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 165 | 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:141:40 [INFO] [stderr] | [INFO] [stderr] 141 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(v)` [INFO] [stderr] ... [INFO] [stderr] 166 | 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:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 166 | 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:149:22 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 166 | 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:141:40 [INFO] [stderr] | [INFO] [stderr] 141 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(v)` [INFO] [stderr] ... [INFO] [stderr] 167 | 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:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 167 | 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:149:22 [INFO] [stderr] | [INFO] [stderr] 149 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 167 | 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[E0463]: can't find crate for `rlp` [INFO] [stderr] --> benches/rlp.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | extern crate rlp; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0463`. [INFO] [stderr] error: Could not compile `sputnikvm-rlp`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> tests/tests.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | 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:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | 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:126:13 [INFO] [stderr] | [INFO] [stderr] 126 | 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:166:19 [INFO] [stderr] | [INFO] [stderr] 166 | 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:231:13 [INFO] [stderr] | [INFO] [stderr] 231 | 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:239:13 [INFO] [stderr] | [INFO] [stderr] 239 | 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:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | 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:270:19 [INFO] [stderr] | [INFO] [stderr] 270 | 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] error: build failed [INFO] running `"docker" "inspect" "48f62d39b2ba132b93f0512b0d0b9b1064a80db4355d15c5f1f5680fbe24e11c"` [INFO] running `"docker" "rm" "-f" "48f62d39b2ba132b93f0512b0d0b9b1064a80db4355d15c5f1f5680fbe24e11c"` [INFO] [stdout] 48f62d39b2ba132b93f0512b0d0b9b1064a80db4355d15c5f1f5680fbe24e11c