[INFO] crate rtag 0.3.5 is already in cache [INFO] extracting crate rtag 0.3.5 into work/ex/clippy-test-run/sources/stable/reg/rtag/0.3.5 [INFO] extracting crate rtag 0.3.5 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rtag/0.3.5 [INFO] validating manifest of rtag-0.3.5 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 rtag-0.3.5 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 rtag-0.3.5 [INFO] finished frobbing rtag-0.3.5 [INFO] frobbed toml for rtag-0.3.5 written to work/ex/clippy-test-run/sources/stable/reg/rtag/0.3.5/Cargo.toml [INFO] started frobbing rtag-0.3.5 [INFO] finished frobbing rtag-0.3.5 [INFO] frobbed toml for rtag-0.3.5 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/rtag/0.3.5/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 rtag-0.3.5 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/rtag/0.3.5:/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] c2fe874c8e0da37c65aa302b1081c002af2e79c27e40bb0e316ee6544e9cbe7f [INFO] running `"docker" "start" "-a" "c2fe874c8e0da37c65aa302b1081c002af2e79c27e40bb0e316ee6544e9cbe7f"` [INFO] [stderr] Checking flate2 v0.2.20 [INFO] [stderr] Checking rtag v0.3.5 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/frame.rs:541:13 [INFO] [stderr] | [INFO] [stderr] 541 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/frame.rs:542:13 [INFO] [stderr] | [INFO] [stderr] 542 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/frame.rs:543:13 [INFO] [stderr] | [INFO] [stderr] 543 | status_flag: status_flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `status_flag` [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/frame.rs:544:13 [INFO] [stderr] | [INFO] [stderr] 544 | encoding_flag: encoding_flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding_flag` [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/frame.rs:606:13 [INFO] [stderr] | [INFO] [stderr] 606 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/frame.rs:607:13 [INFO] [stderr] | [INFO] [stderr] 607 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/frame.rs:608:13 [INFO] [stderr] | [INFO] [stderr] 608 | status_flag: status_flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `status_flag` [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/frame.rs:609:13 [INFO] [stderr] | [INFO] [stderr] 609 | encoding_flag: encoding_flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding_flag` [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/frame.rs:867:13 [INFO] [stderr] | [INFO] [stderr] 867 | title: title, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `title` [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/frame.rs:868:13 [INFO] [stderr] | [INFO] [stderr] 868 | artist: artist, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `artist` [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/frame.rs:869:13 [INFO] [stderr] | [INFO] [stderr] 869 | album: album, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `album` [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/frame.rs:870:13 [INFO] [stderr] | [INFO] [stderr] 870 | year: year, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `year` [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/frame.rs:871:13 [INFO] [stderr] | [INFO] [stderr] 871 | comment: comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `comment` [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/frame.rs:872:13 [INFO] [stderr] | [INFO] [stderr] 872 | track: track, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `track` [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/frame.rs:873:13 [INFO] [stderr] | [INFO] [stderr] 873 | genre: genre, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `genre` [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/frame.rs:1342:13 [INFO] [stderr] | [INFO] [stderr] 1342 | timestamp_format: timestamp_format, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `timestamp_format` [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/frame.rs:1343:13 [INFO] [stderr] | [INFO] [stderr] 1343 | event_timing_codes: event_timing_codes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `event_timing_codes` [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/frame.rs:1427:13 [INFO] [stderr] | [INFO] [stderr] 1427 | text_encoding: text_encoding, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `text_encoding` [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/metadata.rs:383:29 [INFO] [stderr] | [INFO] [stderr] 383 | Ok(MetadataWriter { path: path }) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/frame.rs:541:13 [INFO] [stderr] | [INFO] [stderr] 541 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/frame.rs:542:13 [INFO] [stderr] | [INFO] [stderr] 542 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/frame.rs:543:13 [INFO] [stderr] | [INFO] [stderr] 543 | status_flag: status_flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `status_flag` [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/frame.rs:544:13 [INFO] [stderr] | [INFO] [stderr] 544 | encoding_flag: encoding_flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding_flag` [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/frame.rs:606:13 [INFO] [stderr] | [INFO] [stderr] 606 | id: id, [INFO] [stderr] | ^^^^^^ help: replace it with: `id` [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/frame.rs:607:13 [INFO] [stderr] | [INFO] [stderr] 607 | size: size, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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/frame.rs:608:13 [INFO] [stderr] | [INFO] [stderr] 608 | status_flag: status_flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `status_flag` [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/frame.rs:609:13 [INFO] [stderr] | [INFO] [stderr] 609 | encoding_flag: encoding_flag, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encoding_flag` [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/frame.rs:867:13 [INFO] [stderr] | [INFO] [stderr] 867 | title: title, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `title` [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/frame.rs:868:13 [INFO] [stderr] | [INFO] [stderr] 868 | artist: artist, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `artist` [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/frame.rs:869:13 [INFO] [stderr] | [INFO] [stderr] 869 | album: album, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `album` [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/frame.rs:870:13 [INFO] [stderr] | [INFO] [stderr] 870 | year: year, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `year` [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/frame.rs:871:13 [INFO] [stderr] | [INFO] [stderr] 871 | comment: comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `comment` [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/frame.rs:872:13 [INFO] [stderr] | [INFO] [stderr] 872 | track: track, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `track` [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/frame.rs:873:13 [INFO] [stderr] | [INFO] [stderr] 873 | genre: genre, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `genre` [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/frame.rs:1342:13 [INFO] [stderr] | [INFO] [stderr] 1342 | timestamp_format: timestamp_format, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `timestamp_format` [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/frame.rs:1343:13 [INFO] [stderr] | [INFO] [stderr] 1343 | event_timing_codes: event_timing_codes, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `event_timing_codes` [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/frame.rs:1427:13 [INFO] [stderr] | [INFO] [stderr] 1427 | text_encoding: text_encoding, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `text_encoding` [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/metadata.rs:383:29 [INFO] [stderr] | [INFO] [stderr] 383 | Ok(MetadataWriter { path: path }) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/frame.rs:734:9 [INFO] [stderr] | [INFO] [stderr] 734 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/frame.rs:1357:12 [INFO] [stderr] | [INFO] [stderr] 1357 | Ok((())) [INFO] [stderr] | ^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/frame.rs:1357:12 [INFO] [stderr] | [INFO] [stderr] 1357 | Ok((())) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/frame.rs:1357:12 [INFO] [stderr] | [INFO] [stderr] 1357 | Ok((())) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/frame.rs:734:9 [INFO] [stderr] | [INFO] [stderr] 734 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/frame.rs:1357:12 [INFO] [stderr] | [INFO] [stderr] 1357 | Ok((())) [INFO] [stderr] | ^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/frame.rs:1357:12 [INFO] [stderr] | [INFO] [stderr] 1357 | Ok((())) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/frame.rs:1357:12 [INFO] [stderr] | [INFO] [stderr] 1357 | Ok((())) [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/rw.rs:46:16 [INFO] [stderr] | [INFO] [stderr] 46 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: length comparison to zero [INFO] [stderr] --> src/rw.rs:53:29 [INFO] [stderr] | [INFO] [stderr] 53 | if read == 0 && buf.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!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: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | total_read = total_read + read; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_read += read` [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] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/rw.rs:87:16 [INFO] [stderr] | [INFO] [stderr] 87 | if read <= 0 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using read == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/rw.rs:94:20 [INFO] [stderr] | [INFO] [stderr] 94 | if read <= 0 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using read == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/rw.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | if read <= 0 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using read == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:153:26 [INFO] [stderr] | [INFO] [stderr] 153 | let mut v: u16 = (bytes[1] & 0xff) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[1] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[1]` [INFO] [stderr] --> src/rw.rs:153:26 [INFO] [stderr] | [INFO] [stderr] 153 | let mut v: u16 = (bytes[1] & 0xff) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 154 | v = v | ((bytes[0] & 0xff) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[0] & 0xff) as u16) << 8` [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/rw.rs:154:17 [INFO] [stderr] | [INFO] [stderr] 154 | v = v | ((bytes[0] & 0xff) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[0] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[0]` [INFO] [stderr] --> src/rw.rs:154:18 [INFO] [stderr] | [INFO] [stderr] 154 | v = v | ((bytes[0] & 0xff) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:162:26 [INFO] [stderr] | [INFO] [stderr] 162 | let mut v: u32 = (bytes[2] & 0xff) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[2] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[2]` [INFO] [stderr] --> src/rw.rs:162:26 [INFO] [stderr] | [INFO] [stderr] 162 | let mut v: u32 = (bytes[2] & 0xff) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | v = v | ((bytes[1] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[1] & 0xff) as u32) << 8` [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/rw.rs:163:17 [INFO] [stderr] | [INFO] [stderr] 163 | v = v | ((bytes[1] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[1] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[1]` [INFO] [stderr] --> src/rw.rs:163:18 [INFO] [stderr] | [INFO] [stderr] 163 | v = v | ((bytes[1] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | v = v | ((bytes[0] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[0] & 0xff) as u32) << 16` [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/rw.rs:164:17 [INFO] [stderr] | [INFO] [stderr] 164 | v = v | ((bytes[0] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[0] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[0]` [INFO] [stderr] --> src/rw.rs:164:18 [INFO] [stderr] | [INFO] [stderr] 164 | v = v | ((bytes[0] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:172:26 [INFO] [stderr] | [INFO] [stderr] 172 | let mut v: u32 = (bytes[3] & 0xff) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[3] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[3]` [INFO] [stderr] --> src/rw.rs:172:26 [INFO] [stderr] | [INFO] [stderr] 172 | let mut v: u32 = (bytes[3] & 0xff) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | v = v | ((bytes[2] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[2] & 0xff) as u32) << 8` [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: length comparison to zero [INFO] [stderr] --> src/rw.rs:46:16 [INFO] [stderr] | [INFO] [stderr] 46 | if buf.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:173:17 [INFO] [stderr] | [INFO] [stderr] 173 | v = v | ((bytes[2] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[2] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[2]` [INFO] [stderr] --> src/rw.rs:173:18 [INFO] [stderr] | [INFO] [stderr] 173 | v = v | ((bytes[2] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | v = v | ((bytes[1] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[1] & 0xff) as u32) << 16` [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/rw.rs:174:17 [INFO] [stderr] | [INFO] [stderr] 174 | v = v | ((bytes[1] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[1] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[1]` [INFO] [stderr] --> src/rw.rs:174:18 [INFO] [stderr] | [INFO] [stderr] 174 | v = v | ((bytes[1] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | v = v | ((bytes[0] & 0xff) as u32) << 24; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[0] & 0xff) as u32) << 24` [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/rw.rs:175:17 [INFO] [stderr] | [INFO] [stderr] 175 | v = v | ((bytes[0] & 0xff) as u32) << 24; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[0] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[0]` [INFO] [stderr] --> src/rw.rs:175:18 [INFO] [stderr] | [INFO] [stderr] 175 | v = v | ((bytes[0] & 0xff) as u32) << 24; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] | [INFO] [stderr] --> src/rw.rs:53:29 [INFO] [stderr] | [INFO] [stderr] 53 | if read == 0 && buf.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!buf.is_empty()` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:183:26 [INFO] [stderr] | [INFO] [stderr] 183 | let mut v: u32 = (bytes[3] & 0x7f) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[3] & 0x7f)` [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/rw.rs:184:9 [INFO] [stderr] | [INFO] [stderr] 184 | v = v | ((bytes[2] & 0x7f) as u32) << 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[2] & 0x7f) as u32) << 7` [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/rw.rs:184:17 [INFO] [stderr] | [INFO] [stderr] 184 | v = v | ((bytes[2] & 0x7f) as u32) << 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[2] & 0x7f)` [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/rw.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | v = v | ((bytes[1] & 0x7f) as u32) << 14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[1] & 0x7f) as u32) << 14` [INFO] [stderr] | [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] --> src/rw.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | total_read = total_read + read; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_read += read` [INFO] [stderr] [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] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | v = v | ((bytes[1] & 0x7f) as u32) << 14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[1] & 0x7f)` [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] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | v = v | ((bytes[0] & 0x7f) as u32) << 21; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[0] & 0x7f) as u32) << 21` [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/rw.rs:186:17 [INFO] [stderr] | [INFO] [stderr] 186 | v = v | ((bytes[0] & 0x7f) as u32) << 21; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[0] & 0x7f)` [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: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/rw.rs:87:16 [INFO] [stderr] | [INFO] [stderr] 87 | if read <= 0 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using read == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/rw.rs:94:20 [INFO] [stderr] | [INFO] [stderr] 94 | if read <= 0 { [INFO] [stderr] --> src/rw.rs:212:33 [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] 212 | let _ = self.skip_bytes((amount as isize) * -1)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using read == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/rw.rs:219:33 [INFO] [stderr] | [INFO] [stderr] 219 | let _ = self.skip_bytes((amount as isize) * -1)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/rw.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | if read <= 0 { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: because 0 is the minimum value for this type, the case where the two sides are not equal never occurs, consider using read == 0 instead [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:153:26 [INFO] [stderr] | [INFO] [stderr] 153 | let mut v: u16 = (bytes[1] & 0xff) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[1] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[1]` [INFO] [stderr] --> src/rw.rs:153:26 [INFO] [stderr] | [INFO] [stderr] 153 | let mut v: u16 = (bytes[1] & 0xff) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 154 | v = v | ((bytes[0] & 0xff) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[0] & 0xff) as u16) << 8` [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/rw.rs:154:17 [INFO] [stderr] | [INFO] [stderr] 154 | v = v | ((bytes[0] & 0xff) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(bytes[0] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[0]` [INFO] [stderr] --> src/rw.rs:154:18 [INFO] [stderr] | [INFO] [stderr] 154 | v = v | ((bytes[0] & 0xff) as u16) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:162:26 [INFO] [stderr] | [INFO] [stderr] 162 | let mut v: u32 = (bytes[2] & 0xff) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[2] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[2]` [INFO] [stderr] --> src/rw.rs:162:26 [INFO] [stderr] | [INFO] [stderr] 162 | let mut v: u32 = (bytes[2] & 0xff) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | v = v | ((bytes[1] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[1] & 0xff) as u32) << 8` [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/rw.rs:163:17 [INFO] [stderr] | [INFO] [stderr] 163 | v = v | ((bytes[1] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[1] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[1]` [INFO] [stderr] --> src/rw.rs:163:18 [INFO] [stderr] | [INFO] [stderr] 163 | v = v | ((bytes[1] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | v = v | ((bytes[0] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[0] & 0xff) as u32) << 16` [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/rw.rs:164:17 [INFO] [stderr] | [INFO] [stderr] 164 | v = v | ((bytes[0] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[0] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[0]` [INFO] [stderr] --> src/rw.rs:164:18 [INFO] [stderr] | [INFO] [stderr] 164 | v = v | ((bytes[0] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:172:26 [INFO] [stderr] | [INFO] [stderr] 172 | let mut v: u32 = (bytes[3] & 0xff) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[3] & 0xff)` [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:272:17 [INFO] [stderr] | [INFO] [stderr] 272 | to = to + 1 [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `to += 1` [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] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `bytes[3]` [INFO] [stderr] --> src/rw.rs:172:26 [INFO] [stderr] | [INFO] [stderr] 172 | let mut v: u32 = (bytes[3] & 0xff) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `b` [INFO] [stderr] --> src/rw.rs:274:20 [INFO] [stderr] | [INFO] [stderr] 274 | copy = (b & 0xff) != 0xff; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:173:9 [INFO] [stderr] | [INFO] [stderr] 173 | v = v | ((bytes[2] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[2] & 0xff) as u32) << 8` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [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] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:173:17 [INFO] [stderr] | [INFO] [stderr] 173 | v = v | ((bytes[2] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[2] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[2]` [INFO] [stderr] --> src/rw.rs:173:18 [INFO] [stderr] | [INFO] [stderr] 173 | v = v | ((bytes[2] & 0xff) as u32) << 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:174:9 [INFO] [stderr] | [INFO] [stderr] 174 | v = v | ((bytes[1] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[1] & 0xff) as u32) << 16` [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/rw.rs:174:17 [INFO] [stderr] | [INFO] [stderr] 174 | v = v | ((bytes[1] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[1] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[1]` [INFO] [stderr] --> src/rw.rs:174:18 [INFO] [stderr] | [INFO] [stderr] 174 | v = v | ((bytes[1] & 0xff) as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:175:9 [INFO] [stderr] | [INFO] [stderr] 175 | v = v | ((bytes[0] & 0xff) as u32) << 24; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[0] & 0xff) as u32) << 24` [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/rw.rs:175:17 [INFO] [stderr] | [INFO] [stderr] 175 | v = v | ((bytes[0] & 0xff) as u32) << 24; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[0] & 0xff)` [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: the operation is ineffective. Consider reducing it to `bytes[0]` [INFO] [stderr] --> src/rw.rs:175:18 [INFO] [stderr] | [INFO] [stderr] 175 | v = v | ((bytes[0] & 0xff) as u32) << 24; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:183:26 [INFO] [stderr] | [INFO] [stderr] 183 | let mut v: u32 = (bytes[3] & 0x7f) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[3] & 0x7f)` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/rw.rs:284:34 [INFO] [stderr] | [INFO] [stderr] 284 | fn require_unsync(bytes: &Vec) -> usize { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:184:9 [INFO] [stderr] | [INFO] [stderr] 184 | v = v | ((bytes[2] & 0x7f) as u32) << 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[2] & 0x7f) as u32) << 7` [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] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/rw.rs:184:17 [INFO] [stderr] | [INFO] [stderr] 184 | v = v | ((bytes[2] & 0x7f) as u32) << 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[2] & 0x7f)` [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/rw.rs:185:9 [INFO] [stderr] | [INFO] [stderr] 185 | v = v | ((bytes[1] & 0x7f) as u32) << 14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[1] & 0x7f) as u32) << 14` [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/rw.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | v = v | ((bytes[1] & 0x7f) as u32) << 14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[1] & 0x7f)` [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/rw.rs:186:9 [INFO] [stderr] | [INFO] [stderr] 186 | v = v | ((bytes[0] & 0x7f) as u32) << 21; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `v |= ((bytes[0] & 0x7f) as u32) << 21` [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/rw.rs:186:17 [INFO] [stderr] | [INFO] [stderr] 186 | v = v | ((bytes[0] & 0x7f) as u32) << 21; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bytes[0] & 0x7f)` [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: the operation is ineffective. Consider reducing it to `bytes[i]` [INFO] [stderr] --> src/rw.rs:288:20 [INFO] [stderr] | [INFO] [stderr] 288 | if bytes[i] & 0xff == 0xff && (bytes[i + 1] & 0xe0 == 0xe0 || bytes[i + 1] == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:289:21 [INFO] [stderr] | [INFO] [stderr] 289 | count = count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `count += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:293:17 [INFO] [stderr] | [INFO] [stderr] 293 | count = count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `count += 1` [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: Negation by multiplying with -1 [INFO] [stderr] --> src/rw.rs:212:33 [INFO] [stderr] | [INFO] [stderr] 212 | let _ = self.skip_bytes((amount as isize) * -1)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:308:13 [INFO] [stderr] | [INFO] [stderr] 308 | j = j + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j += 1` [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: the operation is ineffective. Consider reducing it to `bytes[i]` [INFO] [stderr] --> src/rw.rs:309:16 [INFO] [stderr] | [INFO] [stderr] 309 | if bytes[i] & 0xff == 0xff && (bytes[i + 1] & 0xe0 == 0xe0 || bytes[i + 1] == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/rw.rs:219:33 [INFO] [stderr] | [INFO] [stderr] 219 | let _ = self.skip_bytes((amount as isize) * -1)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:311:17 [INFO] [stderr] | [INFO] [stderr] 311 | j = j + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:315:9 [INFO] [stderr] | [INFO] [stderr] 315 | j = j + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j += 1` [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: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:327:28 [INFO] [stderr] | [INFO] [stderr] 327 | let _ = self.write(&mut buf); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:336:28 [INFO] [stderr] | [INFO] [stderr] 336 | let _ = self.write(&mut buf); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:346:28 [INFO] [stderr] | [INFO] [stderr] 346 | let _ = self.write(&mut buf); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:357:28 [INFO] [stderr] | [INFO] [stderr] 357 | let _ = self.write(&mut buf); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rw.rs:374:9 [INFO] [stderr] | [INFO] [stderr] 374 | self.write(&b)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:272:17 [INFO] [stderr] | [INFO] [stderr] 272 | to = to + 1 [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `to += 1` [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: the operation is ineffective. Consider reducing it to `b` [INFO] [stderr] --> src/rw.rs:274:20 [INFO] [stderr] | [INFO] [stderr] 274 | copy = (b & 0xff) != 0xff; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/rw.rs:284:34 [INFO] [stderr] | [INFO] [stderr] 284 | fn require_unsync(bytes: &Vec) -> usize { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/rw.rs:414:13 [INFO] [stderr] | [INFO] [stderr] 414 | self.read(&mut buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `bytes[i]` [INFO] [stderr] --> src/rw.rs:288:20 [INFO] [stderr] | [INFO] [stderr] 288 | if bytes[i] & 0xff == 0xff && (bytes[i + 1] & 0xe0 == 0xe0 || bytes[i + 1] == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rw.rs:416:13 [INFO] [stderr] | [INFO] [stderr] 416 | self.write(&buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:289:21 [INFO] [stderr] | [INFO] [stderr] 289 | count = count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `count += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:293:17 [INFO] [stderr] | [INFO] [stderr] 293 | count = count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `count += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:418:13 [INFO] [stderr] | [INFO] [stderr] 418 | related_pos = related_pos + buf_size as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `related_pos += buf_size as u64` [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: Negation by multiplying with -1 [INFO] [stderr] --> src/rw.rs:420:33 [INFO] [stderr] | [INFO] [stderr] 420 | self.seek(SeekFrom::End(amount as i64 * -1))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:308:13 [INFO] [stderr] | [INFO] [stderr] 308 | j = j + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j += 1` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rw.rs:424:9 [INFO] [stderr] | [INFO] [stderr] 424 | self.write(&mut buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `bytes[i]` [INFO] [stderr] --> src/rw.rs:309:16 [INFO] [stderr] | [INFO] [stderr] 309 | if bytes[i] & 0xff == 0xff && (bytes[i + 1] & 0xe0 == 0xe0 || bytes[i + 1] == 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:424:20 [INFO] [stderr] | [INFO] [stderr] 424 | self.write(&mut buf)?; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:311:17 [INFO] [stderr] | [INFO] [stderr] 311 | j = j + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:315:9 [INFO] [stderr] | [INFO] [stderr] 315 | j = j + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j += 1` [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: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:327:28 [INFO] [stderr] | [INFO] [stderr] 327 | let _ = self.write(&mut buf); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:336:28 [INFO] [stderr] | [INFO] [stderr] 336 | let _ = self.write(&mut buf); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:346:28 [INFO] [stderr] | [INFO] [stderr] 346 | let _ = self.write(&mut buf); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:357:28 [INFO] [stderr] | [INFO] [stderr] 357 | let _ = self.write(&mut buf); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rw.rs:374:9 [INFO] [stderr] | [INFO] [stderr] 374 | self.write(&b)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rw.rs:443:9 [INFO] [stderr] | [INFO] [stderr] 443 | self.write(&mut vec![0u8; amount])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:443:20 [INFO] [stderr] | [INFO] [stderr] 443 | self.write(&mut vec![0u8; amount])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:462:13 [INFO] [stderr] | [INFO] [stderr] 462 | end_pos = end_pos - buf_size as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `end_pos -= buf_size as u64` [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: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:463:13 [INFO] [stderr] | [INFO] [stderr] 463 | last_pos = last_pos - buf_size as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `last_pos -= buf_size as u64` [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] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/rw.rs:466:13 [INFO] [stderr] | [INFO] [stderr] 466 | self.read(&mut buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rw.rs:468:13 [INFO] [stderr] | [INFO] [stderr] 468 | self.write(&buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/rw.rs:414:13 [INFO] [stderr] | [INFO] [stderr] 414 | self.read(&mut buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rw.rs:416:13 [INFO] [stderr] | [INFO] [stderr] 416 | self.write(&buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:418:13 [INFO] [stderr] | [INFO] [stderr] 418 | related_pos = related_pos + buf_size as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `related_pos += buf_size as u64` [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: Negation by multiplying with -1 [INFO] [stderr] --> src/rw.rs:420:33 [INFO] [stderr] | [INFO] [stderr] 420 | self.seek(SeekFrom::End(amount as i64 * -1))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rw.rs:424:9 [INFO] [stderr] | [INFO] [stderr] 424 | self.write(&mut buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:424:20 [INFO] [stderr] | [INFO] [stderr] 424 | self.write(&mut buf)?; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rw.rs:443:9 [INFO] [stderr] | [INFO] [stderr] 443 | self.write(&mut vec![0u8; amount])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: The function/method `write` doesn't need a mutable reference [INFO] [stderr] --> src/rw.rs:443:20 [INFO] [stderr] | [INFO] [stderr] 443 | self.write(&mut vec![0u8; amount])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:462:13 [INFO] [stderr] | [INFO] [stderr] 462 | end_pos = end_pos - buf_size as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `end_pos -= buf_size as u64` [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: manual implementation of an assign operation [INFO] [stderr] --> src/rw.rs:463:13 [INFO] [stderr] | [INFO] [stderr] 463 | last_pos = last_pos - buf_size as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `last_pos -= buf_size as u64` [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] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/rw.rs:466:13 [INFO] [stderr] | [INFO] [stderr] 466 | self.read(&mut buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/rw.rs:468:13 [INFO] [stderr] | [INFO] [stderr] 468 | self.write(&buf)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/frame.rs:551:9 [INFO] [stderr] | [INFO] [stderr] 551 | / let mut ext_size = 0; [INFO] [stderr] 552 | | if self.has_flag(FrameHeaderFlag::GroupIdentity) { [INFO] [stderr] 553 | | ext_size = 1; [INFO] [stderr] 554 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let ext_size = if self.has_flag(FrameHeaderFlag::GroupIdentity) { 1 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:556:13 [INFO] [stderr] | [INFO] [stderr] 556 | ext_size = ext_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ext_size += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:559:13 [INFO] [stderr] | [INFO] [stderr] 559 | ext_size = ext_size + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ext_size += 4` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/frame.rs:551:9 [INFO] [stderr] | [INFO] [stderr] 551 | / let mut ext_size = 0; [INFO] [stderr] 552 | | if self.has_flag(FrameHeaderFlag::GroupIdentity) { [INFO] [stderr] 553 | | ext_size = 1; [INFO] [stderr] 554 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let ext_size = if self.has_flag(FrameHeaderFlag::GroupIdentity) { 1 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:556:13 [INFO] [stderr] | [INFO] [stderr] 556 | ext_size = ext_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ext_size += 1` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/frame.rs:616:9 [INFO] [stderr] | [INFO] [stderr] 616 | / let mut ext_size = 0; [INFO] [stderr] 617 | | if self.has_flag(FrameHeaderFlag::GroupIdentity) { [INFO] [stderr] 618 | | ext_size = 1; [INFO] [stderr] 619 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let ext_size = if self.has_flag(FrameHeaderFlag::GroupIdentity) { 1 } else { 0 };` [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:559:13 [INFO] [stderr] | [INFO] [stderr] 559 | ext_size = ext_size + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ext_size += 4` [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] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:621:13 [INFO] [stderr] | [INFO] [stderr] 621 | ext_size = ext_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ext_size += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:624:13 [INFO] [stderr] | [INFO] [stderr] 624 | ext_size = ext_size + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ext_size += 4` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:696:52 [INFO] [stderr] | [INFO] [stderr] 696 | HeadFlag::Unsynchronisation => self.flag = self.flag | types::BIT7, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT7` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:697:46 [INFO] [stderr] | [INFO] [stderr] 697 | HeadFlag::Compression => self.flag = self.flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:703:52 [INFO] [stderr] | [INFO] [stderr] 703 | HeadFlag::Unsynchronisation => self.flag = self.flag | types::BIT7, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT7` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:704:49 [INFO] [stderr] | [INFO] [stderr] 704 | HeadFlag::ExtendedHeader => self.flag = self.flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:705:56 [INFO] [stderr] | [INFO] [stderr] 705 | HeadFlag::ExperimentalIndicator => self.flag = self.flag | types::BIT5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT5` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:713:49 [INFO] [stderr] | [INFO] [stderr] 713 | HeadFlag::ExtendedHeader => self.flag = self.flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:714:56 [INFO] [stderr] | [INFO] [stderr] 714 | HeadFlag::ExperimentalIndicator => self.flag = self.flag | types::BIT5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT5` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:715:48 [INFO] [stderr] | [INFO] [stderr] 715 | HeadFlag::FooterPresent => self.flag = self.flag | types::BIT4, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT4` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:760:42 [INFO] [stderr] | [INFO] [stderr] 760 | FrameHeaderFlag::TagAlter => self.status_flag = self.status_flag | types::BIT7, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT7` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:761:43 [INFO] [stderr] | [INFO] [stderr] 761 | FrameHeaderFlag::FileAlter => self.status_flag = self.status_flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:762:42 [INFO] [stderr] | [INFO] [stderr] 762 | FrameHeaderFlag::ReadOnly => self.status_flag = self.status_flag | types::BIT5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT5` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:763:45 [INFO] [stderr] | [INFO] [stderr] 763 | FrameHeaderFlag::Compression => self.encoding_flag = self.encoding_flag | types::BIT7, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT7` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:764:44 [INFO] [stderr] | [INFO] [stderr] 764 | FrameHeaderFlag::Encryption => self.encoding_flag = self.encoding_flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:765:47 [INFO] [stderr] | [INFO] [stderr] 765 | FrameHeaderFlag::GroupIdentity => self.encoding_flag = self.encoding_flag | types::BIT5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT5` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:793:42 [INFO] [stderr] | [INFO] [stderr] 793 | FrameHeaderFlag::TagAlter => self.status_flag = self.status_flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:794:43 [INFO] [stderr] | [INFO] [stderr] 794 | FrameHeaderFlag::FileAlter => self.status_flag = self.status_flag | types::BIT5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT5` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:795:42 [INFO] [stderr] | [INFO] [stderr] 795 | FrameHeaderFlag::ReadOnly => self.status_flag = self.status_flag | types::BIT4, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT4` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:796:47 [INFO] [stderr] | [INFO] [stderr] 796 | FrameHeaderFlag::GroupIdentity => self.encoding_flag = self.encoding_flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:797:45 [INFO] [stderr] | [INFO] [stderr] 797 | FrameHeaderFlag::Compression => self.encoding_flag = self.encoding_flag | types::BIT3, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT3` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:798:44 [INFO] [stderr] | [INFO] [stderr] 798 | FrameHeaderFlag::Encryption => self.encoding_flag = self.encoding_flag | types::BIT2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT2` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:800:17 [INFO] [stderr] | [INFO] [stderr] 800 | self.encoding_flag = self.encoding_flag | types::BIT1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:802:44 [INFO] [stderr] | [INFO] [stderr] 802 | FrameHeaderFlag::DataLength => self.encoding_flag = self.encoding_flag | types::BIT0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT0` [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: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/frame.rs:616:9 [INFO] [stderr] | [INFO] [stderr] 616 | / let mut ext_size = 0; [INFO] [stderr] 617 | | if self.has_flag(FrameHeaderFlag::GroupIdentity) { [INFO] [stderr] 618 | | ext_size = 1; [INFO] [stderr] 619 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let ext_size = if self.has_flag(FrameHeaderFlag::GroupIdentity) { 1 } else { 0 };` [INFO] [stderr] | [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:621:13 [INFO] [stderr] | [INFO] [stderr] 621 | ext_size = ext_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ext_size += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:624:13 [INFO] [stderr] | [INFO] [stderr] 624 | ext_size = ext_size + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `ext_size += 4` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:696:52 [INFO] [stderr] | [INFO] [stderr] 696 | HeadFlag::Unsynchronisation => self.flag = self.flag | types::BIT7, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT7` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:697:46 [INFO] [stderr] | [INFO] [stderr] 697 | HeadFlag::Compression => self.flag = self.flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:703:52 [INFO] [stderr] | [INFO] [stderr] 703 | HeadFlag::Unsynchronisation => self.flag = self.flag | types::BIT7, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT7` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:704:49 [INFO] [stderr] | [INFO] [stderr] 704 | HeadFlag::ExtendedHeader => self.flag = self.flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:705:56 [INFO] [stderr] | [INFO] [stderr] 705 | HeadFlag::ExperimentalIndicator => self.flag = self.flag | types::BIT5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT5` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:713:49 [INFO] [stderr] | [INFO] [stderr] 713 | HeadFlag::ExtendedHeader => self.flag = self.flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:714:56 [INFO] [stderr] | [INFO] [stderr] 714 | HeadFlag::ExperimentalIndicator => self.flag = self.flag | types::BIT5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT5` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:715:48 [INFO] [stderr] | [INFO] [stderr] 715 | HeadFlag::FooterPresent => self.flag = self.flag | types::BIT4, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.flag |= types::BIT4` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:760:42 [INFO] [stderr] | [INFO] [stderr] 760 | FrameHeaderFlag::TagAlter => self.status_flag = self.status_flag | types::BIT7, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT7` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:761:43 [INFO] [stderr] | [INFO] [stderr] 761 | FrameHeaderFlag::FileAlter => self.status_flag = self.status_flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:762:42 [INFO] [stderr] | [INFO] [stderr] 762 | FrameHeaderFlag::ReadOnly => self.status_flag = self.status_flag | types::BIT5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT5` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:763:45 [INFO] [stderr] | [INFO] [stderr] 763 | FrameHeaderFlag::Compression => self.encoding_flag = self.encoding_flag | types::BIT7, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT7` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:764:44 [INFO] [stderr] | [INFO] [stderr] 764 | FrameHeaderFlag::Encryption => self.encoding_flag = self.encoding_flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:765:47 [INFO] [stderr] | [INFO] [stderr] 765 | FrameHeaderFlag::GroupIdentity => self.encoding_flag = self.encoding_flag | types::BIT5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT5` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:793:42 [INFO] [stderr] | [INFO] [stderr] 793 | FrameHeaderFlag::TagAlter => self.status_flag = self.status_flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:794:43 [INFO] [stderr] | [INFO] [stderr] 794 | FrameHeaderFlag::FileAlter => self.status_flag = self.status_flag | types::BIT5, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT5` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:795:42 [INFO] [stderr] | [INFO] [stderr] 795 | FrameHeaderFlag::ReadOnly => self.status_flag = self.status_flag | types::BIT4, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.status_flag |= types::BIT4` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:796:47 [INFO] [stderr] | [INFO] [stderr] 796 | FrameHeaderFlag::GroupIdentity => self.encoding_flag = self.encoding_flag | types::BIT6, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT6` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:797:45 [INFO] [stderr] | [INFO] [stderr] 797 | FrameHeaderFlag::Compression => self.encoding_flag = self.encoding_flag | types::BIT3, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT3` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:798:44 [INFO] [stderr] | [INFO] [stderr] 798 | FrameHeaderFlag::Encryption => self.encoding_flag = self.encoding_flag | types::BIT2, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT2` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:800:17 [INFO] [stderr] | [INFO] [stderr] 800 | self.encoding_flag = self.encoding_flag | types::BIT1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:802:44 [INFO] [stderr] | [INFO] [stderr] 802 | FrameHeaderFlag::DataLength => self.encoding_flag = self.encoding_flag | types::BIT0, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.encoding_flag |= types::BIT0` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:825:25 [INFO] [stderr] | [INFO] [stderr] 825 | fn trim_zero(bytes: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/frame.rs:827:30 [INFO] [stderr] | [INFO] [stderr] 827 | let mut r: Vec = iter.skip_while(|b| **b == 0 as u8).map(|b| *b).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `iter.skip_while(|b| **b == 0 as u8).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `readable.read_u8()?` [INFO] [stderr] --> src/frame.rs:849:22 [INFO] [stderr] | [INFO] [stderr] 849 | let _track = readable.read_u8()? & 0xff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `readable.read_u8()?` [INFO] [stderr] --> src/frame.rs:851:21 [INFO] [stderr] | [INFO] [stderr] 851 | let genre = (readable.read_u8()? & 0xff).to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:879:9 [INFO] [stderr] | [INFO] [stderr] 879 | writable.write(&types::from_iso8859_1(&self.title, 30))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:880:9 [INFO] [stderr] | [INFO] [stderr] 880 | writable.write(&types::from_iso8859_1(&self.artist, 30))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:881:9 [INFO] [stderr] | [INFO] [stderr] 881 | writable.write(&types::from_iso8859_1(&self.album, 30))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:882:9 [INFO] [stderr] | [INFO] [stderr] 882 | writable.write(&types::from_iso8859_1(&self.year, 4))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:883:9 [INFO] [stderr] | [INFO] [stderr] 883 | writable.write(&types::from_iso8859_1(&self.comment, 28))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:825:25 [INFO] [stderr] | [INFO] [stderr] 825 | fn trim_zero(bytes: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/frame.rs:827:30 [INFO] [stderr] | [INFO] [stderr] 827 | let mut r: Vec = iter.skip_while(|b| **b == 0 as u8).map(|b| *b).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `iter.skip_while(|b| **b == 0 as u8).cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:910:9 [INFO] [stderr] | [INFO] [stderr] 910 | / match self { [INFO] [stderr] 911 | | &FrameHeader::V22(ref header) => header.id.to_string(), [INFO] [stderr] 912 | | &FrameHeader::V23(ref header) => header.id.to_string(), [INFO] [stderr] 913 | | &FrameHeader::V24(ref header) => header.id.to_string(), [INFO] [stderr] 914 | | } [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] 910 | match *self { [INFO] [stderr] 911 | FrameHeader::V22(ref header) => header.id.to_string(), [INFO] [stderr] 912 | FrameHeader::V23(ref header) => header.id.to_string(), [INFO] [stderr] 913 | FrameHeader::V24(ref header) => header.id.to_string(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:918:9 [INFO] [stderr] | [INFO] [stderr] 918 | / match self { [INFO] [stderr] 919 | | &FrameHeader::V22(ref header) => header.size, [INFO] [stderr] 920 | | &FrameHeader::V23(ref header) => header.size, [INFO] [stderr] 921 | | &FrameHeader::V24(ref header) => header.size, [INFO] [stderr] 922 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 918 | match *self { [INFO] [stderr] 919 | FrameHeader::V22(ref header) => header.size, [INFO] [stderr] 920 | FrameHeader::V23(ref header) => header.size, [INFO] [stderr] 921 | FrameHeader::V24(ref header) => header.size, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:928:9 [INFO] [stderr] | [INFO] [stderr] 928 | / match self { [INFO] [stderr] 929 | | &FrameHeader::V22(ref header) => header.has_flag(flag), [INFO] [stderr] 930 | | &FrameHeader::V23(ref header) => header.has_flag(flag), [INFO] [stderr] 931 | | &FrameHeader::V24(ref header) => header.has_flag(flag), [INFO] [stderr] 932 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 928 | match *self { [INFO] [stderr] 929 | FrameHeader::V22(ref header) => header.has_flag(flag), [INFO] [stderr] 930 | FrameHeader::V23(ref header) => header.has_flag(flag), [INFO] [stderr] 931 | FrameHeader::V24(ref header) => header.has_flag(flag), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:936:9 [INFO] [stderr] | [INFO] [stderr] 936 | / match self { [INFO] [stderr] 937 | | &mut FrameHeader::V22(ref mut header) => header.set_flag(flag), [INFO] [stderr] 938 | | &mut FrameHeader::V23(ref mut header) => header.set_flag(flag), [INFO] [stderr] 939 | | &mut FrameHeader::V24(ref mut header) => header.set_flag(flag), [INFO] [stderr] 940 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 936 | match *self { [INFO] [stderr] 937 | FrameHeader::V22(ref mut header) => header.set_flag(flag), [INFO] [stderr] 938 | FrameHeader::V23(ref mut header) => header.set_flag(flag), [INFO] [stderr] 939 | FrameHeader::V24(ref mut header) => header.set_flag(flag), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `readable.read_u8()?` [INFO] [stderr] --> src/frame.rs:849:22 [INFO] [stderr] | [INFO] [stderr] 849 | let _track = readable.read_u8()? & 0xff; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `readable.read_u8()?` [INFO] [stderr] --> src/frame.rs:851:21 [INFO] [stderr] | [INFO] [stderr] 851 | let genre = (readable.read_u8()? & 0xff).to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:879:9 [INFO] [stderr] | [INFO] [stderr] 879 | writable.write(&types::from_iso8859_1(&self.title, 30))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:880:9 [INFO] [stderr] | [INFO] [stderr] 880 | writable.write(&types::from_iso8859_1(&self.artist, 30))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:881:9 [INFO] [stderr] | [INFO] [stderr] 881 | writable.write(&types::from_iso8859_1(&self.album, 30))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:882:9 [INFO] [stderr] | [INFO] [stderr] 882 | writable.write(&types::from_iso8859_1(&self.year, 4))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:883:9 [INFO] [stderr] | [INFO] [stderr] 883 | writable.write(&types::from_iso8859_1(&self.comment, 28))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:910:9 [INFO] [stderr] | [INFO] [stderr] 910 | / match self { [INFO] [stderr] 911 | | &FrameHeader::V22(ref header) => header.id.to_string(), [INFO] [stderr] 912 | | &FrameHeader::V23(ref header) => header.id.to_string(), [INFO] [stderr] 913 | | &FrameHeader::V24(ref header) => header.id.to_string(), [INFO] [stderr] 914 | | } [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] 910 | match *self { [INFO] [stderr] 911 | FrameHeader::V22(ref header) => header.id.to_string(), [INFO] [stderr] 912 | FrameHeader::V23(ref header) => header.id.to_string(), [INFO] [stderr] 913 | FrameHeader::V24(ref header) => header.id.to_string(), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:918:9 [INFO] [stderr] | [INFO] [stderr] 918 | / match self { [INFO] [stderr] 919 | | &FrameHeader::V22(ref header) => header.size, [INFO] [stderr] 920 | | &FrameHeader::V23(ref header) => header.size, [INFO] [stderr] 921 | | &FrameHeader::V24(ref header) => header.size, [INFO] [stderr] 922 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 918 | match *self { [INFO] [stderr] 919 | FrameHeader::V22(ref header) => header.size, [INFO] [stderr] 920 | FrameHeader::V23(ref header) => header.size, [INFO] [stderr] 921 | FrameHeader::V24(ref header) => header.size, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:928:9 [INFO] [stderr] | [INFO] [stderr] 928 | / match self { [INFO] [stderr] 929 | | &FrameHeader::V22(ref header) => header.has_flag(flag), [INFO] [stderr] 930 | | &FrameHeader::V23(ref header) => header.has_flag(flag), [INFO] [stderr] 931 | | &FrameHeader::V24(ref header) => header.has_flag(flag), [INFO] [stderr] 932 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 928 | match *self { [INFO] [stderr] 929 | FrameHeader::V22(ref header) => header.has_flag(flag), [INFO] [stderr] 930 | FrameHeader::V23(ref header) => header.has_flag(flag), [INFO] [stderr] 931 | FrameHeader::V24(ref header) => header.has_flag(flag), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:936:9 [INFO] [stderr] | [INFO] [stderr] 936 | / match self { [INFO] [stderr] 937 | | &mut FrameHeader::V22(ref mut header) => header.set_flag(flag), [INFO] [stderr] 938 | | &mut FrameHeader::V23(ref mut header) => header.set_flag(flag), [INFO] [stderr] 939 | | &mut FrameHeader::V24(ref mut header) => header.set_flag(flag), [INFO] [stderr] 940 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 936 | match *self { [INFO] [stderr] 937 | FrameHeader::V22(ref mut header) => header.set_flag(flag), [INFO] [stderr] 938 | FrameHeader::V23(ref mut header) => header.set_flag(flag), [INFO] [stderr] 939 | FrameHeader::V24(ref mut header) => header.set_flag(flag), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 969 | / id3!(PIC { [INFO] [stderr] 970 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 971 | | image_format: String = 3, [INFO] [stderr] 972 | | picture_type: PictureType = -1, [INFO] [stderr] 973 | | description: EncodedString = -1, [INFO] [stderr] 974 | | picture_data: Bytes = 0, [INFO] [stderr] 975 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 969 | / id3!(PIC { [INFO] [stderr] 970 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 971 | | image_format: String = 3, [INFO] [stderr] 972 | | picture_type: PictureType = -1, [INFO] [stderr] 973 | | description: EncodedString = -1, [INFO] [stderr] 974 | | picture_data: Bytes = 0, [INFO] [stderr] 975 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 992 | / id3!(APIC { [INFO] [stderr] 993 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 994 | | mime_type: NonUtf16String = -1, [INFO] [stderr] 995 | | picture_type: PictureType = -1, [INFO] [stderr] 996 | | description: EncodedString = -1, [INFO] [stderr] 997 | | picture_data: Bytes = 0, [INFO] [stderr] 998 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 992 | / id3!(APIC { [INFO] [stderr] 993 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 994 | | mime_type: NonUtf16String = -1, [INFO] [stderr] 995 | | picture_type: PictureType = -1, [INFO] [stderr] 996 | | description: EncodedString = -1, [INFO] [stderr] 997 | | picture_data: Bytes = 0, [INFO] [stderr] 998 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1016 | / id3!(COMM { [INFO] [stderr] 1017 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1018 | | language: String = 3, [INFO] [stderr] 1019 | | short_description: EncodedString = -1, [INFO] [stderr] 1020 | | actual_text: EncodedString = -1, [INFO] [stderr] 1021 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1016 | / id3!(COMM { [INFO] [stderr] 1017 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1018 | | language: String = 3, [INFO] [stderr] 1019 | | short_description: EncodedString = -1, [INFO] [stderr] 1020 | | actual_text: EncodedString = -1, [INFO] [stderr] 1021 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1016 | / id3!(COMM { [INFO] [stderr] 1017 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1018 | | language: String = 3, [INFO] [stderr] 1019 | | short_description: EncodedString = -1, [INFO] [stderr] 1020 | | actual_text: EncodedString = -1, [INFO] [stderr] 1021 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1016 | / id3!(COMM { [INFO] [stderr] 1017 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1018 | | language: String = 3, [INFO] [stderr] 1019 | | short_description: EncodedString = -1, [INFO] [stderr] 1020 | | actual_text: EncodedString = -1, [INFO] [stderr] 1021 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1072 | / id3!(GEOB { [INFO] [stderr] 1073 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1074 | | mime_type: NonUtf16String = -1, [INFO] [stderr] 1075 | | filename: EncodedString = -1, [INFO] [stderr] 1076 | | content_description: EncodedString = -1, [INFO] [stderr] 1077 | | encapsulation_object: Bytes = 0, [INFO] [stderr] 1078 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1072 | / id3!(GEOB { [INFO] [stderr] 1073 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1074 | | mime_type: NonUtf16String = -1, [INFO] [stderr] 1075 | | filename: EncodedString = -1, [INFO] [stderr] 1076 | | content_description: EncodedString = -1, [INFO] [stderr] 1077 | | encapsulation_object: Bytes = 0, [INFO] [stderr] 1078 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1094 | / id3!(IPLS { [INFO] [stderr] 1095 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1096 | | people_list_strings: EncodedString = -1, [INFO] [stderr] 1097 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1072 | / id3!(GEOB { [INFO] [stderr] 1073 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1074 | | mime_type: NonUtf16String = -1, [INFO] [stderr] 1075 | | filename: EncodedString = -1, [INFO] [stderr] 1076 | | content_description: EncodedString = -1, [INFO] [stderr] 1077 | | encapsulation_object: Bytes = 0, [INFO] [stderr] 1078 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1072 | / id3!(GEOB { [INFO] [stderr] 1073 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1074 | | mime_type: NonUtf16String = -1, [INFO] [stderr] 1075 | | filename: EncodedString = -1, [INFO] [stderr] 1076 | | content_description: EncodedString = -1, [INFO] [stderr] 1077 | | encapsulation_object: Bytes = 0, [INFO] [stderr] 1078 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1126 | / id3!(OWNE { [INFO] [stderr] 1127 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1128 | | price_paid: NonUtf16String = -1, [INFO] [stderr] 1129 | | date_of_purch: String = 4, [INFO] [stderr] 1130 | | seller: EncodedString = -1, [INFO] [stderr] 1131 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1094 | / id3!(IPLS { [INFO] [stderr] 1095 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1096 | | people_list_strings: EncodedString = -1, [INFO] [stderr] 1097 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1126 | / id3!(OWNE { [INFO] [stderr] 1127 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1128 | | price_paid: NonUtf16String = -1, [INFO] [stderr] 1129 | | date_of_purch: String = 4, [INFO] [stderr] 1130 | | seller: EncodedString = -1, [INFO] [stderr] 1131 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1233 | / id3!(SYLT { [INFO] [stderr] 1234 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1235 | | language: String = 3, [INFO] [stderr] 1236 | | timestamp_format: TimestampFormat = -1, [INFO] [stderr] 1237 | | content_type: ContentType = -1, [INFO] [stderr] 1238 | | content_descriptor: EncodedString = -1, [INFO] [stderr] 1239 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1233 | / id3!(SYLT { [INFO] [stderr] 1234 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1235 | | language: String = 3, [INFO] [stderr] 1236 | | timestamp_format: TimestampFormat = -1, [INFO] [stderr] 1237 | | content_type: ContentType = -1, [INFO] [stderr] 1238 | | content_descriptor: EncodedString = -1, [INFO] [stderr] 1239 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1266 | / id3!(USER { [INFO] [stderr] 1267 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1268 | | language: String = 3, [INFO] [stderr] 1269 | | actual_text: EncodedString = -1, [INFO] [stderr] 1270 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1277 | / id3!(USLT { [INFO] [stderr] 1278 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1279 | | language: String = 3, [INFO] [stderr] 1280 | | content_descriptor: EncodedString = -1, [INFO] [stderr] 1281 | | lyrics: EncodedString = -1, [INFO] [stderr] 1282 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1277 | / id3!(USLT { [INFO] [stderr] 1278 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1279 | | language: String = 3, [INFO] [stderr] 1280 | | content_descriptor: EncodedString = -1, [INFO] [stderr] 1281 | | lyrics: EncodedString = -1, [INFO] [stderr] 1282 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1266 | / id3!(USER { [INFO] [stderr] 1267 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1268 | | language: String = 3, [INFO] [stderr] 1269 | | actual_text: EncodedString = -1, [INFO] [stderr] 1270 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1287 | / id3!(TXXX { [INFO] [stderr] 1288 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1289 | | description: EncodedString = -1, [INFO] [stderr] 1290 | | value: EncodedString = -1, [INFO] [stderr] 1291 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1287 | / id3!(TXXX { [INFO] [stderr] 1288 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1289 | | description: EncodedString = -1, [INFO] [stderr] 1290 | | value: EncodedString = -1, [INFO] [stderr] 1291 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1277 | / id3!(USLT { [INFO] [stderr] 1278 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1279 | | language: String = 3, [INFO] [stderr] 1280 | | content_descriptor: EncodedString = -1, [INFO] [stderr] 1281 | | lyrics: EncodedString = -1, [INFO] [stderr] 1282 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1277 | / id3!(USLT { [INFO] [stderr] 1278 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1279 | | language: String = 3, [INFO] [stderr] 1280 | | content_descriptor: EncodedString = -1, [INFO] [stderr] 1281 | | lyrics: EncodedString = -1, [INFO] [stderr] 1282 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1298 | / id3!(WXXX { [INFO] [stderr] 1299 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1300 | | description: EncodedString = -1, [INFO] [stderr] 1301 | | url: String = 0, [INFO] [stderr] 1302 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1287 | / id3!(TXXX { [INFO] [stderr] 1288 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1289 | | description: EncodedString = -1, [INFO] [stderr] 1290 | | value: EncodedString = -1, [INFO] [stderr] 1291 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1287 | / id3!(TXXX { [INFO] [stderr] 1288 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1289 | | description: EncodedString = -1, [INFO] [stderr] 1290 | | value: EncodedString = -1, [INFO] [stderr] 1291 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/frame.rs:1372:12 [INFO] [stderr] | [INFO] [stderr] 1372 | if callback("timestamp_format", format!("{:?}", self.timestamp_format)) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!callback("timestamp_format", format!("{:?}", self.timestamp_format))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/frame.rs:1446:9 [INFO] [stderr] | [INFO] [stderr] 1446 | / match self.text_encoding { [INFO] [stderr] 1447 | | TextEncoding::UTF16LE => { [INFO] [stderr] 1448 | | writable.write_u8(0xff)?; [INFO] [stderr] 1449 | | writable.write_u8(0xfe)?; [INFO] [stderr] 1450 | | } [INFO] [stderr] 1451 | | _ => (), [INFO] [stderr] 1452 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 1446 | if let TextEncoding::UTF16LE = self.text_encoding { [INFO] [stderr] 1447 | writable.write_u8(0xff)?; [INFO] [stderr] 1448 | writable.write_u8(0xfe)?; [INFO] [stderr] 1449 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:1454:9 [INFO] [stderr] | [INFO] [stderr] 1454 | writable.write(&text)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/frame.rs:1456:9 [INFO] [stderr] | [INFO] [stderr] 1456 | / match self.text_encoding { [INFO] [stderr] 1457 | | TextEncoding::UTF16BE => { [INFO] [stderr] 1458 | | writable.write_u8(0xfe)?; [INFO] [stderr] 1459 | | writable.write_u8(0xff)?; [INFO] [stderr] 1460 | | } [INFO] [stderr] 1461 | | _ => (), [INFO] [stderr] 1462 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 1456 | if let TextEncoding::UTF16BE = self.text_encoding { [INFO] [stderr] 1457 | writable.write_u8(0xfe)?; [INFO] [stderr] 1458 | writable.write_u8(0xff)?; [INFO] [stderr] 1459 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:217:29 [INFO] [stderr] | [INFO] [stderr] 217 | fn decode(data: &Vec, decode: ::std::result::Result>) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] ... [INFO] [stderr] 1298 | / id3!(WXXX { [INFO] [stderr] 1299 | | text_encoding: TextEncoding = -1, [INFO] [stderr] 1300 | | description: EncodedString = -1, [INFO] [stderr] 1301 | | url: String = 0, [INFO] [stderr] 1302 | | }); [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#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/frame.rs:1479:12 [INFO] [stderr] | [INFO] [stderr] 1479 | if callback("text_encoding", format!("{:?}", self.text_encoding)) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!callback("text_encoding", format!("{:?}", self.text_encoding))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1525:9 [INFO] [stderr] | [INFO] [stderr] 1525 | / match t { [INFO] [stderr] 1526 | | &PictureType::Other => 0x00, [INFO] [stderr] 1527 | | &PictureType::FileIcon => 0x01, [INFO] [stderr] 1528 | | &PictureType::OtherFileIcon => 0x02, [INFO] [stderr] ... | [INFO] [stderr] 1546 | | &PictureType::PublisherLogoType => 0x14, [INFO] [stderr] 1547 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1525 | match *t { [INFO] [stderr] 1526 | PictureType::Other => 0x00, [INFO] [stderr] 1527 | PictureType::FileIcon => 0x01, [INFO] [stderr] 1528 | PictureType::OtherFileIcon => 0x02, [INFO] [stderr] 1529 | PictureType::CoverFront => 0x03, [INFO] [stderr] 1530 | PictureType::CoverBack => 0x04, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1566:9 [INFO] [stderr] | [INFO] [stderr] 1566 | / match t { [INFO] [stderr] 1567 | | &ReceivedAs::Other => 0x00, [INFO] [stderr] 1568 | | &ReceivedAs::StandardCDAlbum => 0x01, [INFO] [stderr] 1569 | | &ReceivedAs::CompressedAudioOnCD => 0x02, [INFO] [stderr] ... | [INFO] [stderr] 1575 | | &ReceivedAs::NonMusicalMerchandise => 0x08, [INFO] [stderr] 1576 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1566 | match *t { [INFO] [stderr] 1567 | ReceivedAs::Other => 0x00, [INFO] [stderr] 1568 | ReceivedAs::StandardCDAlbum => 0x01, [INFO] [stderr] 1569 | ReceivedAs::CompressedAudioOnCD => 0x02, [INFO] [stderr] 1570 | ReceivedAs::FileOverInternet => 0x03, [INFO] [stderr] 1571 | ReceivedAs::StreamOverInternet => 0x04, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1588:9 [INFO] [stderr] | [INFO] [stderr] 1588 | / match t { [INFO] [stderr] 1589 | | &InterpolationMethod::Band => 0x00, [INFO] [stderr] 1590 | | &InterpolationMethod::Linear => 0x01, [INFO] [stderr] 1591 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1588 | match *t { [INFO] [stderr] 1589 | InterpolationMethod::Band => 0x00, [INFO] [stderr] 1590 | InterpolationMethod::Linear => 0x01, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1603:9 [INFO] [stderr] | [INFO] [stderr] 1603 | / match t { [INFO] [stderr] 1604 | | &TimestampFormat::MpecFrames => 0x01, [INFO] [stderr] 1605 | | &TimestampFormat::Milliseconds => 0x02, [INFO] [stderr] 1606 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1603 | match *t { [INFO] [stderr] 1604 | TimestampFormat::MpecFrames => 0x01, [INFO] [stderr] 1605 | TimestampFormat::Milliseconds => 0x02, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1645:9 [INFO] [stderr] | [INFO] [stderr] 1645 | / match e { [INFO] [stderr] 1646 | | &EventTimingCode::Padding(timestamp) => (0x00, timestamp), [INFO] [stderr] 1647 | | &EventTimingCode::EndOfInitialSilence(timestamp) => (0x01, timestamp), [INFO] [stderr] 1648 | | &EventTimingCode::IntroStart(timestamp) => (0x02, timestamp), [INFO] [stderr] ... | [INFO] [stderr] 1685 | | &EventTimingCode::OneMoreByteOfEventsFollows(timestamp) => (0xff, timestamp), [INFO] [stderr] 1686 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1645 | match *e { [INFO] [stderr] 1646 | EventTimingCode::Padding(timestamp) => (0x00, timestamp), [INFO] [stderr] 1647 | EventTimingCode::EndOfInitialSilence(timestamp) => (0x01, timestamp), [INFO] [stderr] 1648 | EventTimingCode::IntroStart(timestamp) => (0x02, timestamp), [INFO] [stderr] 1649 | EventTimingCode::MainPartStart(timestamp) => (0x03, timestamp), [INFO] [stderr] 1650 | EventTimingCode::OutroStart(timestamp) => (0x04, timestamp), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1705:9 [INFO] [stderr] | [INFO] [stderr] 1705 | / match t { [INFO] [stderr] 1706 | | &ContentType::Other => 0x00, [INFO] [stderr] 1707 | | &ContentType::Lyrics => 0x01, [INFO] [stderr] 1708 | | &ContentType::TextTranscription => 0x02, [INFO] [stderr] ... | [INFO] [stderr] 1714 | | &ContentType::UrlsToImages => 0x08, [INFO] [stderr] 1715 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1705 | match *t { [INFO] [stderr] 1706 | ContentType::Other => 0x00, [INFO] [stderr] 1707 | ContentType::Lyrics => 0x01, [INFO] [stderr] 1708 | ContentType::TextTranscription => 0x02, [INFO] [stderr] 1709 | ContentType::MovementName => 0x03, [INFO] [stderr] 1710 | ContentType::Events => 0x04, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1729:9 [INFO] [stderr] | [INFO] [stderr] 1729 | / match encoding { [INFO] [stderr] 1730 | | &TextEncoding::ISO88591 => 0, [INFO] [stderr] 1731 | | &TextEncoding::UTF16LE => 1, [INFO] [stderr] 1732 | | &TextEncoding::UTF16BE => 2, [INFO] [stderr] 1733 | | &TextEncoding::UTF8 => 3, [INFO] [stderr] 1734 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1729 | match *encoding { [INFO] [stderr] 1730 | TextEncoding::ISO88591 => 0, [INFO] [stderr] 1731 | TextEncoding::UTF16LE => 1, [INFO] [stderr] 1732 | TextEncoding::UTF16BE => 2, [INFO] [stderr] 1733 | TextEncoding::UTF8 => 3, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:1737:32 [INFO] [stderr] | [INFO] [stderr] 1737 | pub fn to_iso8859_1(bytes: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/frame.rs:1746:30 [INFO] [stderr] | [INFO] [stderr] 1746 | pub fn from_iso8859_1(v: &String, len: usize) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/frame.rs:1372:12 [INFO] [stderr] | [INFO] [stderr] 1372 | if callback("timestamp_format", format!("{:?}", self.timestamp_format)) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!callback("timestamp_format", format!("{:?}", self.timestamp_format))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/frame.rs:1446:9 [INFO] [stderr] | [INFO] [stderr] 1446 | / match self.text_encoding { [INFO] [stderr] 1447 | | TextEncoding::UTF16LE => { [INFO] [stderr] 1448 | | writable.write_u8(0xff)?; [INFO] [stderr] 1449 | | writable.write_u8(0xfe)?; [INFO] [stderr] 1450 | | } [INFO] [stderr] 1451 | | _ => (), [INFO] [stderr] 1452 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 1446 | if let TextEncoding::UTF16LE = self.text_encoding { [INFO] [stderr] 1447 | writable.write_u8(0xff)?; [INFO] [stderr] 1448 | writable.write_u8(0xfe)?; [INFO] [stderr] 1449 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/frame.rs:1454:9 [INFO] [stderr] | [INFO] [stderr] 1454 | writable.write(&text)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/frame.rs:1456:9 [INFO] [stderr] | [INFO] [stderr] 1456 | / match self.text_encoding { [INFO] [stderr] 1457 | | TextEncoding::UTF16BE => { [INFO] [stderr] 1458 | | writable.write_u8(0xfe)?; [INFO] [stderr] 1459 | | writable.write_u8(0xff)?; [INFO] [stderr] 1460 | | } [INFO] [stderr] 1461 | | _ => (), [INFO] [stderr] 1462 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 1456 | if let TextEncoding::UTF16BE = self.text_encoding { [INFO] [stderr] 1457 | writable.write_u8(0xfe)?; [INFO] [stderr] 1458 | writable.write_u8(0xff)?; [INFO] [stderr] 1459 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/frame.rs:1479:12 [INFO] [stderr] | [INFO] [stderr] 1479 | if callback("text_encoding", format!("{:?}", self.text_encoding)) == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!callback("text_encoding", format!("{:?}", self.text_encoding))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1525:9 [INFO] [stderr] | [INFO] [stderr] 1525 | / match t { [INFO] [stderr] 1526 | | &PictureType::Other => 0x00, [INFO] [stderr] 1527 | | &PictureType::FileIcon => 0x01, [INFO] [stderr] 1528 | | &PictureType::OtherFileIcon => 0x02, [INFO] [stderr] ... | [INFO] [stderr] 1546 | | &PictureType::PublisherLogoType => 0x14, [INFO] [stderr] 1547 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1525 | match *t { [INFO] [stderr] 1526 | PictureType::Other => 0x00, [INFO] [stderr] 1527 | PictureType::FileIcon => 0x01, [INFO] [stderr] 1528 | PictureType::OtherFileIcon => 0x02, [INFO] [stderr] 1529 | PictureType::CoverFront => 0x03, [INFO] [stderr] 1530 | PictureType::CoverBack => 0x04, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1566:9 [INFO] [stderr] | [INFO] [stderr] 1566 | / match t { [INFO] [stderr] 1567 | | &ReceivedAs::Other => 0x00, [INFO] [stderr] 1568 | | &ReceivedAs::StandardCDAlbum => 0x01, [INFO] [stderr] 1569 | | &ReceivedAs::CompressedAudioOnCD => 0x02, [INFO] [stderr] ... | [INFO] [stderr] 1575 | | &ReceivedAs::NonMusicalMerchandise => 0x08, [INFO] [stderr] 1576 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1566 | match *t { [INFO] [stderr] 1567 | ReceivedAs::Other => 0x00, [INFO] [stderr] 1568 | ReceivedAs::StandardCDAlbum => 0x01, [INFO] [stderr] 1569 | ReceivedAs::CompressedAudioOnCD => 0x02, [INFO] [stderr] 1570 | ReceivedAs::FileOverInternet => 0x03, [INFO] [stderr] 1571 | ReceivedAs::StreamOverInternet => 0x04, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1588:9 [INFO] [stderr] | [INFO] [stderr] 1588 | / match t { [INFO] [stderr] 1589 | | &InterpolationMethod::Band => 0x00, [INFO] [stderr] 1590 | | &InterpolationMethod::Linear => 0x01, [INFO] [stderr] 1591 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1588 | match *t { [INFO] [stderr] 1589 | InterpolationMethod::Band => 0x00, [INFO] [stderr] 1590 | InterpolationMethod::Linear => 0x01, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1603:9 [INFO] [stderr] | [INFO] [stderr] 1603 | / match t { [INFO] [stderr] 1604 | | &TimestampFormat::MpecFrames => 0x01, [INFO] [stderr] 1605 | | &TimestampFormat::Milliseconds => 0x02, [INFO] [stderr] 1606 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1603 | match *t { [INFO] [stderr] 1604 | TimestampFormat::MpecFrames => 0x01, [INFO] [stderr] 1605 | TimestampFormat::Milliseconds => 0x02, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1645:9 [INFO] [stderr] | [INFO] [stderr] 1645 | / match e { [INFO] [stderr] 1646 | | &EventTimingCode::Padding(timestamp) => (0x00, timestamp), [INFO] [stderr] 1647 | | &EventTimingCode::EndOfInitialSilence(timestamp) => (0x01, timestamp), [INFO] [stderr] 1648 | | &EventTimingCode::IntroStart(timestamp) => (0x02, timestamp), [INFO] [stderr] ... | [INFO] [stderr] 1685 | | &EventTimingCode::OneMoreByteOfEventsFollows(timestamp) => (0xff, timestamp), [INFO] [stderr] 1686 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1645 | match *e { [INFO] [stderr] 1646 | EventTimingCode::Padding(timestamp) => (0x00, timestamp), [INFO] [stderr] 1647 | EventTimingCode::EndOfInitialSilence(timestamp) => (0x01, timestamp), [INFO] [stderr] 1648 | EventTimingCode::IntroStart(timestamp) => (0x02, timestamp), [INFO] [stderr] 1649 | EventTimingCode::MainPartStart(timestamp) => (0x03, timestamp), [INFO] [stderr] 1650 | EventTimingCode::OutroStart(timestamp) => (0x04, timestamp), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1705:9 [INFO] [stderr] | [INFO] [stderr] 1705 | / match t { [INFO] [stderr] 1706 | | &ContentType::Other => 0x00, [INFO] [stderr] 1707 | | &ContentType::Lyrics => 0x01, [INFO] [stderr] 1708 | | &ContentType::TextTranscription => 0x02, [INFO] [stderr] ... | [INFO] [stderr] 1714 | | &ContentType::UrlsToImages => 0x08, [INFO] [stderr] 1715 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1705 | match *t { [INFO] [stderr] 1706 | ContentType::Other => 0x00, [INFO] [stderr] 1707 | ContentType::Lyrics => 0x01, [INFO] [stderr] 1708 | ContentType::TextTranscription => 0x02, [INFO] [stderr] 1709 | ContentType::MovementName => 0x03, [INFO] [stderr] 1710 | ContentType::Events => 0x04, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1729:9 [INFO] [stderr] | [INFO] [stderr] 1729 | / match encoding { [INFO] [stderr] 1730 | | &TextEncoding::ISO88591 => 0, [INFO] [stderr] 1731 | | &TextEncoding::UTF16LE => 1, [INFO] [stderr] 1732 | | &TextEncoding::UTF16BE => 2, [INFO] [stderr] 1733 | | &TextEncoding::UTF8 => 3, [INFO] [stderr] 1734 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 1729 | match *encoding { [INFO] [stderr] 1730 | TextEncoding::ISO88591 => 0, [INFO] [stderr] 1731 | TextEncoding::UTF16LE => 1, [INFO] [stderr] 1732 | TextEncoding::UTF16BE => 2, [INFO] [stderr] 1733 | TextEncoding::UTF8 => 3, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/frame.rs:1737:32 [INFO] [stderr] | [INFO] [stderr] 1737 | pub fn to_iso8859_1(bytes: &Vec) -> String { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/frame.rs:1746:30 [INFO] [stderr] | [INFO] [stderr] 1746 | pub fn from_iso8859_1(v: &String, len: usize) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1999:17 [INFO] [stderr] | [INFO] [stderr] 1999 | / if let &FrameBody::$body(_) = frame_body { [INFO] [stderr] 2000 | | let id_len = stringify!($id).len(); [INFO] [stderr] 2001 | | let body_len = stringify!($body).len(); [INFO] [stderr] 2002 | | let frame_len = stringify!($frame).len(); [INFO] [stderr] ... | [INFO] [stderr] 2013 | | } [INFO] [stderr] 2014 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 2142 | / define_id_to_framebody!( [INFO] [stderr] 2143 | | BUF = BUF : RBUF, CRM = CRM : CRM, PIC = PIC : PIC, // [INFO] [stderr] 2144 | | // [INFO] [stderr] 2145 | | CNT = PCNT : PCNT, COM = COMM : COMM, CRA = AENC : AENC,// [INFO] [stderr] ... | [INFO] [stderr] 2207 | | WXXX = WXXX : WXXX,// [INFO] [stderr] 2208 | | ); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:1999:17 [INFO] [stderr] | [INFO] [stderr] 1999 | / if let &FrameBody::$body(_) = frame_body { [INFO] [stderr] 2000 | | let id_len = stringify!($id).len(); [INFO] [stderr] 2001 | | let body_len = stringify!($body).len(); [INFO] [stderr] 2002 | | let frame_len = stringify!($frame).len(); [INFO] [stderr] ... | [INFO] [stderr] 2013 | | } [INFO] [stderr] 2014 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 2142 | / define_id_to_framebody!( [INFO] [stderr] 2143 | | BUF = BUF : RBUF, CRM = CRM : CRM, PIC = PIC : PIC, // [INFO] [stderr] 2144 | | // [INFO] [stderr] 2145 | | CNT = PCNT : PCNT, COM = COMM : COMM, CRA = AENC : AENC,// [INFO] [stderr] ... | [INFO] [stderr] 2207 | | WXXX = WXXX : WXXX,// [INFO] [stderr] 2208 | | ); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:2069:17 [INFO] [stderr] | [INFO] [stderr] 2069 | / match self { [INFO] [stderr] 2070 | | $( [INFO] [stderr] 2071 | | &FrameBody::$id(ref frame) => frame.to_map() [INFO] [stderr] 2072 | | ),* [INFO] [stderr] 2073 | | , [INFO] [stderr] 2074 | | _ => Ok(HashMap::new()) [INFO] [stderr] 2075 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 2210 | / define_framebody!( [INFO] [stderr] 2211 | | BUF = RBUF, // Recommended buffer size [INFO] [stderr] 2212 | | CRM = CRM, // 2.2 only. Encrypted meta frame [INFO] [stderr] 2213 | | PIC = PIC, // 2.2 only. Attached picture [INFO] [stderr] ... | [INFO] [stderr] 2306 | | OBJECT = OBJECT, // It only use to write a encrypted bytes directly [INFO] [stderr] 2307 | | ); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:2079:17 [INFO] [stderr] | [INFO] [stderr] 2079 | / match self { [INFO] [stderr] 2080 | | $( [INFO] [stderr] 2081 | | &FrameBody::$id(ref frame) => frame.inside(callback) [INFO] [stderr] 2082 | | ),* [INFO] [stderr] 2083 | | , [INFO] [stderr] 2084 | | _ => {} [INFO] [stderr] 2085 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 2210 | / define_framebody!( [INFO] [stderr] 2211 | | BUF = RBUF, // Recommended buffer size [INFO] [stderr] 2212 | | CRM = CRM, // 2.2 only. Encrypted meta frame [INFO] [stderr] 2213 | | PIC = PIC, // 2.2 only. Attached picture [INFO] [stderr] ... | [INFO] [stderr] 2306 | | OBJECT = OBJECT, // It only use to write a encrypted bytes directly [INFO] [stderr] 2307 | | ); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:2093:13 [INFO] [stderr] | [INFO] [stderr] 2093 | / match frame_body { [INFO] [stderr] 2094 | | [INFO] [stderr] 2095 | | $( &FrameBody::$id(ref frame) => { frame.write(&mut writable, version)?; } ),* [INFO] [stderr] 2096 | | , [INFO] [stderr] 2097 | | _ => () [INFO] [stderr] 2098 | | }; [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 2210 | / define_framebody!( [INFO] [stderr] 2211 | | BUF = RBUF, // Recommended buffer size [INFO] [stderr] 2212 | | CRM = CRM, // 2.2 only. Encrypted meta frame [INFO] [stderr] 2213 | | PIC = PIC, // 2.2 only. Attached picture [INFO] [stderr] ... | [INFO] [stderr] 2306 | | OBJECT = OBJECT, // It only use to write a encrypted bytes directly [INFO] [stderr] 2307 | | ); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:2069:17 [INFO] [stderr] | [INFO] [stderr] 2069 | / match self { [INFO] [stderr] 2070 | | $( [INFO] [stderr] 2071 | | &FrameBody::$id(ref frame) => frame.to_map() [INFO] [stderr] 2072 | | ),* [INFO] [stderr] 2073 | | , [INFO] [stderr] 2074 | | _ => Ok(HashMap::new()) [INFO] [stderr] 2075 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 2210 | / define_framebody!( [INFO] [stderr] 2211 | | BUF = RBUF, // Recommended buffer size [INFO] [stderr] 2212 | | CRM = CRM, // 2.2 only. Encrypted meta frame [INFO] [stderr] 2213 | | PIC = PIC, // 2.2 only. Attached picture [INFO] [stderr] ... | [INFO] [stderr] 2306 | | OBJECT = OBJECT, // It only use to write a encrypted bytes directly [INFO] [stderr] 2307 | | ); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:2079:17 [INFO] [stderr] | [INFO] [stderr] 2079 | / match self { [INFO] [stderr] 2080 | | $( [INFO] [stderr] 2081 | | &FrameBody::$id(ref frame) => frame.inside(callback) [INFO] [stderr] 2082 | | ),* [INFO] [stderr] 2083 | | , [INFO] [stderr] 2084 | | _ => {} [INFO] [stderr] 2085 | | } [INFO] [stderr] | |_________________^ [INFO] [stderr] ... [INFO] [stderr] 2210 | / define_framebody!( [INFO] [stderr] 2211 | | BUF = RBUF, // Recommended buffer size [INFO] [stderr] 2212 | | CRM = CRM, // 2.2 only. Encrypted meta frame [INFO] [stderr] 2213 | | PIC = PIC, // 2.2 only. Attached picture [INFO] [stderr] ... | [INFO] [stderr] 2306 | | OBJECT = OBJECT, // It only use to write a encrypted bytes directly [INFO] [stderr] 2307 | | ); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/frame.rs:2093:13 [INFO] [stderr] | [INFO] [stderr] 2093 | / match frame_body { [INFO] [stderr] 2094 | | [INFO] [stderr] 2095 | | $( &FrameBody::$id(ref frame) => { frame.write(&mut writable, version)?; } ),* [INFO] [stderr] 2096 | | , [INFO] [stderr] 2097 | | _ => () [INFO] [stderr] 2098 | | }; [INFO] [stderr] | |_____________^ [INFO] [stderr] ... [INFO] [stderr] 2210 | / define_framebody!( [INFO] [stderr] 2211 | | BUF = RBUF, // Recommended buffer size [INFO] [stderr] 2212 | | CRM = CRM, // 2.2 only. Encrypted meta frame [INFO] [stderr] 2213 | | PIC = PIC, // 2.2 only. Attached picture [INFO] [stderr] ... | [INFO] [stderr] 2306 | | OBJECT = OBJECT, // It only use to write a encrypted bytes directly [INFO] [stderr] 2307 | | ); [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#match_ref_pats [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/metadata.rs:132:26 [INFO] [stderr] | [INFO] [stderr] 132 | let frame_body = match frame_header.has_flag(FrameHeaderFlag::Encryption) { [INFO] [stderr] | __________________________^ [INFO] [stderr] 133 | | true => FrameBody::SKIP(frame_header.id.to_owned(), readable.read_bytes(size)?), [INFO] [stderr] 134 | | false => { [INFO] [stderr] 135 | | read_framebody_with_id(frame_header.id.as_str(), 2, readable.to_readable(size)?)? [INFO] [stderr] 136 | | } [INFO] [stderr] 137 | | }; [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] 132 | let frame_body = if frame_header.has_flag(FrameHeaderFlag::Encryption) { FrameBody::SKIP(frame_header.id.to_owned(), readable.read_bytes(size)?) } else { [INFO] [stderr] 133 | read_framebody_with_id(frame_header.id.as_str(), 2, readable.to_readable(size)?)? [INFO] [stderr] 134 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:156:13 [INFO] [stderr] | [INFO] [stderr] 156 | extra_size = extra_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:164:13 [INFO] [stderr] | [INFO] [stderr] 164 | extra_size = extra_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 1` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/metadata.rs:170:26 [INFO] [stderr] | [INFO] [stderr] 170 | let body_bytes = match frame_header.has_flag(FrameHeaderFlag::Compression) { [INFO] [stderr] | __________________________^ [INFO] [stderr] 171 | | true => { [INFO] [stderr] 172 | | debug!("compression"); [INFO] [stderr] 173 | | [INFO] [stderr] ... | [INFO] [stderr] 193 | | } [INFO] [stderr] 194 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 170 | let body_bytes = if frame_header.has_flag(FrameHeaderFlag::Compression) { [INFO] [stderr] 171 | debug!("compression"); [INFO] [stderr] 172 | [INFO] [stderr] 173 | let _ = readable.read_u32()?; [INFO] [stderr] 174 | extra_size = extra_size + 4; [INFO] [stderr] 175 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:175:17 [INFO] [stderr] | [INFO] [stderr] 175 | extra_size = extra_size + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 4` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/metadata.rs:200:26 [INFO] [stderr] | [INFO] [stderr] 200 | let frame_body = match frame_header.has_flag(FrameHeaderFlag::Encryption) { [INFO] [stderr] | __________________________^ [INFO] [stderr] 201 | | true => { [INFO] [stderr] 202 | | debug!("encryption"); [INFO] [stderr] 203 | | FrameBody::SKIP(frame_header.id.to_owned(), body_bytes) [INFO] [stderr] 204 | | } [INFO] [stderr] 205 | | false => read_framebody_with_id(frame_header.id.as_str(), 3, Cursor::new(body_bytes))?, [INFO] [stderr] 206 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 200 | let frame_body = if frame_header.has_flag(FrameHeaderFlag::Encryption) { [INFO] [stderr] 201 | debug!("encryption"); [INFO] [stderr] 202 | FrameBody::SKIP(frame_header.id.to_owned(), body_bytes) [INFO] [stderr] 203 | } else { read_framebody_with_id(frame_header.id.as_str(), 3, Cursor::new(body_bytes))? }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | extra_size = extra_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:232:13 [INFO] [stderr] | [INFO] [stderr] 232 | extra_size = extra_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | extra_size = extra_size + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 4` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/metadata.rs:271:26 [INFO] [stderr] | [INFO] [stderr] 271 | let frame_body = match frame_header.has_flag(FrameHeaderFlag::Encryption) { [INFO] [stderr] | __________________________^ [INFO] [stderr] 272 | | true => FrameBody::SKIP(frame_header.id.to_owned(), body_bytes), [INFO] [stderr] 273 | | false => read_framebody_with_id(frame_header.id.as_str(), 4, Cursor::new(body_bytes))?, [INFO] [stderr] 274 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if frame_header.has_flag(FrameHeaderFlag::Encryption) { FrameBody::SKIP(frame_header.id.to_owned(), body_bytes) } else { read_framebody_with_id(frame_header.id.as_str(), 4, Cursor::new(body_bytes))? }` [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:310:9 [INFO] [stderr] | [INFO] [stderr] 310 | / if let &Unit::Header(ref head) = header { [INFO] [stderr] 311 | | let head = head.clone(); [INFO] [stderr] 312 | | [INFO] [stderr] 313 | | if head.has_flag(HeadFlag::ExtendedHeader) { [INFO] [stderr] ... | [INFO] [stderr] 326 | | self.next = Status::Error; [INFO] [stderr] 327 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 310 | if let Unit::Header(ref head) = *header { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:430:17 [INFO] [stderr] | [INFO] [stderr] 430 | len = len - 128; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `len -= 128` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:464:9 [INFO] [stderr] | [INFO] [stderr] 464 | writable.write(&head_bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:465:9 [INFO] [stderr] | [INFO] [stderr] 465 | writable.write(&frame_bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:469:13 [INFO] [stderr] | [INFO] [stderr] 469 | writable.write(&frame1_bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/metadata.rs:132:26 [INFO] [stderr] | [INFO] [stderr] 132 | let frame_body = match frame_header.has_flag(FrameHeaderFlag::Encryption) { [INFO] [stderr] | __________________________^ [INFO] [stderr] 133 | | true => FrameBody::SKIP(frame_header.id.to_owned(), readable.read_bytes(size)?), [INFO] [stderr] 134 | | false => { [INFO] [stderr] 135 | | read_framebody_with_id(frame_header.id.as_str(), 2, readable.to_readable(size)?)? [INFO] [stderr] 136 | | } [INFO] [stderr] 137 | | }; [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] 132 | let frame_body = if frame_header.has_flag(FrameHeaderFlag::Encryption) { FrameBody::SKIP(frame_header.id.to_owned(), readable.read_bytes(size)?) } else { [INFO] [stderr] 133 | read_framebody_with_id(frame_header.id.as_str(), 2, readable.to_readable(size)?)? [INFO] [stderr] 134 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:482:25 [INFO] [stderr] | [INFO] [stderr] 482 | .filter(|m| match m { [INFO] [stderr] | _________________________^ [INFO] [stderr] 483 | | &Unit::Header(_) => true, [INFO] [stderr] 484 | | &Unit::FrameV1(_) => true, [INFO] [stderr] 485 | | _ => false, [INFO] [stderr] 486 | | }) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 482 | .filter(|m| match *m { [INFO] [stderr] 483 | Unit::Header(_) => true, [INFO] [stderr] 484 | Unit::FrameV1(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/metadata.rs:494:32 [INFO] [stderr] | [INFO] [stderr] 494 | let header_length = if i.len() > 0 { i[0] } else { 0 }; [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!i.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: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/metadata.rs:495:28 [INFO] [stderr] | [INFO] [stderr] 495 | let frame1_exist = if i.len() > 1 && i[1] == 128 { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 496 | | true [INFO] [stderr] 497 | | } else { [INFO] [stderr] 498 | | false [INFO] [stderr] 499 | | }; [INFO] [stderr] | |_________^ help: you can reduce it to: `i.len() > 1 && i[1] == 128` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/metadata.rs:508:36 [INFO] [stderr] | [INFO] [stderr] 508 | fn check_version(&self, units: &Vec) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Unit]` [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:156:13 [INFO] [stderr] | [INFO] [stderr] 156 | extra_size = extra_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 1` [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] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:164:13 [INFO] [stderr] | [INFO] [stderr] 164 | extra_size = extra_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 1` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/metadata.rs:170:26 [INFO] [stderr] | [INFO] [stderr] 170 | let body_bytes = match frame_header.has_flag(FrameHeaderFlag::Compression) { [INFO] [stderr] | __________________________^ [INFO] [stderr] 171 | | true => { [INFO] [stderr] 172 | | debug!("compression"); [INFO] [stderr] 173 | | [INFO] [stderr] ... | [INFO] [stderr] 193 | | } [INFO] [stderr] 194 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 170 | let body_bytes = if frame_header.has_flag(FrameHeaderFlag::Compression) { [INFO] [stderr] 171 | debug!("compression"); [INFO] [stderr] 172 | [INFO] [stderr] 173 | let _ = readable.read_u32()?; [INFO] [stderr] 174 | extra_size = extra_size + 4; [INFO] [stderr] 175 | [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:510:50 [INFO] [stderr] | [INFO] [stderr] 510 | let head_unit = units.iter().find(|unit| match unit { [INFO] [stderr] | __________________________________________________^ [INFO] [stderr] 511 | | &&Unit::Header(_) => true, [INFO] [stderr] 512 | | _ => false, [INFO] [stderr] 513 | | }); [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 510 | let head_unit = units.iter().find(|unit| match *unit { [INFO] [stderr] 511 | &Unit::Header(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:175:17 [INFO] [stderr] | [INFO] [stderr] 175 | extra_size = extra_size + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 4` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:523:13 [INFO] [stderr] | [INFO] [stderr] 523 | / match unit { [INFO] [stderr] 524 | | &Unit::FrameV2(FrameHeader::V22(_), _) if head_version != 2 => { [INFO] [stderr] 525 | | return err; [INFO] [stderr] 526 | | } [INFO] [stderr] ... | [INFO] [stderr] 533 | | _ => (), [INFO] [stderr] 534 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 523 | match *unit { [INFO] [stderr] 524 | Unit::FrameV2(FrameHeader::V22(_), _) if head_version != 2 => { [INFO] [stderr] 525 | return err; [INFO] [stderr] 526 | } [INFO] [stderr] 527 | Unit::FrameV2(FrameHeader::V23(_), _) if head_version != 3 => { [INFO] [stderr] 528 | return err; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/metadata.rs:543:36 [INFO] [stderr] | [INFO] [stderr] 543 | pub fn fix_units(&self, units: &Vec) -> Result> { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Unit]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/metadata.rs:200:26 [INFO] [stderr] | [INFO] [stderr] 200 | let frame_body = match frame_header.has_flag(FrameHeaderFlag::Encryption) { [INFO] [stderr] | __________________________^ [INFO] [stderr] 201 | | true => { [INFO] [stderr] 202 | | debug!("encryption"); [INFO] [stderr] 203 | | FrameBody::SKIP(frame_header.id.to_owned(), body_bytes) [INFO] [stderr] 204 | | } [INFO] [stderr] 205 | | false => read_framebody_with_id(frame_header.id.as_str(), 3, Cursor::new(body_bytes))?, [INFO] [stderr] 206 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 200 | let frame_body = if frame_header.has_flag(FrameHeaderFlag::Encryption) { [INFO] [stderr] 201 | debug!("encryption"); [INFO] [stderr] 202 | FrameBody::SKIP(frame_header.id.to_owned(), body_bytes) [INFO] [stderr] 203 | } else { read_framebody_with_id(frame_header.id.as_str(), 3, Cursor::new(body_bytes))? }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:545:13 [INFO] [stderr] | [INFO] [stderr] 545 | / match unit { [INFO] [stderr] 546 | | &Unit::Header(ref head) => { [INFO] [stderr] 547 | | let mut new_head = head.clone(); [INFO] [stderr] 548 | | new_head.version = 4; [INFO] [stderr] ... | [INFO] [stderr] 614 | | _ => (), [INFO] [stderr] 615 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 545 | match *unit { [INFO] [stderr] 546 | Unit::Header(ref head) => { [INFO] [stderr] 547 | let mut new_head = head.clone(); [INFO] [stderr] 548 | new_head.version = 4; [INFO] [stderr] 549 | new_head.minor_version = 0; [INFO] [stderr] 550 | vec.push(Unit::Header(new_head)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:553:21 [INFO] [stderr] | [INFO] [stderr] 553 | / match frame_body { [INFO] [stderr] 554 | | &FrameBody::CRM(_) => (), [INFO] [stderr] 555 | | &FrameBody::PIC(_) => (), [INFO] [stderr] 556 | | &FrameBody::EQUA(_) => (), [INFO] [stderr] ... | [INFO] [stderr] 611 | | [INFO] [stderr] 612 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [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] 553 | match *frame_body { [INFO] [stderr] 554 | FrameBody::CRM(_) => (), [INFO] [stderr] 555 | FrameBody::PIC(_) => (), [INFO] [stderr] 556 | FrameBody::EQUA(_) => (), [INFO] [stderr] 557 | FrameBody::IPLS(_) => (), [INFO] [stderr] 558 | FrameBody::RVAD(_) => (), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:566:52 [INFO] [stderr] | [INFO] [stderr] 566 | let new_frame_header = match frame_header { [INFO] [stderr] | ____________________________________________________^ [INFO] [stderr] 567 | | &FrameHeader::V22(_) => { [INFO] [stderr] 568 | | let body_id = framebody_to_id(&frame_body, 2); [INFO] [stderr] 569 | | FrameHeaderV4 { [INFO] [stderr] ... | [INFO] [stderr] 606 | | [INFO] [stderr] 607 | | }; [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [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] 566 | let new_frame_header = match *frame_header { [INFO] [stderr] 567 | FrameHeader::V22(_) => { [INFO] [stderr] 568 | let body_id = framebody_to_id(&frame_body, 2); [INFO] [stderr] 569 | FrameHeaderV4 { [INFO] [stderr] 570 | id: frame2_to_frame4(body_id), [INFO] [stderr] 571 | size: 0, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | extra_size = extra_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:232:13 [INFO] [stderr] | [INFO] [stderr] 232 | extra_size = extra_size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:240:13 [INFO] [stderr] | [INFO] [stderr] 240 | extra_size = extra_size + 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `extra_size += 4` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:675:9 [INFO] [stderr] | [INFO] [stderr] 675 | writable.write(&bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/metadata.rs:271:26 [INFO] [stderr] | [INFO] [stderr] 271 | let frame_body = match frame_header.has_flag(FrameHeaderFlag::Encryption) { [INFO] [stderr] | __________________________^ [INFO] [stderr] 272 | | true => FrameBody::SKIP(frame_header.id.to_owned(), body_bytes), [INFO] [stderr] 273 | | false => read_framebody_with_id(frame_header.id.as_str(), 4, Cursor::new(body_bytes))?, [INFO] [stderr] 274 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if frame_header.has_flag(FrameHeaderFlag::Encryption) { FrameBody::SKIP(frame_header.id.to_owned(), body_bytes) } else { read_framebody_with_id(frame_header.id.as_str(), 4, Cursor::new(body_bytes))? }` [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 don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:310:9 [INFO] [stderr] | [INFO] [stderr] 310 | / if let &Unit::Header(ref head) = header { [INFO] [stderr] 311 | | let head = head.clone(); [INFO] [stderr] 312 | | [INFO] [stderr] 313 | | if head.has_flag(HeadFlag::ExtendedHeader) { [INFO] [stderr] ... | [INFO] [stderr] 326 | | self.next = Status::Error; [INFO] [stderr] 327 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 310 | if let Unit::Header(ref head) = *header { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:725:9 [INFO] [stderr] | [INFO] [stderr] 725 | writable.write(&bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:784:9 [INFO] [stderr] | [INFO] [stderr] 784 | writable.write(&bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/metadata.rs:430:17 [INFO] [stderr] | [INFO] [stderr] 430 | len = len - 128; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `len -= 128` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:464:9 [INFO] [stderr] | [INFO] [stderr] 464 | writable.write(&head_bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:465:9 [INFO] [stderr] | [INFO] [stderr] 465 | writable.write(&frame_bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:469:13 [INFO] [stderr] | [INFO] [stderr] 469 | writable.write(&frame1_bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:482:25 [INFO] [stderr] | [INFO] [stderr] 482 | .filter(|m| match m { [INFO] [stderr] | _________________________^ [INFO] [stderr] 483 | | &Unit::Header(_) => true, [INFO] [stderr] 484 | | &Unit::FrameV1(_) => true, [INFO] [stderr] 485 | | _ => false, [INFO] [stderr] 486 | | }) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:816:17 [INFO] [stderr] | [INFO] [stderr] 816 | writable.write(bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:821:17 [INFO] [stderr] | [INFO] [stderr] 821 | writable.write(bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:826:17 [INFO] [stderr] | [INFO] [stderr] 826 | writable.write(bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 482 | .filter(|m| match *m { [INFO] [stderr] 483 | Unit::Header(_) => true, [INFO] [stderr] 484 | Unit::FrameV1(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/metadata.rs:494:32 [INFO] [stderr] | [INFO] [stderr] 494 | let header_length = if i.len() > 0 { i[0] } else { 0 }; [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!i.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: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/metadata.rs:495:28 [INFO] [stderr] | [INFO] [stderr] 495 | let frame1_exist = if i.len() > 1 && i[1] == 128 { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 496 | | true [INFO] [stderr] 497 | | } else { [INFO] [stderr] 498 | | false [INFO] [stderr] 499 | | }; [INFO] [stderr] | |_________^ help: you can reduce it to: `i.len() > 1 && i[1] == 128` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/metadata.rs:508:36 [INFO] [stderr] | [INFO] [stderr] 508 | fn check_version(&self, units: &Vec) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Unit]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:510:50 [INFO] [stderr] | [INFO] [stderr] 510 | let head_unit = units.iter().find(|unit| match unit { [INFO] [stderr] | __________________________________________________^ [INFO] [stderr] 511 | | &&Unit::Header(_) => true, [INFO] [stderr] 512 | | _ => false, [INFO] [stderr] 513 | | }); [INFO] [stderr] | |_________^ [INFO] [stderr] | [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] 510 | let head_unit = units.iter().find(|unit| match *unit { [INFO] [stderr] 511 | &Unit::Header(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:523:13 [INFO] [stderr] | [INFO] [stderr] 523 | / match unit { [INFO] [stderr] 524 | | &Unit::FrameV2(FrameHeader::V22(_), _) if head_version != 2 => { [INFO] [stderr] 525 | | return err; [INFO] [stderr] 526 | | } [INFO] [stderr] ... | [INFO] [stderr] 533 | | _ => (), [INFO] [stderr] 534 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 523 | match *unit { [INFO] [stderr] 524 | Unit::FrameV2(FrameHeader::V22(_), _) if head_version != 2 => { [INFO] [stderr] 525 | return err; [INFO] [stderr] 526 | } [INFO] [stderr] 527 | Unit::FrameV2(FrameHeader::V23(_), _) if head_version != 3 => { [INFO] [stderr] 528 | return err; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/metadata.rs:543:36 [INFO] [stderr] | [INFO] [stderr] 543 | pub fn fix_units(&self, units: &Vec) -> Result> { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Unit]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:545:13 [INFO] [stderr] | [INFO] [stderr] 545 | / match unit { [INFO] [stderr] 546 | | &Unit::Header(ref head) => { [INFO] [stderr] 547 | | let mut new_head = head.clone(); [INFO] [stderr] 548 | | new_head.version = 4; [INFO] [stderr] ... | [INFO] [stderr] 614 | | _ => (), [INFO] [stderr] 615 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [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] 545 | match *unit { [INFO] [stderr] 546 | Unit::Header(ref head) => { [INFO] [stderr] 547 | let mut new_head = head.clone(); [INFO] [stderr] 548 | new_head.version = 4; [INFO] [stderr] 549 | new_head.minor_version = 0; [INFO] [stderr] 550 | vec.push(Unit::Header(new_head)); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:553:21 [INFO] [stderr] | [INFO] [stderr] 553 | / match frame_body { [INFO] [stderr] 554 | | &FrameBody::CRM(_) => (), [INFO] [stderr] 555 | | &FrameBody::PIC(_) => (), [INFO] [stderr] 556 | | &FrameBody::EQUA(_) => (), [INFO] [stderr] ... | [INFO] [stderr] 611 | | [INFO] [stderr] 612 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [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] 553 | match *frame_body { [INFO] [stderr] 554 | FrameBody::CRM(_) => (), [INFO] [stderr] 555 | FrameBody::PIC(_) => (), [INFO] [stderr] 556 | FrameBody::EQUA(_) => (), [INFO] [stderr] 557 | FrameBody::IPLS(_) => (), [INFO] [stderr] 558 | FrameBody::RVAD(_) => (), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/metadata.rs:566:52 [INFO] [stderr] | [INFO] [stderr] 566 | let new_frame_header = match frame_header { [INFO] [stderr] | ____________________________________________________^ [INFO] [stderr] 567 | | &FrameHeader::V22(_) => { [INFO] [stderr] 568 | | let body_id = framebody_to_id(&frame_body, 2); [INFO] [stderr] 569 | | FrameHeaderV4 { [INFO] [stderr] ... | [INFO] [stderr] 606 | | [INFO] [stderr] 607 | | }; [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [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] 566 | let new_frame_header = match *frame_header { [INFO] [stderr] 567 | FrameHeader::V22(_) => { [INFO] [stderr] 568 | let body_id = framebody_to_id(&frame_body, 2); [INFO] [stderr] 569 | FrameHeaderV4 { [INFO] [stderr] 570 | id: frame2_to_frame4(body_id), [INFO] [stderr] 571 | size: 0, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:885:9 [INFO] [stderr] | [INFO] [stderr] 885 | writable.write(&self.head(head)?)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:886:9 [INFO] [stderr] | [INFO] [stderr] 886 | writable.write(&frame_bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:675:9 [INFO] [stderr] | [INFO] [stderr] 675 | writable.write(&bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:891:17 [INFO] [stderr] | [INFO] [stderr] 891 | writable.write(&self.frame1(frame1)?)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:725:9 [INFO] [stderr] | [INFO] [stderr] 725 | writable.write(&bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:784:9 [INFO] [stderr] | [INFO] [stderr] 784 | writable.write(&bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:816:17 [INFO] [stderr] | [INFO] [stderr] 816 | writable.write(bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:821:17 [INFO] [stderr] | [INFO] [stderr] 821 | writable.write(bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:826:17 [INFO] [stderr] | [INFO] [stderr] 826 | writable.write(bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:885:9 [INFO] [stderr] | [INFO] [stderr] 885 | writable.write(&self.head(head)?)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:886:9 [INFO] [stderr] | [INFO] [stderr] 886 | writable.write(&frame_bytes)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/metadata.rs:891:17 [INFO] [stderr] | [INFO] [stderr] 891 | writable.write(&self.frame1(frame1)?)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: aborting due to 28 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rtag`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to 28 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `rtag`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "c2fe874c8e0da37c65aa302b1081c002af2e79c27e40bb0e316ee6544e9cbe7f"` [INFO] running `"docker" "rm" "-f" "c2fe874c8e0da37c65aa302b1081c002af2e79c27e40bb0e316ee6544e9cbe7f"` [INFO] [stdout] c2fe874c8e0da37c65aa302b1081c002af2e79c27e40bb0e316ee6544e9cbe7f