[INFO] crate ethereum-rlp 0.2.3 is already in cache [INFO] extracting crate ethereum-rlp 0.2.3 into work/ex/clippy-test-run/sources/stable/reg/ethereum-rlp/0.2.3 [INFO] extracting crate ethereum-rlp 0.2.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ethereum-rlp/0.2.3 [INFO] validating manifest of ethereum-rlp-0.2.3 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 ethereum-rlp-0.2.3 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 ethereum-rlp-0.2.3 [INFO] finished frobbing ethereum-rlp-0.2.3 [INFO] frobbed toml for ethereum-rlp-0.2.3 written to work/ex/clippy-test-run/sources/stable/reg/ethereum-rlp/0.2.3/Cargo.toml [INFO] started frobbing ethereum-rlp-0.2.3 [INFO] finished frobbing ethereum-rlp-0.2.3 [INFO] frobbed toml for ethereum-rlp-0.2.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ethereum-rlp/0.2.3/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 ethereum-rlp-0.2.3 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/ethereum-rlp/0.2.3:/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] c569e655d3d8079da57cd4c213659f84913534202b9a01e0dbe96ec9540f1132 [INFO] running `"docker" "start" "-a" "c569e655d3d8079da57cd4c213659f84913534202b9a01e0dbe96ec9540f1132"` [INFO] [stderr] Checking ethereum-hexutil v0.2.3 [INFO] [stderr] Checking ethereum-rlp v0.2.3 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/rlpin.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | 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:30:4 [INFO] [stderr] | [INFO] [stderr] 30 | 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:31:4 [INFO] [stderr] | [INFO] [stderr] 31 | 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:70:4 [INFO] [stderr] | [INFO] [stderr] 70 | 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:71:4 [INFO] [stderr] | [INFO] [stderr] 71 | 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:143:4 [INFO] [stderr] | [INFO] [stderr] 143 | 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:335:4 [INFO] [stderr] | [INFO] [stderr] 335 | 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:28:4 [INFO] [stderr] | [INFO] [stderr] 28 | 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:30:4 [INFO] [stderr] | [INFO] [stderr] 30 | 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:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | 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:36:4 [INFO] [stderr] | [INFO] [stderr] 36 | 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:18:9 [INFO] [stderr] | [INFO] [stderr] 18 | 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:30:4 [INFO] [stderr] | [INFO] [stderr] 30 | 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:31:4 [INFO] [stderr] | [INFO] [stderr] 31 | 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:70:4 [INFO] [stderr] | [INFO] [stderr] 70 | 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:71:4 [INFO] [stderr] | [INFO] [stderr] 71 | 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:143:4 [INFO] [stderr] | [INFO] [stderr] 143 | 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:335:4 [INFO] [stderr] | [INFO] [stderr] 335 | 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:28:4 [INFO] [stderr] | [INFO] [stderr] 28 | 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:30:4 [INFO] [stderr] | [INFO] [stderr] 30 | 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:35:4 [INFO] [stderr] | [INFO] [stderr] 35 | 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:36:4 [INFO] [stderr] | [INFO] [stderr] 36 | 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:284:43 [INFO] [stderr] | [INFO] [stderr] 284 | 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:278:53 [INFO] [stderr] | [INFO] [stderr] 278 | 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:12:35 [INFO] [stderr] | [INFO] [stderr] 12 | #[cfg(feature = "std")] 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:185:1 [INFO] [stderr] | [INFO] [stderr] 185 | / macro_rules! impl_encodable_for_hash { [INFO] [stderr] 186 | | ($name: ident) => { [INFO] [stderr] 187 | | impl Encodable for $name { [INFO] [stderr] 188 | | fn rlp_append(&self, s: &mut RlpStream) { [INFO] [stderr] ... | [INFO] [stderr] 192 | | } [INFO] [stderr] 193 | | } [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:195:1 [INFO] [stderr] | [INFO] [stderr] 195 | / macro_rules! impl_decodable_for_hash { [INFO] [stderr] 196 | | ($name: ident, $size: expr) => { [INFO] [stderr] 197 | | impl Decodable for $name { [INFO] [stderr] 198 | | fn decode(rlp: &UntrustedRlp) -> Result { [INFO] [stderr] ... | [INFO] [stderr] 210 | | } [INFO] [stderr] 211 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/untrusted_rlp.rs:284:43 [INFO] [stderr] | [INFO] [stderr] 284 | 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:278:53 [INFO] [stderr] | [INFO] [stderr] 278 | 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:12:35 [INFO] [stderr] | [INFO] [stderr] 12 | #[cfg(feature = "std")] 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:185:1 [INFO] [stderr] | [INFO] [stderr] 185 | / macro_rules! impl_encodable_for_hash { [INFO] [stderr] 186 | | ($name: ident) => { [INFO] [stderr] 187 | | impl Encodable for $name { [INFO] [stderr] 188 | | fn rlp_append(&self, s: &mut RlpStream) { [INFO] [stderr] ... | [INFO] [stderr] 192 | | } [INFO] [stderr] 193 | | } [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:195:1 [INFO] [stderr] | [INFO] [stderr] 195 | / macro_rules! impl_decodable_for_hash { [INFO] [stderr] 196 | | ($name: ident, $size: expr) => { [INFO] [stderr] 197 | | impl Decodable for $name { [INFO] [stderr] 198 | | fn decode(rlp: &UntrustedRlp) -> Result { [INFO] [stderr] ... | [INFO] [stderr] 210 | | } [INFO] [stderr] 211 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/untrusted_rlp.rs:174:3 [INFO] [stderr] | [INFO] [stderr] 174 | match self.is_list() { [INFO] [stderr] | _________^ [INFO] [stderr] 175 | | true => match self.count_cache.get() { [INFO] [stderr] 176 | | Some(c) => Ok(c), [INFO] [stderr] 177 | | None => { [INFO] [stderr] ... | [INFO] [stderr] 183 | | false => Err(DecoderError::RlpExpectedToBeList), [INFO] [stderr] 184 | | } [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] 174 | if self.is_list() { match self.count_cache.get() { [INFO] [stderr] 175 | Some(c) => Ok(c), [INFO] [stderr] 176 | None => { [INFO] [stderr] 177 | let c = self.iter().count(); [INFO] [stderr] 178 | self.count_cache.set(Some(c)); [INFO] [stderr] 179 | 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:188:3 [INFO] [stderr] | [INFO] [stderr] 188 | match self.is_data() { [INFO] [stderr] | _________^ [INFO] [stderr] 189 | | // TODO: No panic on malformed data, but ideally would Err on no PayloadInfo. [INFO] [stderr] 190 | | true => BasicDecoder::payload_info(self.bytes).map(|b| b.value_len).unwrap_or(0), [INFO] [stderr] 191 | | false => 0 [INFO] [stderr] 192 | | } [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:203:30 [INFO] [stderr] | [INFO] [stderr] 203 | let (mut bytes, to_skip) = match c.index <= index { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 204 | | true => (UntrustedRlp::consume(self.bytes, c.offset)?, index - c.index), [INFO] [stderr] 205 | | false => (self.consume_list_payload()?, index), [INFO] [stderr] 206 | | }; [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:220:3 [INFO] [stderr] | [INFO] [stderr] 220 | 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:292:3 [INFO] [stderr] | [INFO] [stderr] 292 | match bytes.len() >= len { [INFO] [stderr] | _________^ [INFO] [stderr] 293 | | true => Ok(&bytes[len..]), [INFO] [stderr] 294 | | false => Err(DecoderError::RlpIsTooShort), [INFO] [stderr] 295 | | } [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:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | / impl RlpStream { [INFO] [stderr] 49 | | /// Initializes instance of empty `Stream`. [INFO] [stderr] 50 | | pub fn new() -> Self { [INFO] [stderr] 51 | | RlpStream { [INFO] [stderr] ... | [INFO] [stderr] 326 | | } [INFO] [stderr] 327 | | } [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:199:2 [INFO] [stderr] | [INFO] [stderr] 199 | pub fn estimate_size<'a>(&'a self, add: usize) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 200 | | let total_size = self.buffer.len() + add; [INFO] [stderr] 201 | | let mut base_size = total_size; [INFO] [stderr] 202 | | for list in &self.unfinished_lists[..] { [INFO] [stderr] ... | [INFO] [stderr] 210 | | base_size [INFO] [stderr] 211 | | } [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:215:2 [INFO] [stderr] | [INFO] [stderr] 215 | pub fn len<'a>(&'a self) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 216 | | self.estimate_size(0) [INFO] [stderr] 217 | | } [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:270:3 [INFO] [stderr] | [INFO] [stderr] 270 | match self.is_finished() { [INFO] [stderr] | _________^ [INFO] [stderr] 271 | | //true => self.encoder.out().to_vec(), [INFO] [stderr] 272 | | true => self.buffer.to_vec(), [INFO] [stderr] 273 | | false => panic!() [INFO] [stderr] 274 | | } [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:311:3 [INFO] [stderr] | [INFO] [stderr] 311 | match self.is_finished() { [INFO] [stderr] | _________^ [INFO] [stderr] 312 | | true => self.buffer, [INFO] [stderr] 313 | | false => panic!() [INFO] [stderr] 314 | | } [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:137:26 [INFO] [stderr] | [INFO] [stderr] 137 | 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:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | 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] 26 | 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:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | 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:145:40 [INFO] [stderr] | [INFO] [stderr] 145 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(v)` [INFO] [stderr] ... [INFO] [stderr] 169 | 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:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 169 | 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:153:22 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 169 | 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:145:40 [INFO] [stderr] | [INFO] [stderr] 145 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(v)` [INFO] [stderr] ... [INFO] [stderr] 170 | 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:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 170 | 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:153:22 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 170 | 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:145:40 [INFO] [stderr] | [INFO] [stderr] 145 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(v)` [INFO] [stderr] ... [INFO] [stderr] 171 | 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:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 171 | 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:153:22 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 171 | 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:174:3 [INFO] [stderr] | [INFO] [stderr] 174 | match self.is_list() { [INFO] [stderr] | _________^ [INFO] [stderr] 175 | | true => match self.count_cache.get() { [INFO] [stderr] 176 | | Some(c) => Ok(c), [INFO] [stderr] 177 | | None => { [INFO] [stderr] ... | [INFO] [stderr] 183 | | false => Err(DecoderError::RlpExpectedToBeList), [INFO] [stderr] 184 | | } [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] 174 | if self.is_list() { match self.count_cache.get() { [INFO] [stderr] 175 | Some(c) => Ok(c), [INFO] [stderr] 176 | None => { [INFO] [stderr] 177 | let c = self.iter().count(); [INFO] [stderr] 178 | self.count_cache.set(Some(c)); [INFO] [stderr] 179 | 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:188:3 [INFO] [stderr] | [INFO] [stderr] 188 | match self.is_data() { [INFO] [stderr] | _________^ [INFO] [stderr] 189 | | // TODO: No panic on malformed data, but ideally would Err on no PayloadInfo. [INFO] [stderr] 190 | | true => BasicDecoder::payload_info(self.bytes).map(|b| b.value_len).unwrap_or(0), [INFO] [stderr] 191 | | false => 0 [INFO] [stderr] 192 | | } [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:203:30 [INFO] [stderr] | [INFO] [stderr] 203 | let (mut bytes, to_skip) = match c.index <= index { [INFO] [stderr] | ____________________________________^ [INFO] [stderr] 204 | | true => (UntrustedRlp::consume(self.bytes, c.offset)?, index - c.index), [INFO] [stderr] 205 | | false => (self.consume_list_payload()?, index), [INFO] [stderr] 206 | | }; [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:220:3 [INFO] [stderr] | [INFO] [stderr] 220 | 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:292:3 [INFO] [stderr] | [INFO] [stderr] 292 | match bytes.len() >= len { [INFO] [stderr] | _________^ [INFO] [stderr] 293 | | true => Ok(&bytes[len..]), [INFO] [stderr] 294 | | false => Err(DecoderError::RlpIsTooShort), [INFO] [stderr] 295 | | } [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:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | / impl RlpStream { [INFO] [stderr] 49 | | /// Initializes instance of empty `Stream`. [INFO] [stderr] 50 | | pub fn new() -> Self { [INFO] [stderr] 51 | | RlpStream { [INFO] [stderr] ... | [INFO] [stderr] 326 | | } [INFO] [stderr] 327 | | } [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:199:2 [INFO] [stderr] | [INFO] [stderr] 199 | pub fn estimate_size<'a>(&'a self, add: usize) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 200 | | let total_size = self.buffer.len() + add; [INFO] [stderr] 201 | | let mut base_size = total_size; [INFO] [stderr] 202 | | for list in &self.unfinished_lists[..] { [INFO] [stderr] ... | [INFO] [stderr] 210 | | base_size [INFO] [stderr] 211 | | } [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:215:2 [INFO] [stderr] | [INFO] [stderr] 215 | pub fn len<'a>(&'a self) -> usize { [INFO] [stderr] | _____^ [INFO] [stderr] 216 | | self.estimate_size(0) [INFO] [stderr] 217 | | } [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:270:3 [INFO] [stderr] | [INFO] [stderr] 270 | match self.is_finished() { [INFO] [stderr] | _________^ [INFO] [stderr] 271 | | //true => self.encoder.out().to_vec(), [INFO] [stderr] 272 | | true => self.buffer.to_vec(), [INFO] [stderr] 273 | | false => panic!() [INFO] [stderr] 274 | | } [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:311:3 [INFO] [stderr] | [INFO] [stderr] 311 | match self.is_finished() { [INFO] [stderr] | _________^ [INFO] [stderr] 312 | | true => self.buffer, [INFO] [stderr] 313 | | false => panic!() [INFO] [stderr] 314 | | } [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:137:26 [INFO] [stderr] | [INFO] [stderr] 137 | 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:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | 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] 26 | 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:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | 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:145:40 [INFO] [stderr] | [INFO] [stderr] 145 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u16::from(v)` [INFO] [stderr] ... [INFO] [stderr] 169 | 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:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 169 | 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:153:22 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 169 | 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:145:40 [INFO] [stderr] | [INFO] [stderr] 145 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(v)` [INFO] [stderr] ... [INFO] [stderr] 170 | 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:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 170 | 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:153:22 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 170 | 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:145:40 [INFO] [stderr] | [INFO] [stderr] 145 | 0 | 1 => u8::decode(rlp).map(|v| v as $name), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(v)` [INFO] [stderr] ... [INFO] [stderr] 171 | 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:153:9 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `res += ((bytes[i] as $name) << shift)` [INFO] [stderr] ... [INFO] [stderr] 171 | 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:153:22 [INFO] [stderr] | [INFO] [stderr] 153 | res = res + ((bytes[i] as $name) << shift); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(bytes[i])` [INFO] [stderr] ... [INFO] [stderr] 171 | 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 sputnikvm_rlp as 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 `ethereum-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" "c569e655d3d8079da57cd4c213659f84913534202b9a01e0dbe96ec9540f1132"` [INFO] running `"docker" "rm" "-f" "c569e655d3d8079da57cd4c213659f84913534202b9a01e0dbe96ec9540f1132"` [INFO] [stdout] c569e655d3d8079da57cd4c213659f84913534202b9a01e0dbe96ec9540f1132