[INFO] updating cached repository ruuda/claxon [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/ruuda/claxon [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/ruuda/claxon" "work/ex/clippy-test-run/sources/stable/gh/ruuda/claxon"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/ruuda/claxon'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/ruuda/claxon" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ruuda/claxon"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ruuda/claxon'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 1795137bbb6c126137b7a64cd0d03b6ddd8f245b [INFO] sha for GitHub repo ruuda/claxon: 1795137bbb6c126137b7a64cd0d03b6ddd8f245b [INFO] validating manifest of ruuda/claxon 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 ruuda/claxon 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 ruuda/claxon [INFO] finished frobbing ruuda/claxon [INFO] frobbed toml for ruuda/claxon written to work/ex/clippy-test-run/sources/stable/gh/ruuda/claxon/Cargo.toml [INFO] started frobbing ruuda/claxon [INFO] finished frobbing ruuda/claxon [INFO] frobbed toml for ruuda/claxon written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/ruuda/claxon/Cargo.toml [INFO] crate ruuda/claxon 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 ruuda/claxon against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/ruuda/claxon:/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] bdce84db6dc7a7db7ff0919f4411c2de3f986de9fad955483678a9e936123baa [INFO] running `"docker" "start" "-a" "bdce84db6dc7a7db7ff0919f4411c2de3f986de9fad955483678a9e936123baa"` [INFO] [stderr] Checking same-file v0.1.3 [INFO] [stderr] Checking bitreader v0.3.1 [INFO] [stderr] Checking claxon v0.4.1 (/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:309:9 [INFO] [stderr] | [INFO] [stderr] 309 | 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:310:9 [INFO] [stderr] | [INFO] [stderr] 310 | 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:311:9 [INFO] [stderr] | [INFO] [stderr] 311 | 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:312:9 [INFO] [stderr] | [INFO] [stderr] 312 | 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:313:9 [INFO] [stderr] | [INFO] [stderr] 313 | 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:419:13 [INFO] [stderr] | [INFO] [stderr] 419 | 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:654:13 [INFO] [stderr] | [INFO] [stderr] 654 | 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:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | 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:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | 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:428:13 [INFO] [stderr] | [INFO] [stderr] 428 | 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] Checking walkdir v1.0.7 [INFO] [stderr] Checking mp4parse v0.8.0 [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: unneeded return statement [INFO] [stderr] --> src/frame.rs:496:9 [INFO] [stderr] | [INFO] [stderr] 496 | 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:504:9 [INFO] [stderr] | [INFO] [stderr] 504 | 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: long literal lacking separators [INFO] [stderr] --> src/input.rs:567:24 [INFO] [stderr] | [INFO] [stderr] 567 | 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] 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:413:1 [INFO] [stderr] | [INFO] [stderr] 413 | / impl Block { [INFO] [stderr] 414 | | fn new(time: u64, bs: u32, buffer: Vec) -> Block { [INFO] [stderr] 415 | | Block { [INFO] [stderr] 416 | | first_sample_number: time, [INFO] [stderr] ... | [INFO] [stderr] 528 | | } [INFO] [stderr] 529 | | } [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:516:5 [INFO] [stderr] | [INFO] [stderr] 516 | / pub fn stereo_samples<'a>(&'a self) -> StereoSamples<'a> { [INFO] [stderr] 517 | | if self.channels != 2 { [INFO] [stderr] 518 | | panic!("stereo_samples() must only be called for blocks with two channels."); [INFO] [stderr] 519 | | } [INFO] [stderr] ... | [INFO] [stderr] 527 | | } [INFO] [stderr] 528 | | } [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:772:44 [INFO] [stderr] | [INFO] [stderr] 772 | 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:772:71 [INFO] [stderr] | [INFO] [stderr] 772 | 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:776:38 [INFO] [stderr] | [INFO] [stderr] 776 | 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:88:18 [INFO] [stderr] | [INFO] [stderr] 88 | 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] 88 | let b0 = u16::from(match $ expr { [INFO] [stderr] 89 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 90 | :: Err ( err ) => { [INFO] [stderr] 91 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 92 | $ 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:89:18 [INFO] [stderr] | [INFO] [stderr] 89 | 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] 89 | let b1 = u16::from(match $ expr { [INFO] [stderr] 90 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 91 | :: Err ( err ) => { [INFO] [stderr] 92 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 93 | $ 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:97:32 [INFO] [stderr] | [INFO] [stderr] 97 | 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:97:51 [INFO] [stderr] | [INFO] [stderr] 97 | 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:105:18 [INFO] [stderr] | [INFO] [stderr] 105 | 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] 105 | let b0 = 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 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] 106 | let b1 = 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:107:18 [INFO] [stderr] | [INFO] [stderr] 107 | 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] 107 | let b2 = u32::from(match $ expr { [INFO] [stderr] 108 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 109 | :: Err ( err ) => { [INFO] [stderr] 110 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 111 | $ 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 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] 113 | let b0 = 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 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] 114 | let b1 = 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 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] 115 | let b2 = 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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:116:18 [INFO] [stderr] | [INFO] [stderr] 116 | 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] 116 | let b3 = u32::from(match $ expr { [INFO] [stderr] 117 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 118 | :: Err ( err ) => { [INFO] [stderr] 119 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 120 | $ 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:122:18 [INFO] [stderr] | [INFO] [stderr] 122 | 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] 122 | let b0 = u32::from(match $ expr { [INFO] [stderr] 123 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 124 | :: Err ( err ) => { [INFO] [stderr] 125 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 126 | $ 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:123:18 [INFO] [stderr] | [INFO] [stderr] 123 | 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] 123 | let b1 = u32::from(match $ expr { [INFO] [stderr] 124 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 125 | :: Err ( err ) => { [INFO] [stderr] 126 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 127 | $ 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:124:18 [INFO] [stderr] | [INFO] [stderr] 124 | 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] 124 | let b2 = u32::from(match $ expr { [INFO] [stderr] 125 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 126 | :: Err ( err ) => { [INFO] [stderr] 127 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 128 | $ 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:125:18 [INFO] [stderr] | [INFO] [stderr] 125 | 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] 125 | let b3 = u32::from(match $ expr { [INFO] [stderr] 126 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 127 | :: Err ( err ) => { [INFO] [stderr] 128 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 129 | $ 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:271:18 [INFO] [stderr] | [INFO] [stderr] 271 | 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:272:37 [INFO] [stderr] | [INFO] [stderr] 272 | 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: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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:411:6 [INFO] [stderr] | [INFO] [stderr] 411 | ((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:462:13 [INFO] [stderr] | [INFO] [stderr] 462 | 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:463:13 [INFO] [stderr] | [INFO] [stderr] 463 | 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:489:13 [INFO] [stderr] | [INFO] [stderr] 489 | 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:490:13 [INFO] [stderr] | [INFO] [stderr] 490 | 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:500:17 [INFO] [stderr] | [INFO] [stderr] 500 | 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:543:13 [INFO] [stderr] | [INFO] [stderr] 543 | 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:544:13 [INFO] [stderr] | [INFO] [stderr] 544 | 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:568:20 [INFO] [stderr] | [INFO] [stderr] 568 | 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:573:26 [INFO] [stderr] | [INFO] [stderr] 573 | 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] 573 | let fresh_byte = u32::from(match $ expr { [INFO] [stderr] 574 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 575 | :: Err ( err ) => { [INFO] [stderr] 576 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 577 | $ 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:590:32 [INFO] [stderr] | [INFO] [stderr] 590 | 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] 590 | let fresher_byte = u32::from(match $ expr { [INFO] [stderr] 591 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 592 | :: Err ( err ) => { [INFO] [stderr] 593 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 594 | $ 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:615:16 [INFO] [stderr] | [INFO] [stderr] 615 | 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:618:23 [INFO] [stderr] | [INFO] [stderr] 618 | 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] 618 | let msb = u16::from(match $ expr { [INFO] [stderr] 619 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 620 | :: Err ( err ) => { [INFO] [stderr] 621 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 622 | $ 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:619:23 [INFO] [stderr] | [INFO] [stderr] 619 | 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] 619 | let lsb = u16::from(match $ expr { [INFO] [stderr] 620 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 621 | :: Err ( err ) => { [INFO] [stderr] 622 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 623 | $ 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:635:16 [INFO] [stderr] | [INFO] [stderr] 635 | 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:638:23 [INFO] [stderr] | [INFO] [stderr] 638 | 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] 638 | let msb = u32::from(match $ expr { [INFO] [stderr] 639 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 640 | :: Err ( err ) => { [INFO] [stderr] 641 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 642 | $ 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:639:23 [INFO] [stderr] | [INFO] [stderr] 639 | 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] 639 | let lsb = u32::from(match $ expr { [INFO] [stderr] 640 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 641 | :: Err ( err ) => { [INFO] [stderr] 642 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 643 | $ 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: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:269:37 [INFO] [stderr] | [INFO] [stderr] 269 | debug_assert_eq!(n_partitions * n_samples_per_partition as u32, block_size as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(n_samples_per_partition)` [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/subframe.rs:269:69 [INFO] [stderr] | [INFO] [stderr] 269 | debug_assert_eq!(n_partitions * n_samples_per_partition as u32, block_size as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(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: manual implementation of an assign operation [INFO] [stderr] --> src/subframe.rs:287:17 [INFO] [stderr] | [INFO] [stderr] 287 | 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:297:17 [INFO] [stderr] | [INFO] [stderr] 297 | 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:314:22 [INFO] [stderr] | [INFO] [stderr] 314 | 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] 314 | let rice_param = u32::from(match $ expr { [INFO] [stderr] 315 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 316 | :: Err ( err ) => { [INFO] [stderr] 317 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 318 | $ 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:339:21 [INFO] [stderr] | [INFO] [stderr] 339 | 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] 339 | let r = u32::from(match $ expr { [INFO] [stderr] 340 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 341 | :: Err ( err ) => { [INFO] [stderr] 342 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 343 | $ 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:362:22 [INFO] [stderr] | [INFO] [stderr] 362 | 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] 362 | let rice_param = u32::from(match $ expr { [INFO] [stderr] 363 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 364 | :: Err ( err ) => { [INFO] [stderr] 365 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 366 | $ 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:549:22 [INFO] [stderr] | [INFO] [stderr] 549 | 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:550:13 [INFO] [stderr] | [INFO] [stderr] 550 | 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:564:58 [INFO] [stderr] | [INFO] [stderr] 564 | .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:564:69 [INFO] [stderr] | [INFO] [stderr] 564 | .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:566:21 [INFO] [stderr] | [INFO] [stderr] 566 | 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:578:58 [INFO] [stderr] | [INFO] [stderr] 578 | .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:580:21 [INFO] [stderr] | [INFO] [stderr] 580 | 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:624:25 [INFO] [stderr] | [INFO] [stderr] 624 | 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] 624 | let qlp_precision = u32::from(match $ expr { [INFO] [stderr] 625 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 626 | :: Err ( err ) => { [INFO] [stderr] 627 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 628 | $ 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] 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:309:9 [INFO] [stderr] | [INFO] [stderr] 309 | 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:310:9 [INFO] [stderr] | [INFO] [stderr] 310 | 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:311:9 [INFO] [stderr] | [INFO] [stderr] 311 | 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:312:9 [INFO] [stderr] | [INFO] [stderr] 312 | 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:313:9 [INFO] [stderr] | [INFO] [stderr] 313 | 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:419:13 [INFO] [stderr] | [INFO] [stderr] 419 | 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:654:13 [INFO] [stderr] | [INFO] [stderr] 654 | 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:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | 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:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | 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:428:13 [INFO] [stderr] | [INFO] [stderr] 428 | 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] 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: 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: long literal lacking separators [INFO] [stderr] --> src/frame.rs:120:59 [INFO] [stderr] | [INFO] [stderr] 120 | assert_eq!(read_var_length_int(&mut reader).unwrap(), 0x010348); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0001_0348` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/frame.rs:254:24 [INFO] [stderr] | [INFO] [stderr] 254 | if frame > 0x7fffffff { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x7fff_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: this loop could be written as a `for` loop [INFO] [stderr] --> tests/testsamples.rs:157:43 [INFO] [stderr] | [INFO] [stderr] 157 | while let Some(actual_line) = value_lines_iter.next() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for actual_line in value_lines_iter { .. }` [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/frame.rs:496:9 [INFO] [stderr] | [INFO] [stderr] 496 | 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:504:9 [INFO] [stderr] | [INFO] [stderr] 504 | return self.buffer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.buffer` [INFO] [stderr] | [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#needless_return [INFO] [stderr] [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:192:27 [INFO] [stderr] | [INFO] [stderr] 192 | 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] 192 | 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:207:13 [INFO] [stderr] | [INFO] [stderr] 207 | 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:207:31 [INFO] [stderr] | [INFO] [stderr] 207 | 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:209:9 [INFO] [stderr] | [INFO] [stderr] 209 | 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: long literal lacking separators [INFO] [stderr] --> src/input.rs:567:24 [INFO] [stderr] | [INFO] [stderr] 567 | 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: use of a blacklisted/placeholder name `foo` [INFO] [stderr] --> tests/testsamples.rs:320:13 [INFO] [stderr] | [INFO] [stderr] 320 | 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: long literal lacking separators [INFO] [stderr] --> src/input.rs:715:46 [INFO] [stderr] | [INFO] [stderr] 715 | assert_eq!(bits.read_leq_u8(6).unwrap(), 0b010010); [INFO] [stderr] | ^^^^^^^^ help: consider: `0b01_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/input.rs:716:46 [INFO] [stderr] | [INFO] [stderr] 716 | assert_eq!(bits.read_leq_u8(7).unwrap(), 0b1010101); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0b101_0101` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/input.rs:717:46 [INFO] [stderr] | [INFO] [stderr] 717 | assert_eq!(bits.read_leq_u8(8).unwrap(), 0b11001100); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1100_1100` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/input.rs:718:46 [INFO] [stderr] | [INFO] [stderr] 718 | assert_eq!(bits.read_leq_u8(6).unwrap(), 0b111111); [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/input.rs:719:46 [INFO] [stderr] | [INFO] [stderr] 719 | assert_eq!(bits.read_leq_u8(8).unwrap(), 0b10101010); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b1010_1010` [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: digits grouped inconsistently by underscores [INFO] [stderr] --> src/input.rs:731:54 [INFO] [stderr] | [INFO] [stderr] 731 | assert_eq!(bits.read_gt_u8_leq_u16(10).unwrap(), 0b1010_0101_11); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `0b10_1001_0111` [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: digits grouped inconsistently by underscores [INFO] [stderr] --> src/input.rs:734:54 [INFO] [stderr] | [INFO] [stderr] 734 | assert_eq!(bits.read_gt_u8_leq_u16(10).unwrap(), 0b0_0101_0101_1); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider: `0b00_1010_1011` [INFO] [stderr] | [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: digits grouped inconsistently by underscores [INFO] [stderr] --> src/input.rs:746:48 [INFO] [stderr] | [INFO] [stderr] 746 | assert_eq!(bits.read_leq_u16(13).unwrap(), 0b010_0101_1110_00); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0_1001_0111_1000` [INFO] [stderr] | [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: digits grouped inconsistently by underscores [INFO] [stderr] --> src/input.rs:747:47 [INFO] [stderr] | [INFO] [stderr] 747 | assert_eq!(bits.read_leq_u16(9).unwrap(), 0b01_1101_001); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `0b0_1110_1001` [INFO] [stderr] | [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: digits grouped inconsistently by underscores [INFO] [stderr] --> src/input.rs:756:48 [INFO] [stderr] | [INFO] [stderr] 756 | assert_eq!(bits.read_leq_u32(17).unwrap(), 0b010_0101_1110_0001_11); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0_1001_0111_1000_0111` [INFO] [stderr] | [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: this is a decimal constant [INFO] [stderr] --> src/input.rs:774:58 [INFO] [stderr] | [INFO] [stderr] 774 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-09131_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_prefixed_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 774 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-9131_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 774 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-0o9131_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/input.rs:775:58 [INFO] [stderr] | [INFO] [stderr] 775 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-08489_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 775 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-8489_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 775 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-0o8489_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this is a decimal constant [INFO] [stderr] --> src/input.rs:776:58 [INFO] [stderr] | [INFO] [stderr] 776 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-08698_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_prefixed_literal [INFO] [stderr] help: if you mean to use a decimal constant, remove the `0` to remove confusion [INFO] [stderr] | [INFO] [stderr] 776 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-8698_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] help: if you mean to use an octal constant, use `0o` [INFO] [stderr] | [INFO] [stderr] 776 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-0o8698_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^^ [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: long literal lacking separators [INFO] [stderr] --> src/subframe.rs:127:16 [INFO] [stderr] | [INFO] [stderr] 127 | assert_eq!(0x3ffffffe, extend_sign_u32(0x3ffffffe, 31)); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x3fff_fffe` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/subframe.rs:127:44 [INFO] [stderr] | [INFO] [stderr] 127 | assert_eq!(0x3ffffffe, extend_sign_u32(0x3ffffffe, 31)); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x3fff_fffe` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/subframe.rs:131:36 [INFO] [stderr] | [INFO] [stderr] 131 | assert_eq!(-1, extend_sign_u32(0xffffffff_u32, 32)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `0xffff_ffff_u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/subframe.rs:132:36 [INFO] [stderr] | [INFO] [stderr] 132 | assert_eq!(-2, extend_sign_u32(0xfffffffe_u32, 32)); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider: `0xffff_fffe_u32` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/subframe.rs:133:36 [INFO] [stderr] | [INFO] [stderr] 133 | assert_eq!(-1, extend_sign_u32(0x7fffffff, 31)); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x7fff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/subframe.rs:136:39 [INFO] [stderr] | [INFO] [stderr] 136 | assert_eq!(-6392, extend_sign_u32(124680, 17)); [INFO] [stderr] | ^^^^^^ help: consider: `124_680` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/subframe.rs:137:39 [INFO] [stderr] | [INFO] [stderr] 137 | assert_eq!(-6605, extend_sign_u32(124467, 17)); [INFO] [stderr] | ^^^^^^ help: consider: `124_467` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/subframe.rs:138:39 [INFO] [stderr] | [INFO] [stderr] 138 | assert_eq!(-6850, extend_sign_u32(124222, 17)); [INFO] [stderr] | ^^^^^^ help: consider: `124_222` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/subframe.rs:139:39 [INFO] [stderr] | [INFO] [stderr] 139 | assert_eq!(-7061, extend_sign_u32(124011, 17)); [INFO] [stderr] | ^^^^^^ help: consider: `124_011` [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: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> tests/testsamples.rs:468:15 [INFO] [stderr] | [INFO] [stderr] 468 | let dir = fs::read_dir("testsamples/fuzz") [INFO] [stderr] | _______________^ [INFO] [stderr] 469 | | .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:471:20 [INFO] [stderr] | [INFO] [stderr] 471 | 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] 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] 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:413:1 [INFO] [stderr] | [INFO] [stderr] 413 | / impl Block { [INFO] [stderr] 414 | | fn new(time: u64, bs: u32, buffer: Vec) -> Block { [INFO] [stderr] 415 | | Block { [INFO] [stderr] 416 | | first_sample_number: time, [INFO] [stderr] ... | [INFO] [stderr] 528 | | } [INFO] [stderr] 529 | | } [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:516:5 [INFO] [stderr] | [INFO] [stderr] 516 | / pub fn stereo_samples<'a>(&'a self) -> StereoSamples<'a> { [INFO] [stderr] 517 | | if self.channels != 2 { [INFO] [stderr] 518 | | panic!("stereo_samples() must only be called for blocks with two channels."); [INFO] [stderr] 519 | | } [INFO] [stderr] ... | [INFO] [stderr] 527 | | } [INFO] [stderr] 528 | | } [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:772:44 [INFO] [stderr] | [INFO] [stderr] 772 | 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:772:71 [INFO] [stderr] | [INFO] [stderr] 772 | 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:776:38 [INFO] [stderr] | [INFO] [stderr] 776 | 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:88:18 [INFO] [stderr] | [INFO] [stderr] 88 | 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] 88 | let b0 = u16::from(match $ expr { [INFO] [stderr] 89 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 90 | :: Err ( err ) => { [INFO] [stderr] 91 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 92 | $ 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:89:18 [INFO] [stderr] | [INFO] [stderr] 89 | 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] 89 | let b1 = u16::from(match $ expr { [INFO] [stderr] 90 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 91 | :: Err ( err ) => { [INFO] [stderr] 92 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 93 | $ 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:97:32 [INFO] [stderr] | [INFO] [stderr] 97 | 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:97:51 [INFO] [stderr] | [INFO] [stderr] 97 | 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:105:18 [INFO] [stderr] | [INFO] [stderr] 105 | 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] 105 | let b0 = 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 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] 106 | let b1 = 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:107:18 [INFO] [stderr] | [INFO] [stderr] 107 | 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] 107 | let b2 = u32::from(match $ expr { [INFO] [stderr] 108 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 109 | :: Err ( err ) => { [INFO] [stderr] 110 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 111 | $ 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 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] 113 | let b0 = 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 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] 114 | let b1 = 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 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] 115 | let b2 = 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 u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:116:18 [INFO] [stderr] | [INFO] [stderr] 116 | 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] 116 | let b3 = u32::from(match $ expr { [INFO] [stderr] 117 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 118 | :: Err ( err ) => { [INFO] [stderr] 119 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 120 | $ 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:122:18 [INFO] [stderr] | [INFO] [stderr] 122 | 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] 122 | let b0 = u32::from(match $ expr { [INFO] [stderr] 123 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 124 | :: Err ( err ) => { [INFO] [stderr] 125 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 126 | $ 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:123:18 [INFO] [stderr] | [INFO] [stderr] 123 | 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] 123 | let b1 = u32::from(match $ expr { [INFO] [stderr] 124 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 125 | :: Err ( err ) => { [INFO] [stderr] 126 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 127 | $ 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:124:18 [INFO] [stderr] | [INFO] [stderr] 124 | 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] 124 | let b2 = u32::from(match $ expr { [INFO] [stderr] 125 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 126 | :: Err ( err ) => { [INFO] [stderr] 127 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 128 | $ 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:125:18 [INFO] [stderr] | [INFO] [stderr] 125 | 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] 125 | let b3 = u32::from(match $ expr { [INFO] [stderr] 126 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 127 | :: Err ( err ) => { [INFO] [stderr] 128 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 129 | $ 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:271:18 [INFO] [stderr] | [INFO] [stderr] 271 | 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:272:37 [INFO] [stderr] | [INFO] [stderr] 272 | 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: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: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/input.rs:411:6 [INFO] [stderr] | [INFO] [stderr] 411 | ((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:462:13 [INFO] [stderr] | [INFO] [stderr] 462 | 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:463:13 [INFO] [stderr] | [INFO] [stderr] 463 | 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:489:13 [INFO] [stderr] | [INFO] [stderr] 489 | 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:490:13 [INFO] [stderr] | [INFO] [stderr] 490 | 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:500:17 [INFO] [stderr] | [INFO] [stderr] 500 | 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:543:13 [INFO] [stderr] | [INFO] [stderr] 543 | 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:544:13 [INFO] [stderr] | [INFO] [stderr] 544 | 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:568:20 [INFO] [stderr] | [INFO] [stderr] 568 | 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:573:26 [INFO] [stderr] | [INFO] [stderr] 573 | 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] 573 | let fresh_byte = u32::from(match $ expr { [INFO] [stderr] 574 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 575 | :: Err ( err ) => { [INFO] [stderr] 576 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 577 | $ 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:590:32 [INFO] [stderr] | [INFO] [stderr] 590 | 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] 590 | let fresher_byte = u32::from(match $ expr { [INFO] [stderr] 591 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 592 | :: Err ( err ) => { [INFO] [stderr] 593 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 594 | $ 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:615:16 [INFO] [stderr] | [INFO] [stderr] 615 | 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:618:23 [INFO] [stderr] | [INFO] [stderr] 618 | 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] 618 | let msb = u16::from(match $ expr { [INFO] [stderr] 619 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 620 | :: Err ( err ) => { [INFO] [stderr] 621 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 622 | $ 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:619:23 [INFO] [stderr] | [INFO] [stderr] 619 | 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] 619 | let lsb = u16::from(match $ expr { [INFO] [stderr] 620 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 621 | :: Err ( err ) => { [INFO] [stderr] 622 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 623 | $ 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:635:16 [INFO] [stderr] | [INFO] [stderr] 635 | 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:638:23 [INFO] [stderr] | [INFO] [stderr] 638 | 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] 638 | let msb = u32::from(match $ expr { [INFO] [stderr] 639 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 640 | :: Err ( err ) => { [INFO] [stderr] 641 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 642 | $ 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:639:23 [INFO] [stderr] | [INFO] [stderr] 639 | 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] 639 | let lsb = u32::from(match $ expr { [INFO] [stderr] 640 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 641 | :: Err ( err ) => { [INFO] [stderr] 642 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 643 | $ 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:770:56 [INFO] [stderr] | [INFO] [stderr] 770 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-14401_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(-14401_i16 as u16)` [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:771:56 [INFO] [stderr] | [INFO] [stderr] 771 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-13514_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(-13514_i16 as u16)` [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:772:56 [INFO] [stderr] | [INFO] [stderr] 772 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-12168_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(-12168_i16 as u16)` [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:773:56 [INFO] [stderr] | [INFO] [stderr] 773 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-10517_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(-10517_i16 as u16)` [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:774:56 [INFO] [stderr] | [INFO] [stderr] 774 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-09131_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(-09131_i16 as u16)` [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:775:56 [INFO] [stderr] | [INFO] [stderr] 775 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-08489_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(-08489_i16 as u16)` [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:776:56 [INFO] [stderr] | [INFO] [stderr] 776 | assert_eq!(bits.read_leq_u32(17).unwrap(), minus | (-08698_i16 as u16 as u32)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(-08698_i16 as u16)` [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/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: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/subframe.rs:269:37 [INFO] [stderr] | [INFO] [stderr] 269 | debug_assert_eq!(n_partitions * n_samples_per_partition as u32, block_size as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(n_samples_per_partition)` [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/subframe.rs:269:69 [INFO] [stderr] | [INFO] [stderr] 269 | debug_assert_eq!(n_partitions * n_samples_per_partition as u32, block_size as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(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: manual implementation of an assign operation [INFO] [stderr] --> src/subframe.rs:287:17 [INFO] [stderr] | [INFO] [stderr] 287 | 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:297:17 [INFO] [stderr] | [INFO] [stderr] 297 | 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:314:22 [INFO] [stderr] | [INFO] [stderr] 314 | 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] 314 | let rice_param = u32::from(match $ expr { [INFO] [stderr] 315 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 316 | :: Err ( err ) => { [INFO] [stderr] 317 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 318 | $ 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:339:21 [INFO] [stderr] | [INFO] [stderr] 339 | 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] 339 | let r = u32::from(match $ expr { [INFO] [stderr] 340 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 341 | :: Err ( err ) => { [INFO] [stderr] 342 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 343 | $ 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:362:22 [INFO] [stderr] | [INFO] [stderr] 362 | 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] 362 | let rice_param = u32::from(match $ expr { [INFO] [stderr] 363 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 364 | :: Err ( err ) => { [INFO] [stderr] 365 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 366 | $ 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:549:22 [INFO] [stderr] | [INFO] [stderr] 549 | 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:550:13 [INFO] [stderr] | [INFO] [stderr] 550 | 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:564:58 [INFO] [stderr] | [INFO] [stderr] 564 | .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:564:69 [INFO] [stderr] | [INFO] [stderr] 564 | .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:566:21 [INFO] [stderr] | [INFO] [stderr] 566 | 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:578:58 [INFO] [stderr] | [INFO] [stderr] 578 | .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:580:21 [INFO] [stderr] | [INFO] [stderr] 580 | 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:624:25 [INFO] [stderr] | [INFO] [stderr] 624 | 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] 624 | let qlp_precision = u32::from(match $ expr { [INFO] [stderr] 625 | $ crate :: result :: Result :: Ok ( val ) => val , $ crate :: result :: Result [INFO] [stderr] 626 | :: Err ( err ) => { [INFO] [stderr] 627 | return $ crate :: result :: Result :: Err ( [INFO] [stderr] 628 | $ 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: build failed [INFO] running `"docker" "inspect" "bdce84db6dc7a7db7ff0919f4411c2de3f986de9fad955483678a9e936123baa"` [INFO] running `"docker" "rm" "-f" "bdce84db6dc7a7db7ff0919f4411c2de3f986de9fad955483678a9e936123baa"` [INFO] [stdout] bdce84db6dc7a7db7ff0919f4411c2de3f986de9fad955483678a9e936123baa