[INFO] updating cached repository Shnatsel/claxon-vulnerable [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Shnatsel/claxon-vulnerable [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Shnatsel/claxon-vulnerable" "work/ex/clippy-test-run/sources/stable/gh/Shnatsel/claxon-vulnerable"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Shnatsel/claxon-vulnerable'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Shnatsel/claxon-vulnerable" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Shnatsel/claxon-vulnerable"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Shnatsel/claxon-vulnerable'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 94182f133addb17f860248f677a6eecf3fcd363d [INFO] sha for GitHub repo Shnatsel/claxon-vulnerable: 94182f133addb17f860248f677a6eecf3fcd363d [INFO] validating manifest of Shnatsel/claxon-vulnerable 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 Shnatsel/claxon-vulnerable 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 Shnatsel/claxon-vulnerable [INFO] finished frobbing Shnatsel/claxon-vulnerable [INFO] frobbed toml for Shnatsel/claxon-vulnerable written to work/ex/clippy-test-run/sources/stable/gh/Shnatsel/claxon-vulnerable/Cargo.toml [INFO] started frobbing Shnatsel/claxon-vulnerable [INFO] finished frobbing Shnatsel/claxon-vulnerable [INFO] frobbed toml for Shnatsel/claxon-vulnerable written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Shnatsel/claxon-vulnerable/Cargo.toml [INFO] crate Shnatsel/claxon-vulnerable has a lockfile. skipping [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 Shnatsel/claxon-vulnerable against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Shnatsel/claxon-vulnerable:/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 -Dclippy::into_iter_on_array" "-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] 9cfe9315a1020e89c6cecbaa60146f47865ca96bf70240d4d23b1f70df107420 [INFO] running `"docker" "start" "-a" "9cfe9315a1020e89c6cecbaa60146f47865ca96bf70240d4d23b1f70df107420"` [INFO] [stderr] Checking bitreader v0.3.1 [INFO] [stderr] Checking claxon v0.4.0 (/opt/crater/workdir) [INFO] [stderr] Checking hound v3.3.0 [INFO] [stderr] Checking ogg v0.5.1 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/crc.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | inner: inner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [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/crc.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | inner: inner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [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:304:9 [INFO] [stderr] | [INFO] [stderr] 304 | block_time: block_time, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_time` [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:305:9 [INFO] [stderr] | [INFO] [stderr] 305 | block_size: block_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_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:306:9 [INFO] [stderr] | [INFO] [stderr] 306 | sample_rate: sample_rate, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sample_rate` [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:307:9 [INFO] [stderr] | [INFO] [stderr] 307 | channel_assignment: channel_assignment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `channel_assignment` [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:308:9 [INFO] [stderr] | [INFO] [stderr] 308 | bits_per_sample: bits_per_sample, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `bits_per_sample` [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:414:13 [INFO] [stderr] | [INFO] [stderr] 414 | buffer: buffer, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `buffer` [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:633:13 [INFO] [stderr] | [INFO] [stderr] 633 | input: input, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `input` [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/input.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | inner: inner, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `inner` [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/input.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | buf: buf, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `buf` [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/input.rs:418:13 [INFO] [stderr] | [INFO] [stderr] 418 | reader: reader, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `reader` [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:179:13 [INFO] [stderr] | [INFO] [stderr] 179 | vorbis_comments: vorbis_comments, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `vorbis_comments` [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:180:13 [INFO] [stderr] | [INFO] [stderr] 180 | needle: needle, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `needle` [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:221:9 [INFO] [stderr] | [INFO] [stderr] 221 | is_last: is_last, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `is_last` [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:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | block_type: block_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `block_type` [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:223:9 [INFO] [stderr] | [INFO] [stderr] 223 | length: length, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `length` [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:272:41 [INFO] [stderr] | [INFO] [stderr] 272 | Ok(MetadataBlock::Padding { length: length }) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `length` [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:277:17 [INFO] [stderr] | [INFO] [stderr] 277 | 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/metadata.rs:278:17 [INFO] [stderr] | [INFO] [stderr] 278 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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:284:41 [INFO] [stderr] | [INFO] [stderr] 284 | Ok(MetadataBlock::Padding { length: length }) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `length` [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:293:41 [INFO] [stderr] | [INFO] [stderr] 293 | Ok(MetadataBlock::Padding { length: length }) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `length` [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:298:41 [INFO] [stderr] | [INFO] [stderr] 298 | Ok(MetadataBlock::Padding { length: length }) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `length` [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:372:9 [INFO] [stderr] | [INFO] [stderr] 372 | min_block_size: min_block_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `min_block_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/metadata.rs:373:9 [INFO] [stderr] | [INFO] [stderr] 373 | max_block_size: max_block_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_block_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/metadata.rs:384:9 [INFO] [stderr] | [INFO] [stderr] 384 | sample_rate: sample_rate, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sample_rate` [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:392:9 [INFO] [stderr] | [INFO] [stderr] 392 | md5sum: md5sum, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `md5sum` [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:490:9 [INFO] [stderr] | [INFO] [stderr] 490 | vendor: vendor, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `vendor` [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:491:9 [INFO] [stderr] | [INFO] [stderr] 491 | comments: comments, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `comments` [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:551:13 [INFO] [stderr] | [INFO] [stderr] 551 | input: input, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `input` [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/subframe.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | sf_type: sf_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `sf_type` [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/lib.rs:297:13 [INFO] [stderr] | [INFO] [stderr] 297 | streaminfo: streaminfo, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `streaminfo` [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/lib.rs:298:13 [INFO] [stderr] | [INFO] [stderr] 298 | vorbis_comment: vorbis_comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `vorbis_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: long literal lacking separators [INFO] [stderr] --> src/frame.rs:254:24 [INFO] [stderr] | [INFO] [stderr] 254 | if frame > 0x7fffffff { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x7fff_ffff` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/frame.rs:297:5 [INFO] [stderr] | [INFO] [stderr] 297 | / if ! cfg!(fuzzing) { [INFO] [stderr] 298 | | if computed_crc != presumed_crc { [INFO] [stderr] 299 | | return fmt_err("frame header CRC mismatch"); [INFO] [stderr] 300 | | } [INFO] [stderr] 301 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 297 | if ! cfg!(fuzzing) && computed_crc != presumed_crc { [INFO] [stderr] 298 | return fmt_err("frame header CRC mismatch"); [INFO] [stderr] 299 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/frame.rs:491:9 [INFO] [stderr] | [INFO] [stderr] 491 | return self.buffer[ch as usize * bsz + sample as usize]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.buffer[ch as usize * bsz + sample as usize]` [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: unneeded return statement [INFO] [stderr] --> src/frame.rs:499:9 [INFO] [stderr] | [INFO] [stderr] 499 | return self.buffer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.buffer` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/frame.rs:734:9 [INFO] [stderr] | [INFO] [stderr] 734 | / if ! cfg!(fuzzing) { [INFO] [stderr] 735 | | if computed_crc != presumed_crc { [INFO] [stderr] 736 | | return fmt_err("frame CRC mismatch"); [INFO] [stderr] 737 | | } [INFO] [stderr] 738 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 734 | if ! cfg!(fuzzing) && computed_crc != presumed_crc { [INFO] [stderr] 735 | return fmt_err("frame CRC mismatch"); [INFO] [stderr] 736 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/input.rs:557:24 [INFO] [stderr] | [INFO] [stderr] 557 | let mask_msb = 0xffffffff << (bits - self.bits_left); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/metadata.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 154 | / return self.iter.next().map(|&(ref comment, sep_idx)| { [INFO] [stderr] 155 | | (&comment[..sep_idx], &comment[sep_idx+1..]) [INFO] [stderr] 156 | | }) [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 154 | self.iter.next().map(|&(ref comment, sep_idx)| { [INFO] [stderr] 155 | (&comment[..sep_idx], &comment[sep_idx+1..]) [INFO] [stderr] 156 | }) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/metadata.rs:204:9 [INFO] [stderr] | [INFO] [stderr] 204 | return None [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/metadata.rs:367:42 [INFO] [stderr] | [INFO] [stderr] 367 | if sample_rate == 0 || sample_rate > 655350 { [INFO] [stderr] | ^^^^^^ help: consider: `655_350` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/subframe.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | return ((val << (16 - bits)) as i16) >> (16 - bits); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `((val << (16 - bits)) as i16) >> (16 - bits)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead [INFO] [stderr] --> src/metadata.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | use std::ascii::AsciiExt; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] Checking mp4parse v0.8.0 [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | read_additional = read_additional + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `read_additional += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/frame.rs:75:9 [INFO] [stderr] | [INFO] [stderr] 75 | mask_data = mask_data >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mask_data >>= 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:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | mask_mark = mask_mark >> 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `mask_mark >>= 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:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | read_additional = read_additional - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `read_additional -= 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: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/frame.rs:92:22 [INFO] [stderr] | [INFO] [stderr] 92 | let mut result = ((first & mask_data) as u64) << (6 * read_additional); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(first & mask_data)` [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: casting u8 to i16 may become silently lossy if types change [INFO] [stderr] --> src/frame.rs:93:18 [INFO] [stderr] | [INFO] [stderr] 93 | for i in (0..read_additional as i16).rev() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i16::from(read_additional)` [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/frame.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 101 | result = result | (((byte & 0b0011_1111) as u64) << (6 * i as usize)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `result |= (((byte & 0b0011_1111) as u64) << (6 * i as usize))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/frame.rs:101:28 [INFO] [stderr] | [INFO] [stderr] 101 | result = result | (((byte & 0b0011_1111) as u64) << (6 * i as usize)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(byte & 0b0011_1111)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/frame.rs:264:22 [INFO] [stderr] | [INFO] [stderr] 264 | block_size = bs as u16 + 1; [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(bs)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/frame.rs:280:28 [INFO] [stderr] | [INFO] [stderr] 280 | sample_rate = Some(sr as u32); [INFO] [stderr] | ^^^^^^^^^ help: try: `u32::from(sr)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/frame.rs:284:28 [INFO] [stderr] | [INFO] [stderr] 284 | sample_rate = Some(sr as u32); [INFO] [stderr] | ^^^^^^^^^ help: try: `u32::from(sr)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/frame.rs:288:28 [INFO] [stderr] | [INFO] [stderr] 288 | sample_rate = Some(sr_ten as u32 * 10); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(sr_ten)` [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: item `frame::Block` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/frame.rs:408:1 [INFO] [stderr] | [INFO] [stderr] 408 | / impl Block { [INFO] [stderr] 409 | | fn new(time: u64, bs: u32, buffer: Vec) -> Block { [INFO] [stderr] 410 | | Block { [INFO] [stderr] 411 | | first_sample_number: time, [INFO] [stderr] ... | [INFO] [stderr] 523 | | } [INFO] [stderr] 524 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/frame.rs:511:5 [INFO] [stderr] | [INFO] [stderr] 511 | / pub fn stereo_samples<'a>(&'a self) -> StereoSamples<'a> { [INFO] [stderr] 512 | | if self.channels != 2 { [INFO] [stderr] 513 | | panic!("stereo_samples() must only be called for blocks with two channels."); [INFO] [stderr] 514 | | } [INFO] [stderr] ... | [INFO] [stderr] 522 | | } [INFO] [stderr] 523 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/frame.rs:743:44 [INFO] [stderr] | [INFO] [stderr] 743 | BlockTime::FrameNumber(fnr) => header.block_size as u64 * fnr as u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(header.block_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/frame.rs:743:71 [INFO] [stderr] | [INFO] [stderr] 743 | BlockTime::FrameNumber(fnr) => header.block_size as u64 * fnr as u64, [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(fnr)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/frame.rs:747:38 [INFO] [stderr] | [INFO] [stderr] 747 | let block = Block::new(time, header.block_size as u32, buffer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(header.block_size)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:78:18 [INFO] [stderr] | [INFO] [stderr] 78 | let b0 = try!(self.read_u8()) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 78 | let b0 = u16::from(match $ expr { [INFO] [stderr] 79 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 80 | :: Err ( err ) => { [INFO] [stderr] 81 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 82 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:79:18 [INFO] [stderr] | [INFO] [stderr] 79 | let b1 = try!(self.read_u8()) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 79 | let b1 = u16::from(match $ expr { [INFO] [stderr] 80 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 81 | :: Err ( err ) => { [INFO] [stderr] 82 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 83 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:87:32 [INFO] [stderr] | [INFO] [stderr] 87 | return Ok(Some((b0 as u16) << 8 | (b1 as u16))); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(b0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:87:51 [INFO] [stderr] | [INFO] [stderr] 87 | return Ok(Some((b0 as u16) << 8 | (b1 as u16))); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(b1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:95:18 [INFO] [stderr] | [INFO] [stderr] 95 | let b0 = try!(self.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 95 | let b0 = u32::from(match $ expr { [INFO] [stderr] 96 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 97 | :: Err ( err ) => { [INFO] [stderr] 98 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 99 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:96:18 [INFO] [stderr] | [INFO] [stderr] 96 | let b1 = try!(self.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 96 | let b1 = u32::from(match $ expr { [INFO] [stderr] 97 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 98 | :: Err ( err ) => { [INFO] [stderr] 99 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 100| $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:97:18 [INFO] [stderr] | [INFO] [stderr] 97 | let b2 = try!(self.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 97 | let b2 = u32::from(match $ expr { [INFO] [stderr] 98 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 99 | :: Err ( err ) => { [INFO] [stderr] 100| return $ crate :: result :: Result :: Err ( [INFO] [stderr] 101| $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:103:18 [INFO] [stderr] | [INFO] [stderr] 103 | let b0 = try!(self.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 103 | let b0 = u32::from(match $ expr { [INFO] [stderr] 104 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 105 | :: Err ( err ) => { [INFO] [stderr] 106 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 107 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:104:18 [INFO] [stderr] | [INFO] [stderr] 104 | let b1 = try!(self.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 104 | let b1 = u32::from(match $ expr { [INFO] [stderr] 105 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 106 | :: Err ( err ) => { [INFO] [stderr] 107 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 108 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:105:18 [INFO] [stderr] | [INFO] [stderr] 105 | let b2 = try!(self.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 105 | let b2 = u32::from(match $ expr { [INFO] [stderr] 106 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 107 | :: Err ( err ) => { [INFO] [stderr] 108 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 109 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:106:18 [INFO] [stderr] | [INFO] [stderr] 106 | let b3 = try!(self.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 106 | let b3 = u32::from(match $ expr { [INFO] [stderr] 107 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 108 | :: Err ( err ) => { [INFO] [stderr] 109 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 110 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:112:18 [INFO] [stderr] | [INFO] [stderr] 112 | let b0 = try!(self.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 112 | let b0 = u32::from(match $ expr { [INFO] [stderr] 113 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 114 | :: Err ( err ) => { [INFO] [stderr] 115 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 116 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:113:18 [INFO] [stderr] | [INFO] [stderr] 113 | let b1 = try!(self.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 113 | let b1 = u32::from(match $ expr { [INFO] [stderr] 114 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 115 | :: Err ( err ) => { [INFO] [stderr] 116 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 117 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:114:18 [INFO] [stderr] | [INFO] [stderr] 114 | let b2 = try!(self.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 114 | let b2 = u32::from(match $ expr { [INFO] [stderr] 115 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 116 | :: Err ( err ) => { [INFO] [stderr] 117 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 118 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:115:18 [INFO] [stderr] | [INFO] [stderr] 115 | let b3 = try!(self.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 115 | let b3 = u32::from(match $ expr { [INFO] [stderr] 116 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 117 | :: Err ( err ) => { [INFO] [stderr] 118 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 119 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:261:18 [INFO] [stderr] | [INFO] [stderr] 261 | if pos + amount as u64 <= self.get_ref().as_ref().len() as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(amount)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:262:37 [INFO] [stderr] | [INFO] [stderr] 262 | self.set_position(pos + amount as u64); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(amount)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:391:6 [INFO] [stderr] | [INFO] [stderr] 391 | ((x as u32) << shift) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(x)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:401:6 [INFO] [stderr] | [INFO] [stderr] 401 | ((x as u32) >> shift) as u8 [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(x)` [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/input.rs:452:13 [INFO] [stderr] | [INFO] [stderr] 452 | self.data = self.data << 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.data <<= 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/input.rs:453:13 [INFO] [stderr] | [INFO] [stderr] 453 | self.bits_left = self.bits_left - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bits_left -= 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/input.rs:479:13 [INFO] [stderr] | [INFO] [stderr] 479 | self.data = self.data << (n + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.data <<= (n + 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/input.rs:480:13 [INFO] [stderr] | [INFO] [stderr] 480 | self.bits_left = self.bits_left - (n + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bits_left -= (n + 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/input.rs:490:17 [INFO] [stderr] | [INFO] [stderr] 490 | n = n + zeros; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `n += zeros` [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/input.rs:533:13 [INFO] [stderr] | [INFO] [stderr] 533 | self.data = self.data << bits; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.data <<= bits` [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/input.rs:534:13 [INFO] [stderr] | [INFO] [stderr] 534 | self.bits_left = self.bits_left - bits; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.bits_left -= bits` [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/input.rs:558:20 [INFO] [stderr] | [INFO] [stderr] 558 | let msb = ((self.data as u32) << (bits - 8)) & mask_msb; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.data)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:563:26 [INFO] [stderr] | [INFO] [stderr] 563 | let fresh_byte = try!(self.reader.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 563 | let fresh_byte = u32::from(match $ expr { [INFO] [stderr] 564 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 565 | :: Err ( err ) => { [INFO] [stderr] 566 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 567 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:580:32 [INFO] [stderr] | [INFO] [stderr] 580 | let fresher_byte = try!(self.reader.read_u8()) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 580 | let fresher_byte = u32::from(match $ expr { [INFO] [stderr] 581 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 582 | :: Err ( err ) => { [INFO] [stderr] 583 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 584 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:605:16 [INFO] [stderr] | [INFO] [stderr] 605 | Ok(result as u16) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:608:23 [INFO] [stderr] | [INFO] [stderr] 608 | let msb = try!(self.read_leq_u8(8)) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 608 | let msb = u16::from(match $ expr { [INFO] [stderr] 609 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 610 | :: Err ( err ) => { [INFO] [stderr] 611 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 612 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:609:23 [INFO] [stderr] | [INFO] [stderr] 609 | let lsb = try!(self.read_leq_u8(bits - 8)) as u16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 609 | let lsb = u16::from(match $ expr { [INFO] [stderr] 610 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 611 | :: Err ( err ) => { [INFO] [stderr] 612 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 613 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:625:16 [INFO] [stderr] | [INFO] [stderr] 625 | Ok(result as u32) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(result)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:628:23 [INFO] [stderr] | [INFO] [stderr] 628 | let msb = try!(self.read_leq_u16(16)) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 628 | let msb = u32::from(match $ expr { [INFO] [stderr] 629 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 630 | :: Err ( err ) => { [INFO] [stderr] 631 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 632 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:629:23 [INFO] [stderr] | [INFO] [stderr] 629 | let lsb = try!(self.read_leq_u16(bits - 16)) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 629 | let lsb = u32::from(match $ expr { [INFO] [stderr] 630 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 631 | :: Err ( err ) => { [INFO] [stderr] 632 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 633 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/metadata.rs:330:23 [INFO] [stderr] | [INFO] [stderr] 330 | let sample_rate = (sample_rate_msb as u32) << 4 | (sample_rate_lsb as u32) >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(sample_rate_msb)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/metadata.rs:330:55 [INFO] [stderr] | [INFO] [stderr] 330 | let sample_rate = (sample_rate_msb as u32) << 4 | (sample_rate_lsb as u32) >> 4; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(sample_rate_lsb)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/metadata.rs:347:21 [INFO] [stderr] | [INFO] [stderr] 347 | let n_samples = (n_samples_msb as u64) << 32 | n_samples_lsb as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(n_samples_msb)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/metadata.rs:347:52 [INFO] [stderr] | [INFO] [stderr] 347 | let n_samples = (n_samples_msb as u64) << 32 | n_samples_lsb as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(n_samples_lsb)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/metadata.rs:385:19 [INFO] [stderr] | [INFO] [stderr] 385 | channels: n_channels as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(n_channels)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/metadata.rs:386:26 [INFO] [stderr] | [INFO] [stderr] 386 | bits_per_sample: bits_per_sample as u32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(bits_per_sample)` [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: passing a unit value to a function [INFO] [stderr] --> src/metadata.rs:503:8 [INFO] [stderr] | [INFO] [stderr] 503 | Ok(try!(input.skip(length))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/metadata.rs:577:16 [INFO] [stderr] | [INFO] [stderr] 577 | if !block.is_ok() { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `block.is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:209:70 [INFO] [stderr] | [INFO] [stderr] 209 | SubframeType::Fixed(ord) => try!(decode_fixed(input, sf_bps, ord as u32, buffer)), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(ord)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:210:66 [INFO] [stderr] | [INFO] [stderr] 210 | SubframeType::Lpc(ord) => try!(decode_lpc(input, sf_bps, ord as u32, buffer)), [INFO] [stderr] | ^^^^^^^^^^ help: try: `u32::from(ord)` [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/subframe.rs:274:17 [INFO] [stderr] | [INFO] [stderr] 274 | start = start + len as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `start += len as usize` [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/subframe.rs:284:17 [INFO] [stderr] | [INFO] [stderr] 284 | start = start + len as usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `start += len as usize` [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/subframe.rs:301:22 [INFO] [stderr] | [INFO] [stderr] 301 | let rice_param = try!(input.read_leq_u8(4)) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 301 | let rice_param = u32::from(match $ expr { [INFO] [stderr] 302 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 303 | :: Err ( err ) => { [INFO] [stderr] 304 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 305 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:326:21 [INFO] [stderr] | [INFO] [stderr] 326 | let r = try!(input.read_leq_u8(rice_param)) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 326 | let r = u32::from(match $ expr { [INFO] [stderr] 327 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 328 | :: Err ( err ) => { [INFO] [stderr] 329 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 330 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:349:22 [INFO] [stderr] | [INFO] [stderr] 349 | let rice_param = try!(input.read_leq_u8(5)) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 349 | let rice_param = u32::from(match $ expr { [INFO] [stderr] 350 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 351 | :: Err ( err ) => { [INFO] [stderr] 352 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 353 | $ crate :: convert :: From :: from ( err ) ) } }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:536:22 [INFO] [stderr] | [INFO] [stderr] 536 | buf[i] = *c as i64; [INFO] [stderr] | ^^^^^^^^^ help: try: `i64::from(*c)` [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/subframe.rs:537:13 [INFO] [stderr] | [INFO] [stderr] 537 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 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: casting i16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:551:58 [INFO] [stderr] | [INFO] [stderr] 551 | .map(|(&c, &s)| c as i64 * s as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(c)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:551:69 [INFO] [stderr] | [INFO] [stderr] 551 | .map(|(&c, &s)| c as i64 * s as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(s)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:553:21 [INFO] [stderr] | [INFO] [stderr] 553 | let delta = buffer[order + i] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(buffer[order + i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:565:58 [INFO] [stderr] | [INFO] [stderr] 565 | .map(|(&c, &s)| c * s as i64) [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(s)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:567:21 [INFO] [stderr] | [INFO] [stderr] 567 | let delta = buffer[i] as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i64::from(buffer[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:611:25 [INFO] [stderr] | [INFO] [stderr] 611 | let qlp_precision = try!(input.read_leq_u8(4)) as u32 + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 611 | let qlp_precision = u32::from(match $ expr { [INFO] [stderr] 612 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 613 | :: Err ( err ) => { [INFO] [stderr] 614 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 615 | $ crate :: convert :: From :: from ( err ) ) } }) + 1; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/lib.rs:155:27 [INFO] [stderr] | [INFO] [stderr] 155 | fn has_desired_blocks(&self) -> bool { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib.rs:331:5 [INFO] [stderr] | [INFO] [stderr] 331 | / pub fn tags<'a>(&'a self) -> metadata::Tags<'a> { [INFO] [stderr] 332 | | match self.vorbis_comment.as_ref() { [INFO] [stderr] 333 | | Some(vc) => metadata::Tags::new(&vc.comments[..]), [INFO] [stderr] 334 | | None => metadata::Tags::new(&[]), [INFO] [stderr] 335 | | } [INFO] [stderr] 336 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error[E0554]: #![feature] may not be used on the stable release channel [INFO] [stderr] --> benches/testsamples.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | #![feature(test)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0554`. [INFO] [stderr] error: Could not compile `claxon`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> examples/bench_decode.rs:87:45 [INFO] [stderr] | [INFO] [stderr] 87 | let bytes_per_sec = data_bytes as f64 * 1000_000_000.0 / total_duration_ns as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> examples/decode_ogg.rs:64:12 [INFO] [stderr] | [INFO] [stderr] 64 | if packet.data.len() == 0 { continue } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `packet.data.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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> examples/bench_decode.rs:50:15 [INFO] [stderr] | [INFO] [stderr] 50 | let bps = reader.streaminfo().bits_per_sample as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(reader.streaminfo().bits_per_sample)` [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: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> examples/bench_decode.rs:52:69 [INFO] [stderr] | [INFO] [stderr] 52 | let num_samples = reader.streaminfo().samples.unwrap() as i64 * num_channels as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(num_channels)` [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: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> examples/bench_decode.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | Err(_) => panic!("failed to decode") [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> examples/bench_decode.rs:70:59 [INFO] [stderr] | [INFO] [stderr] 70 | sample_times_ns.push(duration_ns as f64 / block.len() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(block.len())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> examples/decode_mp4.rs:108:23 [INFO] [stderr] | [INFO] [stderr] 108 | let audio_entry = match &track.data { [INFO] [stderr] | _______________________^ [INFO] [stderr] 109 | | &Some(SampleEntry::Audio(ref ae)) => ae, [INFO] [stderr] 110 | | _ => panic!("expected to find audio entry in FLAC track"), [INFO] [stderr] 111 | | }; [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: try [INFO] [stderr] | [INFO] [stderr] 108 | let audio_entry = match track.data { [INFO] [stderr] 109 | Some(SampleEntry::Audio(ref ae)) => ae, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> examples/decode_mp4.rs:113:20 [INFO] [stderr] | [INFO] [stderr] 113 | let flac_box = match &audio_entry.codec_specific { [INFO] [stderr] | ____________________^ [INFO] [stderr] 114 | | &AudioCodecSpecific::FLACSpecificBox(ref fb) => fb, [INFO] [stderr] 115 | | _ => return None, [INFO] [stderr] 116 | | }; [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: try [INFO] [stderr] | [INFO] [stderr] 113 | let flac_box = match audio_entry.codec_specific { [INFO] [stderr] 114 | AudioCodecSpecific::FLACSpecificBox(ref fb) => fb, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> examples/decode_mp4.rs:122:9 [INFO] [stderr] | [INFO] [stderr] 122 | / match result.expect("failed to decode metadata block") { [INFO] [stderr] 123 | | MetadataBlock::StreamInfo(si) => return Some(si), [INFO] [stderr] 124 | | _ => {} [INFO] [stderr] 125 | | } [INFO] [stderr] | |_________^ help: try this: `if let MetadataBlock::StreamInfo(si) = result.expect("failed to decode metadata block") { return Some(si) }` [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] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> tests/testsamples.rs:156:43 [INFO] [stderr] | [INFO] [stderr] 156 | while let Some(actual_line) = value_lines_iter.next() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for actual_line in value_lines_iter { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: the loop variable `ch` is used to index `channels` [INFO] [stderr] --> tests/testsamples.rs:191:27 [INFO] [stderr] | [INFO] [stderr] 191 | for ch in 0..n_channels as usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 191 | for (ch, ) in channels.iter_mut().enumerate().take(n_channels as usize) { [INFO] [stderr] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> tests/testsamples.rs:206:13 [INFO] [stderr] | [INFO] [stderr] 206 | sample = sample + block.duration() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `sample += block.duration() as u64` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> tests/testsamples.rs:206:31 [INFO] [stderr] | [INFO] [stderr] 206 | sample = sample + block.duration() as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(block.duration())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> tests/testsamples.rs:208:9 [INFO] [stderr] | [INFO] [stderr] 208 | b = b + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `b += 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: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> tests/testsamples.rs:319:13 [INFO] [stderr] | [INFO] [stderr] 319 | let mut foo = flac_reader.get_tag("FOO"); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::blacklisted_name)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> tests/testsamples.rs:467:15 [INFO] [stderr] | [INFO] [stderr] 467 | let dir = fs::read_dir("testsamples/fuzz") [INFO] [stderr] | _______________^ [INFO] [stderr] 468 | | .ok().expect("failed to enumerate flac files"); [INFO] [stderr] | |_______________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> tests/testsamples.rs:470:20 [INFO] [stderr] | [INFO] [stderr] 470 | let path = path.ok().expect("failed to obtain path info").path(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "9cfe9315a1020e89c6cecbaa60146f47865ca96bf70240d4d23b1f70df107420"` [INFO] running `"docker" "rm" "-f" "9cfe9315a1020e89c6cecbaa60146f47865ca96bf70240d4d23b1f70df107420"` [INFO] [stdout] 9cfe9315a1020e89c6cecbaa60146f47865ca96bf70240d4d23b1f70df107420