[INFO] crate zip 0.5.0 is already in cache [INFO] extracting crate zip 0.5.0 into work/ex/clippy-test-run/sources/stable/reg/zip/0.5.0 [INFO] extracting crate zip 0.5.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/zip/0.5.0 [INFO] validating manifest of zip-0.5.0 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 zip-0.5.0 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 zip-0.5.0 [INFO] finished frobbing zip-0.5.0 [INFO] frobbed toml for zip-0.5.0 written to work/ex/clippy-test-run/sources/stable/reg/zip/0.5.0/Cargo.toml [INFO] started frobbing zip-0.5.0 [INFO] finished frobbing zip-0.5.0 [INFO] frobbed toml for zip-0.5.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/zip/0.5.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting zip-0.5.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/zip/0.5.0:/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] ba04ddfaf253566ea6aab95cfea046aea1574514680f94d00c256d0ddfe56762 [INFO] running `"docker" "start" "-a" "ba04ddfaf253566ea6aab95cfea046aea1574514680f94d00c256d0ddfe56762"` [INFO] [stderr] Checking libflate v0.1.19 [INFO] [stderr] Checking zip v0.5.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/spec.rs:43:16 [INFO] [stderr] | [INFO] [stderr] 43 | disk_number: disk_number, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_number` [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/spec.rs:44:16 [INFO] [stderr] | [INFO] [stderr] 44 | disk_with_central_directory: disk_with_central_directory, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_with_central_directory` [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/spec.rs:45:16 [INFO] [stderr] | [INFO] [stderr] 45 | number_of_files_on_this_disk: number_of_files_on_this_disk, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `number_of_files_on_this_disk` [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/spec.rs:46:16 [INFO] [stderr] | [INFO] [stderr] 46 | number_of_files: number_of_files, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `number_of_files` [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/spec.rs:47:16 [INFO] [stderr] | [INFO] [stderr] 47 | central_directory_size: central_directory_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `central_directory_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/spec.rs:48:16 [INFO] [stderr] | [INFO] [stderr] 48 | central_directory_offset: central_directory_offset, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `central_directory_offset` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/spec.rs:49:16 [INFO] [stderr] | [INFO] [stderr] 49 | zip_file_comment: zip_file_comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `zip_file_comment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/spec.rs:124:16 [INFO] [stderr] | [INFO] [stderr] 124 | disk_with_central_directory: disk_with_central_directory, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_with_central_directory` [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/spec.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | end_of_central_directory_offset: end_of_central_directory_offset, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `end_of_central_directory_offset` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/spec.rs:126:16 [INFO] [stderr] | [INFO] [stderr] 126 | number_of_disks: number_of_disks, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `number_of_disks` [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/spec.rs:174:31 [INFO] [stderr] | [INFO] [stderr] 174 | version_made_by: version_made_by, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `version_made_by` [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/spec.rs:175:31 [INFO] [stderr] | [INFO] [stderr] 175 | version_needed_to_extract: version_needed_to_extract, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `version_needed_to_extract` [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/spec.rs:176:31 [INFO] [stderr] | [INFO] [stderr] 176 | disk_number: disk_number, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_number` [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/spec.rs:177:31 [INFO] [stderr] | [INFO] [stderr] 177 | disk_with_central_directory: disk_with_central_directory, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_with_central_directory` [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/spec.rs:178:31 [INFO] [stderr] | [INFO] [stderr] 178 | number_of_files_on_this_disk: number_of_files_on_this_disk, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `number_of_files_on_this_disk` [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/spec.rs:179:31 [INFO] [stderr] | [INFO] [stderr] 179 | number_of_files: number_of_files, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `number_of_files` [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/spec.rs:180:31 [INFO] [stderr] | [INFO] [stderr] 180 | central_directory_size: central_directory_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `central_directory_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/spec.rs:181:31 [INFO] [stderr] | [INFO] [stderr] 181 | central_directory_offset: central_directory_offset, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `central_directory_offset` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/crc32.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | 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/types.rs:95:17 [INFO] [stderr] | [INFO] [stderr] 95 | year: year, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `year` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | month: month, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `month` [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/types.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | day: day, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `day` [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/types.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | hour: hour, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hour` [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/types.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | minute: minute, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `minute` [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/types.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | second: second, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `second` [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/read.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | 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/read.rs:222:13 [INFO] [stderr] | [INFO] [stderr] 222 | files: files, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `files` [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/read.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | names_map: names_map, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `names_map` [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/read.rs:351:9 [INFO] [stderr] | [INFO] [stderr] 351 | encrypted: encrypted, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encrypted` [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/read.rs:354:9 [INFO] [stderr] | [INFO] [stderr] 354 | crc32: crc32, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `crc32` [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/read.rs:357:9 [INFO] [stderr] | [INFO] [stderr] 357 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [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/read.rs:358:9 [INFO] [stderr] | [INFO] [stderr] 358 | file_name_raw: file_name_raw, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name_raw` [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/read.rs:359:9 [INFO] [stderr] | [INFO] [stderr] 359 | file_comment: file_comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_comment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/read.rs:592:9 [INFO] [stderr] | [INFO] [stderr] 592 | encrypted: encrypted, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encrypted` [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/read.rs:593:9 [INFO] [stderr] | [INFO] [stderr] 593 | compression_method: compression_method, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `compression_method` [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/read.rs:595:9 [INFO] [stderr] | [INFO] [stderr] 595 | crc32: crc32, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `crc32` [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/read.rs:598:9 [INFO] [stderr] | [INFO] [stderr] 598 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [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/read.rs:599:9 [INFO] [stderr] | [INFO] [stderr] 599 | file_name_raw: file_name_raw, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name_raw` [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/write.rs:203:17 [INFO] [stderr] | [INFO] [stderr] 203 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [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/write.rs:204:17 [INFO] [stderr] | [INFO] [stderr] 204 | file_name_raw: file_name_raw, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name_raw` [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/write.rs:206:17 [INFO] [stderr] | [INFO] [stderr] 206 | header_start: header_start, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `header_start` [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/spec.rs:43:16 [INFO] [stderr] | [INFO] [stderr] 43 | disk_number: disk_number, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_number` [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/spec.rs:44:16 [INFO] [stderr] | [INFO] [stderr] 44 | disk_with_central_directory: disk_with_central_directory, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_with_central_directory` [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/spec.rs:45:16 [INFO] [stderr] | [INFO] [stderr] 45 | number_of_files_on_this_disk: number_of_files_on_this_disk, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `number_of_files_on_this_disk` [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/spec.rs:46:16 [INFO] [stderr] | [INFO] [stderr] 46 | number_of_files: number_of_files, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `number_of_files` [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/spec.rs:47:16 [INFO] [stderr] | [INFO] [stderr] 47 | central_directory_size: central_directory_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `central_directory_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/spec.rs:48:16 [INFO] [stderr] | [INFO] [stderr] 48 | central_directory_offset: central_directory_offset, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `central_directory_offset` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/spec.rs:49:16 [INFO] [stderr] | [INFO] [stderr] 49 | zip_file_comment: zip_file_comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `zip_file_comment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/spec.rs:124:16 [INFO] [stderr] | [INFO] [stderr] 124 | disk_with_central_directory: disk_with_central_directory, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_with_central_directory` [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/spec.rs:125:16 [INFO] [stderr] | [INFO] [stderr] 125 | end_of_central_directory_offset: end_of_central_directory_offset, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `end_of_central_directory_offset` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/spec.rs:126:16 [INFO] [stderr] | [INFO] [stderr] 126 | number_of_disks: number_of_disks, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `number_of_disks` [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/spec.rs:174:31 [INFO] [stderr] | [INFO] [stderr] 174 | version_made_by: version_made_by, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `version_made_by` [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/spec.rs:175:31 [INFO] [stderr] | [INFO] [stderr] 175 | version_needed_to_extract: version_needed_to_extract, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `version_needed_to_extract` [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/spec.rs:176:31 [INFO] [stderr] | [INFO] [stderr] 176 | disk_number: disk_number, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_number` [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/spec.rs:177:31 [INFO] [stderr] | [INFO] [stderr] 177 | disk_with_central_directory: disk_with_central_directory, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `disk_with_central_directory` [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/spec.rs:178:31 [INFO] [stderr] | [INFO] [stderr] 178 | number_of_files_on_this_disk: number_of_files_on_this_disk, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `number_of_files_on_this_disk` [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/spec.rs:179:31 [INFO] [stderr] | [INFO] [stderr] 179 | number_of_files: number_of_files, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `number_of_files` [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/spec.rs:180:31 [INFO] [stderr] | [INFO] [stderr] 180 | central_directory_size: central_directory_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `central_directory_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/spec.rs:181:31 [INFO] [stderr] | [INFO] [stderr] 181 | central_directory_offset: central_directory_offset, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `central_directory_offset` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/crc32.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | 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/types.rs:95:17 [INFO] [stderr] | [INFO] [stderr] 95 | year: year, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `year` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/types.rs:96:17 [INFO] [stderr] | [INFO] [stderr] 96 | month: month, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `month` [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/types.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | day: day, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `day` [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/types.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | hour: hour, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hour` [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/types.rs:99:17 [INFO] [stderr] | [INFO] [stderr] 99 | minute: minute, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `minute` [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/types.rs:100:17 [INFO] [stderr] | [INFO] [stderr] 100 | second: second, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `second` [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/read.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | 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/read.rs:222:13 [INFO] [stderr] | [INFO] [stderr] 222 | files: files, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `files` [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/read.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | names_map: names_map, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `names_map` [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/read.rs:351:9 [INFO] [stderr] | [INFO] [stderr] 351 | encrypted: encrypted, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encrypted` [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/read.rs:354:9 [INFO] [stderr] | [INFO] [stderr] 354 | crc32: crc32, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `crc32` [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/read.rs:357:9 [INFO] [stderr] | [INFO] [stderr] 357 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [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/read.rs:358:9 [INFO] [stderr] | [INFO] [stderr] 358 | file_name_raw: file_name_raw, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name_raw` [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/read.rs:359:9 [INFO] [stderr] | [INFO] [stderr] 359 | file_comment: file_comment, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_comment` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/read.rs:592:9 [INFO] [stderr] | [INFO] [stderr] 592 | encrypted: encrypted, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `encrypted` [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/read.rs:593:9 [INFO] [stderr] | [INFO] [stderr] 593 | compression_method: compression_method, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `compression_method` [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/read.rs:595:9 [INFO] [stderr] | [INFO] [stderr] 595 | crc32: crc32, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `crc32` [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/read.rs:598:9 [INFO] [stderr] | [INFO] [stderr] 598 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [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/read.rs:599:9 [INFO] [stderr] | [INFO] [stderr] 599 | file_name_raw: file_name_raw, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name_raw` [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/write.rs:203:17 [INFO] [stderr] | [INFO] [stderr] 203 | file_name: file_name, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name` [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/write.rs:204:17 [INFO] [stderr] | [INFO] [stderr] 204 | file_name_raw: file_name_raw, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `file_name_raw` [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/write.rs:206:17 [INFO] [stderr] | [INFO] [stderr] 206 | header_start: header_start, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `header_start` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/spec.rs:6:47 [INFO] [stderr] | [INFO] [stderr] 6 | pub const LOCAL_FILE_HEADER_SIGNATURE : u32 = 0x04034b50; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0403_4b50` [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/spec.rs:7:54 [INFO] [stderr] | [INFO] [stderr] 7 | pub const CENTRAL_DIRECTORY_HEADER_SIGNATURE : u32 = 0x02014b50; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0201_4b50` [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/spec.rs:8:47 [INFO] [stderr] | [INFO] [stderr] 8 | const CENTRAL_DIRECTORY_END_SIGNATURE : u32 = 0x06054b50; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0605_4b50` [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/spec.rs:9:57 [INFO] [stderr] | [INFO] [stderr] 9 | pub const ZIP64_CENTRAL_DIRECTORY_END_SIGNATURE : u32 = 0x06064b50; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0606_4b50` [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/spec.rs:10:61 [INFO] [stderr] | [INFO] [stderr] 10 | const ZIP64_CENTRAL_DIRECTORY_END_LOCATOR_SIGNATURE : u32 = 0x07064b50; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0706_4b50` [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/types.rs:60:35 [INFO] [stderr] | [INFO] [stderr] 60 | let seconds = (timepart & 0b0000000000011111) << 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0001_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/types.rs:61:35 [INFO] [stderr] | [INFO] [stderr] 61 | let minutes = (timepart & 0b0000011111100000) >> 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0111_1110_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types.rs:62:35 [INFO] [stderr] | [INFO] [stderr] 62 | let hours = (timepart & 0b1111100000000000) >> 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b1111_1000_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types.rs:63:35 [INFO] [stderr] | [INFO] [stderr] 63 | let days = (datepart & 0b0000000000011111) >> 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0001_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/types.rs:64:35 [INFO] [stderr] | [INFO] [stderr] 64 | let months = (datepart & 0b0000000111100000) >> 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0001_1110_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types.rs:65:35 [INFO] [stderr] | [INFO] [stderr] 65 | let years = (datepart & 0b1111111000000000) >> 9; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b1111_1110_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/read.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | pub const S_IFDIR: u32 = 0o0040000; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0o0_040_000` [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/read.rs:24:30 [INFO] [stderr] | [INFO] [stderr] 24 | pub const S_IFREG: u32 = 0o0100000; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0o0_100_000` [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/read.rs:159:17 [INFO] [stderr] | [INFO] [stderr] 159 | return Ok((archive_offset, directory_start, number_of_files)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((archive_offset, directory_start, number_of_files))` [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: long literal lacking separators [INFO] [stderr] --> src/read.rs:389:46 [INFO] [stderr] | [INFO] [stderr] 389 | if file.uncompressed_size == 0xFFFFFFFF { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/read.rs:393:44 [INFO] [stderr] | [INFO] [stderr] 393 | if file.compressed_size == 0xFFFFFFFF { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/read.rs:397:41 [INFO] [stderr] | [INFO] [stderr] 397 | if file.header_start == 0xFFFFFFFF { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/write.rs:190:61 [INFO] [stderr] | [INFO] [stderr] 190 | let permissions = options.permissions.unwrap_or(0o100644); [INFO] [stderr] | ^^^^^^^^ help: consider: `0o100_644` [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/write.rs:257:51 [INFO] [stderr] | [INFO] [stderr] 257 | *options.permissions.as_mut().unwrap() |= 0o100000; [INFO] [stderr] | ^^^^^^^^ help: consider: `0o100_000` [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/spec.rs:6:47 [INFO] [stderr] | [INFO] [stderr] 6 | pub const LOCAL_FILE_HEADER_SIGNATURE : u32 = 0x04034b50; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0403_4b50` [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/spec.rs:7:54 [INFO] [stderr] | [INFO] [stderr] 7 | pub const CENTRAL_DIRECTORY_HEADER_SIGNATURE : u32 = 0x02014b50; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0201_4b50` [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/spec.rs:8:47 [INFO] [stderr] | [INFO] [stderr] 8 | const CENTRAL_DIRECTORY_END_SIGNATURE : u32 = 0x06054b50; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0605_4b50` [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/spec.rs:9:57 [INFO] [stderr] | [INFO] [stderr] 9 | pub const ZIP64_CENTRAL_DIRECTORY_END_SIGNATURE : u32 = 0x06064b50; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0606_4b50` [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/spec.rs:10:61 [INFO] [stderr] | [INFO] [stderr] 10 | const ZIP64_CENTRAL_DIRECTORY_END_LOCATOR_SIGNATURE : u32 = 0x07064b50; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0706_4b50` [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/types.rs:60:35 [INFO] [stderr] | [INFO] [stderr] 60 | let seconds = (timepart & 0b0000000000011111) << 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0001_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/types.rs:61:35 [INFO] [stderr] | [INFO] [stderr] 61 | let minutes = (timepart & 0b0000011111100000) >> 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0111_1110_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types.rs:62:35 [INFO] [stderr] | [INFO] [stderr] 62 | let hours = (timepart & 0b1111100000000000) >> 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b1111_1000_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types.rs:63:35 [INFO] [stderr] | [INFO] [stderr] 63 | let days = (datepart & 0b0000000000011111) >> 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0001_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/types.rs:64:35 [INFO] [stderr] | [INFO] [stderr] 64 | let months = (datepart & 0b0000000111100000) >> 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0001_1110_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types.rs:65:35 [INFO] [stderr] | [INFO] [stderr] 65 | let years = (datepart & 0b1111111000000000) >> 9; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0b1111_1110_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/types.rs:306:35 [INFO] [stderr] | [INFO] [stderr] 306 | assert_eq!(dt.datepart(), 0b0000000_0001_00001); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0010_0001` [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/types.rs:313:35 [INFO] [stderr] | [INFO] [stderr] 313 | assert_eq!(dt.timepart(), 0b10111_111011_11110); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider: `0b1011_1111_0111_1110` [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/types.rs:314:35 [INFO] [stderr] | [INFO] [stderr] 314 | assert_eq!(dt.datepart(), 0b1111111_1100_11111); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: consider: `0b1111_1111_1001_1111` [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: long literal lacking separators [INFO] [stderr] --> src/read.rs:23:30 [INFO] [stderr] | [INFO] [stderr] 23 | pub const S_IFDIR: u32 = 0o0040000; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0o0_040_000` [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/read.rs:24:30 [INFO] [stderr] | [INFO] [stderr] 24 | pub const S_IFREG: u32 = 0o0100000; [INFO] [stderr] | ^^^^^^^^^ help: consider: `0o0_100_000` [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/read.rs:159:17 [INFO] [stderr] | [INFO] [stderr] 159 | return Ok((archive_offset, directory_start, number_of_files)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((archive_offset, directory_start, number_of_files))` [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: long literal lacking separators [INFO] [stderr] --> src/read.rs:389:46 [INFO] [stderr] | [INFO] [stderr] 389 | if file.uncompressed_size == 0xFFFFFFFF { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/read.rs:393:44 [INFO] [stderr] | [INFO] [stderr] 393 | if file.compressed_size == 0xFFFFFFFF { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/read.rs:397:41 [INFO] [stderr] | [INFO] [stderr] 397 | if file.header_start == 0xFFFFFFFF { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xFFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/write.rs:190:61 [INFO] [stderr] | [INFO] [stderr] 190 | let permissions = options.permissions.unwrap_or(0o100644); [INFO] [stderr] | ^^^^^^^^ help: consider: `0o100_644` [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/write.rs:257:51 [INFO] [stderr] | [INFO] [stderr] 257 | *options.permissions.as_mut().unwrap() |= 0o100000; [INFO] [stderr] | ^^^^^^^^ help: consider: `0o100_000` [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: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/spec.rs:59:72 [INFO] [stderr] | [INFO] [stderr] 59 | let search_upper_bound = file_length.checked_sub(HEADER_SIZE + ::std::u16::MAX as u64).unwrap_or(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(::std::u16::MAX)` [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 u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/spec.rs:72:38 [INFO] [stderr] | [INFO] [stderr] 72 | let comment_length = reader.read_u16::()? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(reader.read_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: the operation is ineffective. Consider reducing it to `(datepart & 0b0000000000011111)` [INFO] [stderr] --> src/types.rs:63:23 [INFO] [stderr] | [INFO] [stderr] 63 | let days = (datepart & 0b0000000000011111) >> 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:135:21 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn timepart(&self) -> u16 { [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:136:10 [INFO] [stderr] | [INFO] [stderr] 136 | ((self.second as u16) >> 1) | ((self.minute as u16) << 5) | ((self.hour as u16) << 11) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.second)` [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/types.rs:136:40 [INFO] [stderr] | [INFO] [stderr] 136 | ((self.second as u16) >> 1) | ((self.minute as u16) << 5) | ((self.hour as u16) << 11) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.minute)` [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/types.rs:136:70 [INFO] [stderr] | [INFO] [stderr] 136 | ((self.second as u16) >> 1) | ((self.minute as u16) << 5) | ((self.hour as u16) << 11) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.hour)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:140:21 [INFO] [stderr] | [INFO] [stderr] 140 | pub fn datepart(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | (self.day as u16) | ((self.month as u16) << 5) | ((self.year - 1980) << 9) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.day)` [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/types.rs:141:30 [INFO] [stderr] | [INFO] [stderr] 141 | (self.day as u16) | ((self.month as u16) << 5) | ((self.year - 1980) << 9) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.month)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:148:20 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn to_time(&self) -> ::time::Tm { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:150:21 [INFO] [stderr] | [INFO] [stderr] 150 | tm_sec: self.second as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.second)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:151:21 [INFO] [stderr] | [INFO] [stderr] 151 | tm_min: self.minute as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.minute)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:152:22 [INFO] [stderr] | [INFO] [stderr] 152 | tm_hour: self.hour as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(self.hour)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:153:22 [INFO] [stderr] | [INFO] [stderr] 153 | tm_mday: self.day as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i32::from(self.day)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:154:21 [INFO] [stderr] | [INFO] [stderr] 154 | tm_mon: self.month as i32 - 1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.month)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:155:22 [INFO] [stderr] | [INFO] [stderr] 155 | tm_year: self.year as i32 - 1900, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(self.year)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:162:17 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn year(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:167:18 [INFO] [stderr] | [INFO] [stderr] 167 | pub fn month(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:172:16 [INFO] [stderr] | [INFO] [stderr] 172 | pub fn day(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:177:17 [INFO] [stderr] | [INFO] [stderr] 177 | pub fn hour(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:182:19 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn minute(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:187:19 [INFO] [stderr] | [INFO] [stderr] 187 | pub fn second(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: item `read::ZipArchive` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/read.rs:117:1 [INFO] [stderr] | [INFO] [stderr] 117 | / impl ZipArchive [INFO] [stderr] 118 | | { [INFO] [stderr] 119 | | /// Get the directory start offset and number of files. This is done in a [INFO] [stderr] 120 | | /// separate function to ease the control flow design. [INFO] [stderr] ... | [INFO] [stderr] 301 | | } [INFO] [stderr] 302 | | } [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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:153:64 [INFO] [stderr] | [INFO] [stderr] 153 | let archive_offset = cde_start_pos.checked_sub(footer.central_directory_size as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(footer.central_directory_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/read.rs:154:49 [INFO] [stderr] | [INFO] [stderr] 154 | .and_then(|x| x.checked_sub(footer.central_directory_offset as u64)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(footer.central_directory_offset)` [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/read.rs:157:39 [INFO] [stderr] | [INFO] [stderr] 157 | let directory_start = footer.central_directory_offset as u64 + archive_offset; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(footer.central_directory_offset)` [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/read.rs:164:20 [INFO] [stderr] | [INFO] [stderr] 164 | if footer.disk_number as u32 != locator64.disk_with_central_directory { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(footer.disk_number)` [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/read.rs:209:16 [INFO] [stderr] | [INFO] [stderr] 209 | if let Err(_) = reader.seek(io::SeekFrom::Start(directory_start)) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 210 | | return Err(ZipError::InvalidArchive("Could not seek to start of central directory")); [INFO] [stderr] 211 | | } [INFO] [stderr] | |_________- help: try this: `if reader.seek(io::SeekFrom::Start(directory_start)).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/read.rs:268:13 [INFO] [stderr] | [INFO] [stderr] 268 | let ref mut data = self.files[file_number]; [INFO] [stderr] | ----^^^^^^^^^^^^--------------------------- help: try: `let data = &mut self.files[file_number];` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:284:32 [INFO] [stderr] | [INFO] [stderr] 284 | let file_name_length = self.reader.read_u16::()? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.reader.read_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 u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:285:34 [INFO] [stderr] | [INFO] [stderr] 285 | let extra_field_length = self.reader.read_u16::()? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.reader.read_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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:330:18 [INFO] [stderr] | [INFO] [stderr] 330 | let offset = reader.read_u32::()? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(reader.read_u32::()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/read.rs:335:21 [INFO] [stderr] | [INFO] [stderr] 335 | let file_name = match is_utf8 [INFO] [stderr] | _____________________^ [INFO] [stderr] 336 | | { [INFO] [stderr] 337 | | true => String::from_utf8_lossy(&*file_name_raw).into_owned(), [INFO] [stderr] 338 | | false => file_name_raw.clone().from_cp437(), [INFO] [stderr] 339 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_utf8 { String::from_utf8_lossy(&*file_name_raw).into_owned() } else { file_name_raw.clone().from_cp437() }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/read.rs:340:24 [INFO] [stderr] | [INFO] [stderr] 340 | let file_comment = match is_utf8 [INFO] [stderr] | ________________________^ [INFO] [stderr] 341 | | { [INFO] [stderr] 342 | | true => String::from_utf8_lossy(&*file_comment_raw).into_owned(), [INFO] [stderr] 343 | | false => file_comment_raw.from_cp437(), [INFO] [stderr] 344 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_utf8 { String::from_utf8_lossy(&*file_comment_raw).into_owned() } else { file_comment_raw.from_cp437() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:355:26 [INFO] [stderr] | [INFO] [stderr] 355 | compressed_size: compressed_size as u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(compressed_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/read.rs:356:28 [INFO] [stderr] | [INFO] [stderr] 356 | uncompressed_size: uncompressed_size as u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(uncompressed_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 u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:384:28 [INFO] [stderr] | [INFO] [stderr] 384 | let mut len_left = len as i64; [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/read.rs:385:9 [INFO] [stderr] | [INFO] [stderr] 385 | / match kind [INFO] [stderr] 386 | | { [INFO] [stderr] 387 | | // Zip64 extended information extra field [INFO] [stderr] 388 | | 0x0001 => { [INFO] [stderr] ... | [INFO] [stderr] 404 | | _ => {}, [INFO] [stderr] 405 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 385 | if let 0x0001 = kind { [INFO] [stderr] 386 | if file.uncompressed_size == 0xFFFFFFFF { [INFO] [stderr] 387 | file.uncompressed_size = reader.read_u64::()?; [INFO] [stderr] 388 | len_left -= 8; [INFO] [stderr] 389 | } [INFO] [stderr] 390 | if file.compressed_size == 0xFFFFFFFF { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/read.rs:582:21 [INFO] [stderr] | [INFO] [stderr] 582 | let file_name = match is_utf8 [INFO] [stderr] | _____________________^ [INFO] [stderr] 583 | | { [INFO] [stderr] 584 | | true => String::from_utf8_lossy(&*file_name_raw).into_owned(), [INFO] [stderr] 585 | | false => file_name_raw.clone().from_cp437(), [INFO] [stderr] 586 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_utf8 { String::from_utf8_lossy(&*file_name_raw).into_owned() } else { file_name_raw.clone().from_cp437() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:596:26 [INFO] [stderr] | [INFO] [stderr] 596 | compressed_size: compressed_size as u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(compressed_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/read.rs:597:28 [INFO] [stderr] | [INFO] [stderr] 597 | uncompressed_size: uncompressed_size as u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(uncompressed_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: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/write.rs:90:63 [INFO] [stderr] | [INFO] [stderr] 90 | #[cfg(feature = "time")] last_modified_time: DateTime::from_time(time::now()).unwrap_or(DateTime::default()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `DateTime::from_time(time::now()).unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/write.rs:474:55 [INFO] [stderr] | [INFO] [stderr] 474 | let version_made_by = (file.system as u16) << 8 | (file.version_made_by as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(file.version_made_by)` [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: redundant closure found [INFO] [stderr] --> src/cp437.rs:35:34 [INFO] [stderr] | [INFO] [stderr] 35 | self.into_iter().map(|c| to_char(c)).collect() [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove closure as shown: `to_char` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cp437.rs:44:26 [INFO] [stderr] | [INFO] [stderr] 44 | 0x00 ... 0x7f => input as u32, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(input)` [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/spec.rs:59:72 [INFO] [stderr] | [INFO] [stderr] 59 | let search_upper_bound = file_length.checked_sub(HEADER_SIZE + ::std::u16::MAX as u64).unwrap_or(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(::std::u16::MAX)` [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 u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/spec.rs:72:38 [INFO] [stderr] | [INFO] [stderr] 72 | let comment_length = reader.read_u16::()? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(reader.read_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: the operation is ineffective. Consider reducing it to `(datepart & 0b0000000000011111)` [INFO] [stderr] --> src/types.rs:63:23 [INFO] [stderr] | [INFO] [stderr] 63 | let days = (datepart & 0b0000000000011111) >> 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:135:21 [INFO] [stderr] | [INFO] [stderr] 135 | pub fn timepart(&self) -> u16 { [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:136:10 [INFO] [stderr] | [INFO] [stderr] 136 | ((self.second as u16) >> 1) | ((self.minute as u16) << 5) | ((self.hour as u16) << 11) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.second)` [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/types.rs:136:40 [INFO] [stderr] | [INFO] [stderr] 136 | ((self.second as u16) >> 1) | ((self.minute as u16) << 5) | ((self.hour as u16) << 11) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.minute)` [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/types.rs:136:70 [INFO] [stderr] | [INFO] [stderr] 136 | ((self.second as u16) >> 1) | ((self.minute as u16) << 5) | ((self.hour as u16) << 11) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.hour)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:140:21 [INFO] [stderr] | [INFO] [stderr] 140 | pub fn datepart(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | (self.day as u16) | ((self.month as u16) << 5) | ((self.year - 1980) << 9) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.day)` [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/types.rs:141:30 [INFO] [stderr] | [INFO] [stderr] 141 | (self.day as u16) | ((self.month as u16) << 5) | ((self.year - 1980) << 9) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.month)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:148:20 [INFO] [stderr] | [INFO] [stderr] 148 | pub fn to_time(&self) -> ::time::Tm { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:150:21 [INFO] [stderr] | [INFO] [stderr] 150 | tm_sec: self.second as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.second)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:151:21 [INFO] [stderr] | [INFO] [stderr] 151 | tm_min: self.minute as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.minute)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:152:22 [INFO] [stderr] | [INFO] [stderr] 152 | tm_hour: self.hour as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(self.hour)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:153:22 [INFO] [stderr] | [INFO] [stderr] 153 | tm_mday: self.day as i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i32::from(self.day)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:154:21 [INFO] [stderr] | [INFO] [stderr] 154 | tm_mon: self.month as i32 - 1, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.month)` [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 i32 may become silently lossy if types change [INFO] [stderr] --> src/types.rs:155:22 [INFO] [stderr] | [INFO] [stderr] 155 | tm_year: self.year as i32 - 1900, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `i32::from(self.year)` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:162:17 [INFO] [stderr] | [INFO] [stderr] 162 | pub fn year(&self) -> u16 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:167:18 [INFO] [stderr] | [INFO] [stderr] 167 | pub fn month(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:172:16 [INFO] [stderr] | [INFO] [stderr] 172 | pub fn day(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:177:17 [INFO] [stderr] | [INFO] [stderr] 177 | pub fn hour(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:182:19 [INFO] [stderr] | [INFO] [stderr] 182 | pub fn minute(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/types.rs:187:19 [INFO] [stderr] | [INFO] [stderr] 187 | pub fn second(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [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: item `read::ZipArchive` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/read.rs:117:1 [INFO] [stderr] | [INFO] [stderr] 117 | / impl ZipArchive [INFO] [stderr] 118 | | { [INFO] [stderr] 119 | | /// Get the directory start offset and number of files. This is done in a [INFO] [stderr] 120 | | /// separate function to ease the control flow design. [INFO] [stderr] ... | [INFO] [stderr] 301 | | } [INFO] [stderr] 302 | | } [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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:153:64 [INFO] [stderr] | [INFO] [stderr] 153 | let archive_offset = cde_start_pos.checked_sub(footer.central_directory_size as u64) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(footer.central_directory_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/read.rs:154:49 [INFO] [stderr] | [INFO] [stderr] 154 | .and_then(|x| x.checked_sub(footer.central_directory_offset as u64)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(footer.central_directory_offset)` [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/read.rs:157:39 [INFO] [stderr] | [INFO] [stderr] 157 | let directory_start = footer.central_directory_offset as u64 + archive_offset; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(footer.central_directory_offset)` [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/read.rs:164:20 [INFO] [stderr] | [INFO] [stderr] 164 | if footer.disk_number as u32 != locator64.disk_with_central_directory { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(footer.disk_number)` [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: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/read.rs:209:16 [INFO] [stderr] | [INFO] [stderr] 209 | if let Err(_) = reader.seek(io::SeekFrom::Start(directory_start)) { [INFO] [stderr] | _________- ^^^^^^ [INFO] [stderr] 210 | | return Err(ZipError::InvalidArchive("Could not seek to start of central directory")); [INFO] [stderr] 211 | | } [INFO] [stderr] | |_________- help: try this: `if reader.seek(io::SeekFrom::Start(directory_start)).is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/read.rs:268:13 [INFO] [stderr] | [INFO] [stderr] 268 | let ref mut data = self.files[file_number]; [INFO] [stderr] | ----^^^^^^^^^^^^--------------------------- help: try: `let data = &mut self.files[file_number];` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:284:32 [INFO] [stderr] | [INFO] [stderr] 284 | let file_name_length = self.reader.read_u16::()? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.reader.read_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 u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:285:34 [INFO] [stderr] | [INFO] [stderr] 285 | let extra_field_length = self.reader.read_u16::()? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.reader.read_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 u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:330:18 [INFO] [stderr] | [INFO] [stderr] 330 | let offset = reader.read_u32::()? as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(reader.read_u32::()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/read.rs:335:21 [INFO] [stderr] | [INFO] [stderr] 335 | let file_name = match is_utf8 [INFO] [stderr] | _____________________^ [INFO] [stderr] 336 | | { [INFO] [stderr] 337 | | true => String::from_utf8_lossy(&*file_name_raw).into_owned(), [INFO] [stderr] 338 | | false => file_name_raw.clone().from_cp437(), [INFO] [stderr] 339 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_utf8 { String::from_utf8_lossy(&*file_name_raw).into_owned() } else { file_name_raw.clone().from_cp437() }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/read.rs:340:24 [INFO] [stderr] | [INFO] [stderr] 340 | let file_comment = match is_utf8 [INFO] [stderr] | ________________________^ [INFO] [stderr] 341 | | { [INFO] [stderr] 342 | | true => String::from_utf8_lossy(&*file_comment_raw).into_owned(), [INFO] [stderr] 343 | | false => file_comment_raw.from_cp437(), [INFO] [stderr] 344 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_utf8 { String::from_utf8_lossy(&*file_comment_raw).into_owned() } else { file_comment_raw.from_cp437() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:355:26 [INFO] [stderr] | [INFO] [stderr] 355 | compressed_size: compressed_size as u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(compressed_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/read.rs:356:28 [INFO] [stderr] | [INFO] [stderr] 356 | uncompressed_size: uncompressed_size as u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(uncompressed_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 u16 to i64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:384:28 [INFO] [stderr] | [INFO] [stderr] 384 | let mut len_left = len as i64; [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(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 seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/read.rs:385:9 [INFO] [stderr] | [INFO] [stderr] 385 | / match kind [INFO] [stderr] 386 | | { [INFO] [stderr] 387 | | // Zip64 extended information extra field [INFO] [stderr] 388 | | 0x0001 => { [INFO] [stderr] ... | [INFO] [stderr] 404 | | _ => {}, [INFO] [stderr] 405 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 385 | if let 0x0001 = kind { [INFO] [stderr] 386 | if file.uncompressed_size == 0xFFFFFFFF { [INFO] [stderr] 387 | file.uncompressed_size = reader.read_u64::()?; [INFO] [stderr] 388 | len_left -= 8; [INFO] [stderr] 389 | } [INFO] [stderr] 390 | if file.compressed_size == 0xFFFFFFFF { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/read.rs:582:21 [INFO] [stderr] | [INFO] [stderr] 582 | let file_name = match is_utf8 [INFO] [stderr] | _____________________^ [INFO] [stderr] 583 | | { [INFO] [stderr] 584 | | true => String::from_utf8_lossy(&*file_name_raw).into_owned(), [INFO] [stderr] 585 | | false => file_name_raw.clone().from_cp437(), [INFO] [stderr] 586 | | }; [INFO] [stderr] | |_____^ help: consider using an if/else expression: `if is_utf8 { String::from_utf8_lossy(&*file_name_raw).into_owned() } else { file_name_raw.clone().from_cp437() }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/read.rs:596:26 [INFO] [stderr] | [INFO] [stderr] 596 | compressed_size: compressed_size as u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(compressed_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/read.rs:597:28 [INFO] [stderr] | [INFO] [stderr] 597 | uncompressed_size: uncompressed_size as u64, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(uncompressed_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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/read.rs:677:13 [INFO] [stderr] | [INFO] [stderr] 677 | / match read_zipfile_from_stream(&mut reader).unwrap() { [INFO] [stderr] 678 | | None => break, [INFO] [stderr] 679 | | _ => (), [INFO] [stderr] 680 | | } [INFO] [stderr] | |_____________^ help: try this: `if let None = read_zipfile_from_stream(&mut reader).unwrap() { break }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/read.rs:705:9 [INFO] [stderr] | [INFO] [stderr] 705 | file1.read(&mut buf1).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/read.rs:706:9 [INFO] [stderr] | [INFO] [stderr] 706 | file2.read(&mut buf2).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/read.rs:707:9 [INFO] [stderr] | [INFO] [stderr] 707 | file1.read(&mut buf3).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/read.rs:708:9 [INFO] [stderr] | [INFO] [stderr] 708 | file2.read(&mut buf4).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/compression.rs:60:18 [INFO] [stderr] | [INFO] [stderr] 60 | for v in 0..(::std::u16::MAX as u32 + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=::std::u16::MAX as u32` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/compression.rs:60:22 [INFO] [stderr] | [INFO] [stderr] 60 | for v in 0..(::std::u16::MAX as u32 + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(::std::u16::MAX)` [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/compression.rs:63:22 [INFO] [stderr] | [INFO] [stderr] 63 | let to = from.to_u16() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(from.to_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: use of `unwrap_or` followed by a call to `default` [INFO] [stderr] --> src/write.rs:90:63 [INFO] [stderr] | [INFO] [stderr] 90 | #[cfg(feature = "time")] last_modified_time: DateTime::from_time(time::now()).unwrap_or(DateTime::default()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `DateTime::from_time(time::now()).unwrap_or_default()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/write.rs:474:55 [INFO] [stderr] | [INFO] [stderr] 474 | let version_made_by = (file.system as u16) << 8 | (file.version_made_by as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(file.version_made_by)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/write.rs:566:9 [INFO] [stderr] | [INFO] [stderr] 566 | writer.write(b"application/vnd.oasis.opendocument.text").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/cp437.rs:35:34 [INFO] [stderr] | [INFO] [stderr] 35 | self.into_iter().map(|c| to_char(c)).collect() [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove closure as shown: `to_char` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/cp437.rs:44:26 [INFO] [stderr] | [INFO] [stderr] 44 | 0x00 ... 0x7f => input as u32, [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(input)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `zip`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> examples/extract_lorem.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [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] --> examples/file_info.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [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] --> examples/stdin_info.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [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] --> examples/write_dir.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> tests/end_to_end.rs:48:22 [INFO] [stderr] | [INFO] [stderr] 48 | const LOREM_IPSUM : &'static [u8] = b"Lorem ipsum dolor sit amet, consectetur adipiscing elit. In tellus elit, tristique vitae mattis egestas, ultricies vitae risus. Quisque sit amet quam ut urna aliquet [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "ba04ddfaf253566ea6aab95cfea046aea1574514680f94d00c256d0ddfe56762"` [INFO] running `"docker" "rm" "-f" "ba04ddfaf253566ea6aab95cfea046aea1574514680f94d00c256d0ddfe56762"` [INFO] [stdout] ba04ddfaf253566ea6aab95cfea046aea1574514680f94d00c256d0ddfe56762