[INFO] crate xdr-codec 0.4.4 is already in cache [INFO] extracting crate xdr-codec 0.4.4 into work/ex/clippy-test-run/sources/stable/reg/xdr-codec/0.4.4 [INFO] extracting crate xdr-codec 0.4.4 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xdr-codec/0.4.4 [INFO] validating manifest of xdr-codec-0.4.4 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 xdr-codec-0.4.4 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 xdr-codec-0.4.4 [INFO] finished frobbing xdr-codec-0.4.4 [INFO] frobbed toml for xdr-codec-0.4.4 written to work/ex/clippy-test-run/sources/stable/reg/xdr-codec/0.4.4/Cargo.toml [INFO] started frobbing xdr-codec-0.4.4 [INFO] finished frobbing xdr-codec-0.4.4 [INFO] frobbed toml for xdr-codec-0.4.4 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/xdr-codec/0.4.4/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 xdr-codec-0.4.4 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/xdr-codec/0.4.4:/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] db3ec9efaa0429af8701904c0f81c2b74194cace067e5434b2a7ebb7d377456d [INFO] running `"docker" "start" "-a" "db3ec9efaa0429af8701904c0f81c2b74194cace067e5434b2a7ebb7d377456d"` [INFO] [stderr] Checking memchr v0.1.11 [INFO] [stderr] Checking thread-id v2.0.0 [INFO] [stderr] Checking error-chain v0.10.0 [INFO] [stderr] Checking aho-corasick v0.5.3 [INFO] [stderr] Checking thread_local v0.2.7 [INFO] [stderr] Checking xdr-codec v0.4.4 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/record.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | bufsz: bufsz, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bufsz` [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] Checking regex v0.1.80 [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/record.rs:217:20 [INFO] [stderr] | [INFO] [stderr] 217 | if !eor && self.buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/record.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | let _ = self.writer.write_all(&self.buf).map(|_| ())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/record.rs:234:12 [INFO] [stderr] | [INFO] [stderr] 234 | if self.buf.len() > 0 || !self.eor { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib.rs:446:12 [INFO] [stderr] | [INFO] [stderr] 446 | if p.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!p.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib.rs:481:12 [INFO] [stderr] | [INFO] [stderr] 481 | if p.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!p.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:499:9 [INFO] [stderr] | [INFO] [stderr] 499 | / match self { [INFO] [stderr] 500 | | &None => false.pack(out), [INFO] [stderr] 501 | | &Some(ref v) => { [INFO] [stderr] 502 | | let sz = true.pack(out)? + v.pack(out)?; [INFO] [stderr] 503 | | Ok(sz) [INFO] [stderr] 504 | | } [INFO] [stderr] 505 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 499 | match *self { [INFO] [stderr] 500 | None => false.pack(out), [INFO] [stderr] 501 | Some(ref v) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Checking env_logger v0.3.5 [INFO] [stderr] Checking quickcheck v0.4.1 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/record.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | bufsz: bufsz, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bufsz` [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: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/test.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #![cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#![rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:61:20 [INFO] [stderr] | [INFO] [stderr] 61 | assert_eq!(823987423u32.pack(&mut out).unwrap(), 4); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `823_987_423u32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:73:58 [INFO] [stderr] | [INFO] [stderr] 73 | assert_eq!(Unpack::unpack(&mut input).unwrap(), (823987423u32, 4)); [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `823_987_423u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:103:20 [INFO] [stderr] | [INFO] [stderr] 103 | assert_eq!(0x0011223344556677u64.pack(&mut out).unwrap(), 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0011_2233_4455_6677u64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:104:20 [INFO] [stderr] | [INFO] [stderr] 104 | assert_eq!(0xff00ff00ff00ff00u64.pack(&mut out).unwrap(), 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0xff00_ff00_ff00_ff00u64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:115:58 [INFO] [stderr] | [INFO] [stderr] 115 | assert_eq!(Unpack::unpack(&mut input).unwrap(), (4822678189205111u64, 8)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `4_822_678_189_205_111u64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:116:58 [INFO] [stderr] | [INFO] [stderr] 116 | assert_eq!(Unpack::unpack(&mut input).unwrap(), (18374966859414961920u64, 8)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `18_374_966_859_414_961_920u64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:123:22 [INFO] [stderr] | [INFO] [stderr] 123 | assert_eq!((-2938928374982749237i64).pack(&mut out).unwrap(), 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider: `2_938_928_374_982_749_237i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:135:59 [INFO] [stderr] | [INFO] [stderr] 135 | assert_eq!(Unpack::unpack(&mut input).unwrap(), (-2938928374982749237i64, 8)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider: `2_938_928_374_982_749_237i64` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:717:34 [INFO] [stderr] | [INFO] [stderr] 717 | let some: Option = Some(0x11223344_u32); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `0x1122_3344_u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/test.rs:730:59 [INFO] [stderr] | [INFO] [stderr] 730 | assert_eq!(Unpack::unpack(&mut input).unwrap(), (Some(0x11223344_u32), 8)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `0x1122_3344_u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> tests/quickcheck.rs:273:5 [INFO] [stderr] | [INFO] [stderr] 273 | / if data.len() < arraysz { [INFO] [stderr] 274 | | if buf[data.len()..].iter().any(|b| *b != 0) { [INFO] [stderr] 275 | | println!("nonzero pad"); [INFO] [stderr] 276 | | return false; [INFO] [stderr] 277 | | } [INFO] [stderr] 278 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 273 | if data.len() < arraysz && buf[data.len()..].iter().any(|b| *b != 0) { [INFO] [stderr] 274 | println!("nonzero pad"); [INFO] [stderr] 275 | return false; [INFO] [stderr] 276 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> tests/quickcheck.rs:304:5 [INFO] [stderr] | [INFO] [stderr] 304 | / if rxsize > arraysz { [INFO] [stderr] 305 | | if recv[arraysz..].iter().any(|v| *v != 0) { [INFO] [stderr] 306 | | println!("nondefault tail"); [INFO] [stderr] 307 | | return false; [INFO] [stderr] 308 | | } [INFO] [stderr] 309 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 304 | if rxsize > arraysz && recv[arraysz..].iter().any(|v| *v != 0) { [INFO] [stderr] 305 | println!("nondefault tail"); [INFO] [stderr] 306 | return false; [INFO] [stderr] 307 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` directly on a function argument is ignored. Consider using a reference type instead. [INFO] [stderr] --> tests/qc-record.rs:12:44 [INFO] [stderr] | [INFO] [stderr] 12 | fn check_writerec(bufsz: usize, eor: bool, ref bytes: Vec) -> TestResult { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` directly on a function argument is ignored. Consider using a reference type instead. [INFO] [stderr] --> tests/qc-record.rs:73:30 [INFO] [stderr] | [INFO] [stderr] 73 | fn check_codec(bufsz: usize, ref records: Vec>) -> TestResult { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/record.rs:217:20 [INFO] [stderr] | [INFO] [stderr] 217 | if !eor && self.buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this let-binding has unit value. Consider omitting `let _ =` [INFO] [stderr] --> src/record.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | let _ = self.writer.write_all(&self.buf).map(|_| ())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/record.rs:234:12 [INFO] [stderr] | [INFO] [stderr] 234 | if self.buf.len() > 0 || !self.eor { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.buf.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/test.rs:236:1 [INFO] [stderr] | [INFO] [stderr] 236 | / fn basic_flex() { [INFO] [stderr] 237 | | { [INFO] [stderr] 238 | | let mut out = Cursor::new(Vec::new()); [INFO] [stderr] 239 | | [INFO] [stderr] ... | [INFO] [stderr] 348 | | } [INFO] [stderr] 349 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:325:30 [INFO] [stderr] | [INFO] [stderr] 325 | assert_eq!(pack_flex(&vec![0x11u32, 0x22, 0x33, 0x44, 0x55], Some(10), &mut out).unwrap(), 4*5+4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u32, 0x22, 0x33, 0x44, 0x55]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:344:25 [INFO] [stderr] | [INFO] [stderr] 344 | match pack_flex(&vec![0x11u32, 0x22, 0x33, 0x44, 0x55], Some(4), &mut out) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u32, 0x22, 0x33, 0x44, 0x55]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/test.rs:352:1 [INFO] [stderr] | [INFO] [stderr] 352 | / fn basic_opaque_flex() { [INFO] [stderr] 353 | | { [INFO] [stderr] 354 | | let mut out = Cursor::new(Vec::new()); [INFO] [stderr] 355 | | [INFO] [stderr] ... | [INFO] [stderr] 444 | | } [INFO] [stderr] 445 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:356:37 [INFO] [stderr] | [INFO] [stderr] 356 | assert_eq!(Opaque::borrowed(&vec![0x11u8, 0x22, 0x33, 0x44]).pack(&mut out).unwrap(), 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x33, 0x44]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:364:75 [INFO] [stderr] | [INFO] [stderr] 364 | assert_eq!(Unpack::unpack(&mut input).unwrap(), (Opaque::borrowed(&vec![0x11u8, 0x22, 0x33, 0x44]), 8)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x33, 0x44]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:370:37 [INFO] [stderr] | [INFO] [stderr] 370 | assert_eq!(Opaque::borrowed(&vec![0x11u8, 0x22]).pack(&mut out).unwrap(), 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:378:75 [INFO] [stderr] | [INFO] [stderr] 378 | assert_eq!(Unpack::unpack(&mut input).unwrap(), (Opaque::borrowed(&vec![0x11u8, 0x22]), 8)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:384:37 [INFO] [stderr] | [INFO] [stderr] 384 | assert_eq!(Opaque::borrowed(&vec![0x11u8, 0x22, 0x00]).pack(&mut out).unwrap(), 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x00]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:392:75 [INFO] [stderr] | [INFO] [stderr] 392 | assert_eq!(Unpack::unpack(&mut input).unwrap(), (Opaque::borrowed(&vec![0x11u8, 0x22, 0x00]), 8)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x00]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:398:37 [INFO] [stderr] | [INFO] [stderr] 398 | assert_eq!(Opaque::borrowed(&vec![0x11u8, 0x22, 0x33]).pack(&mut out).unwrap(), 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x33]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:406:75 [INFO] [stderr] | [INFO] [stderr] 406 | assert_eq!(Unpack::unpack(&mut input).unwrap(), (Opaque::borrowed(&vec![0x11u8, 0x22, 0x33]), 8)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x33]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:412:37 [INFO] [stderr] | [INFO] [stderr] 412 | assert_eq!(Opaque::borrowed(&vec![0x11u8, 0x22, 0x33, 0x44, 0x55]).pack(&mut out).unwrap(), 12); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x33, 0x44, 0x55]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:420:75 [INFO] [stderr] | [INFO] [stderr] 420 | assert_eq!(Unpack::unpack(&mut input).unwrap(), (Opaque::borrowed(&vec![0x11u8, 0x22, 0x33, 0x44, 0x55]), 12)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x33, 0x44, 0x55]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:426:37 [INFO] [stderr] | [INFO] [stderr] 426 | assert_eq!(pack_opaque_flex(&vec![0x11u8, 0x22, 0x33, 0x44, 0x55], Some(10), &mut out).unwrap(), 12); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x33, 0x44, 0x55]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:434:75 [INFO] [stderr] | [INFO] [stderr] 434 | assert_eq!(Unpack::unpack(&mut input).unwrap(), (Opaque::borrowed(&vec![0x11u8, 0x22, 0x33, 0x44, 0x55]), 12)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x33, 0x44, 0x55]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:440:32 [INFO] [stderr] | [INFO] [stderr] 440 | match pack_opaque_flex(&vec![0x11u8, 0x22, 0x33, 0x44, 0x55], Some(3), &mut out) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x33, 0x44, 0x55]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/test.rs:472:33 [INFO] [stderr] | [INFO] [stderr] 472 | assert_eq!(Opaque::borrowed(&vec![0x11u8, 0x22, 0x33, 0x44, 0x55]).pack(&mut out).unwrap(), 12); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[0x11u8, 0x22, 0x33, 0x44, 0x55]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/test.rs:512:1 [INFO] [stderr] | [INFO] [stderr] 512 | / fn basic_array() { [INFO] [stderr] 513 | | { [INFO] [stderr] 514 | | let mut out = Cursor::new(Vec::new()); [INFO] [stderr] 515 | | let a = [0x11u32, 0x22, 0x33]; [INFO] [stderr] ... | [INFO] [stderr] 615 | | } [INFO] [stderr] 616 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 27 [INFO] [stderr] --> src/test.rs:619:1 [INFO] [stderr] | [INFO] [stderr] 619 | / fn basic_opaque_array() { [INFO] [stderr] 620 | | { [INFO] [stderr] 621 | | let mut out = Cursor::new(Vec::new()); [INFO] [stderr] 622 | | let a = [0x11u8, 0x22, 0x33]; [INFO] [stderr] ... | [INFO] [stderr] 710 | | } [INFO] [stderr] 711 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib.rs:446:12 [INFO] [stderr] | [INFO] [stderr] 446 | if p.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!p.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib.rs:481:12 [INFO] [stderr] | [INFO] [stderr] 481 | if p.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!p.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/lib.rs:499:9 [INFO] [stderr] | [INFO] [stderr] 499 | / match self { [INFO] [stderr] 500 | | &None => false.pack(out), [INFO] [stderr] 501 | | &Some(ref v) => { [INFO] [stderr] 502 | | let sz = true.pack(out)? + v.pack(out)?; [INFO] [stderr] 503 | | Ok(sz) [INFO] [stderr] 504 | | } [INFO] [stderr] 505 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 499 | match *self { [INFO] [stderr] 500 | None => false.pack(out), [INFO] [stderr] 501 | Some(ref v) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 12.82s [INFO] running `"docker" "inspect" "db3ec9efaa0429af8701904c0f81c2b74194cace067e5434b2a7ebb7d377456d"` [INFO] running `"docker" "rm" "-f" "db3ec9efaa0429af8701904c0f81c2b74194cace067e5434b2a7ebb7d377456d"` [INFO] [stdout] db3ec9efaa0429af8701904c0f81c2b74194cace067e5434b2a7ebb7d377456d