[INFO] crate msi 0.2.0 is already in cache [INFO] extracting crate msi 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/msi/0.2.0 [INFO] extracting crate msi 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/msi/0.2.0 [INFO] validating manifest of msi-0.2.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 msi-0.2.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 msi-0.2.0 [INFO] finished frobbing msi-0.2.0 [INFO] frobbed toml for msi-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/msi/0.2.0/Cargo.toml [INFO] started frobbing msi-0.2.0 [INFO] finished frobbing msi-0.2.0 [INFO] frobbed toml for msi-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/msi/0.2.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 msi-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/msi/0.2.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] 3dff70badec1889b74c1985c6cd691b26dde5cbd67e9870c781fea095b0c351d [INFO] running `"docker" "start" "-a" "3dff70badec1889b74c1985c6cd691b26dde5cbd67e9870c781fea095b0c351d"` [INFO] [stderr] Checking cfb v0.3.1 [INFO] [stderr] Checking msi v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/internal/column.rs:330:13 [INFO] [stderr] | [INFO] [stderr] 330 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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/internal/column.rs:421:13 [INFO] [stderr] | [INFO] [stderr] 421 | coltype: coltype, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `coltype` [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/internal/language.rs:37:58 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn from_code(code: u16) -> Language { Language { code: code } } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [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/internal/package.rs:427:16 [INFO] [stderr] | [INFO] [stderr] 427 | package_type: package_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `package_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/internal/package.rs:428:16 [INFO] [stderr] | [INFO] [stderr] 428 | summary_info: summary_info, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `summary_info` [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/internal/package.rs:430:16 [INFO] [stderr] | [INFO] [stderr] 430 | string_pool: string_pool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `string_pool` [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/internal/package.rs:478:13 [INFO] [stderr] | [INFO] [stderr] 478 | package_type: package_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `package_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/internal/package.rs:479:13 [INFO] [stderr] | [INFO] [stderr] 479 | summary_info: summary_info, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `summary_info` [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/internal/package.rs:481:13 [INFO] [stderr] | [INFO] [stderr] 481 | string_pool: string_pool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `string_pool` [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/internal/package.rs:482:13 [INFO] [stderr] | [INFO] [stderr] 482 | tables: tables, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `tables` [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/internal/propset.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | os: os, [INFO] [stderr] | ^^^^^^ help: replace it with: `os` [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/internal/propset.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | os_version: os_version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `os_version` [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/internal/propset.rs:196:13 [INFO] [stderr] | [INFO] [stderr] 196 | fmtid: fmtid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `fmtid` [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/internal/propset.rs:291:16 [INFO] [stderr] | [INFO] [stderr] 291 | os: os, [INFO] [stderr] | ^^^^^^ help: replace it with: `os` [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/internal/propset.rs:292:16 [INFO] [stderr] | [INFO] [stderr] 292 | os_version: os_version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `os_version` [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/internal/propset.rs:293:16 [INFO] [stderr] | [INFO] [stderr] 293 | clsid: clsid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `clsid` [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/internal/propset.rs:294:16 [INFO] [stderr] | [INFO] [stderr] 294 | fmtid: fmtid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `fmtid` [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/internal/propset.rs:295:16 [INFO] [stderr] | [INFO] [stderr] 295 | codepage: codepage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `codepage` [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/internal/stream.rs:14:24 [INFO] [stderr] | [INFO] [stderr] 14 | StreamReader { stream: stream } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stream` [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/internal/stream.rs:39:24 [INFO] [stderr] | [INFO] [stderr] 39 | StreamWriter { stream: stream } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stream` [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/internal/stream.rs:68:19 [INFO] [stderr] | [INFO] [stderr] 68 | Streams { entries: entries } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `entries` [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/internal/stringpool.rs:114:16 [INFO] [stderr] | [INFO] [stderr] 114 | codepage: codepage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `codepage` [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/internal/stringpool.rs:115:16 [INFO] [stderr] | [INFO] [stderr] 115 | long_string_refs: long_string_refs, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `long_string_refs` [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/internal/stringpool.rs:116:16 [INFO] [stderr] | [INFO] [stderr] 116 | lengths_and_refcounts: lengths_and_refcounts, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lengths_and_refcounts` [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/internal/stringpool.rs:130:16 [INFO] [stderr] | [INFO] [stderr] 130 | strings: strings, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strings` [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/internal/stringpool.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | codepage: codepage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `codepage` [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/internal/summary.rs:39:41 [INFO] [stderr] | [INFO] [stderr] 39 | let mut summary = SummaryInfo { properties: properties }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `properties` [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/internal/summary.rs:49:26 [INFO] [stderr] | [INFO] [stderr] 49 | Ok(SummaryInfo { properties: properties }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `properties` [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/internal/table.rs:28:21 [INFO] [stderr] | [INFO] [stderr] 28 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `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/internal/table.rs:29:21 [INFO] [stderr] | [INFO] [stderr] 29 | columns: columns, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `columns` [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/internal/table.rs:30:21 [INFO] [stderr] | [INFO] [stderr] 30 | long_string_refs: long_string_refs, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `long_string_refs` [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/internal/table.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/internal/table.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | values: values, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `values` [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/internal/table.rs:213:13 [INFO] [stderr] | [INFO] [stderr] 213 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/internal/table.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | string_pool: string_pool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `string_pool` [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/internal/table.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | rows: rows, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rows` [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/internal/column.rs:330:13 [INFO] [stderr] | [INFO] [stderr] 330 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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/internal/column.rs:421:13 [INFO] [stderr] | [INFO] [stderr] 421 | coltype: coltype, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `coltype` [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/internal/language.rs:37:58 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn from_code(code: u16) -> Language { Language { code: code } } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `code` [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/internal/package.rs:427:16 [INFO] [stderr] | [INFO] [stderr] 427 | package_type: package_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `package_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/internal/package.rs:428:16 [INFO] [stderr] | [INFO] [stderr] 428 | summary_info: summary_info, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `summary_info` [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/internal/package.rs:430:16 [INFO] [stderr] | [INFO] [stderr] 430 | string_pool: string_pool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `string_pool` [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/internal/package.rs:478:13 [INFO] [stderr] | [INFO] [stderr] 478 | package_type: package_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `package_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/internal/package.rs:479:13 [INFO] [stderr] | [INFO] [stderr] 479 | summary_info: summary_info, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `summary_info` [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/internal/package.rs:481:13 [INFO] [stderr] | [INFO] [stderr] 481 | string_pool: string_pool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `string_pool` [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/internal/package.rs:482:13 [INFO] [stderr] | [INFO] [stderr] 482 | tables: tables, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `tables` [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/internal/propset.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | os: os, [INFO] [stderr] | ^^^^^^ help: replace it with: `os` [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/internal/propset.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | os_version: os_version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `os_version` [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/internal/propset.rs:196:13 [INFO] [stderr] | [INFO] [stderr] 196 | fmtid: fmtid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `fmtid` [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/internal/propset.rs:291:16 [INFO] [stderr] | [INFO] [stderr] 291 | os: os, [INFO] [stderr] | ^^^^^^ help: replace it with: `os` [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/internal/propset.rs:292:16 [INFO] [stderr] | [INFO] [stderr] 292 | os_version: os_version, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `os_version` [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/internal/propset.rs:293:16 [INFO] [stderr] | [INFO] [stderr] 293 | clsid: clsid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `clsid` [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/internal/propset.rs:294:16 [INFO] [stderr] | [INFO] [stderr] 294 | fmtid: fmtid, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `fmtid` [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/internal/propset.rs:295:16 [INFO] [stderr] | [INFO] [stderr] 295 | codepage: codepage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `codepage` [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/internal/stream.rs:14:24 [INFO] [stderr] | [INFO] [stderr] 14 | StreamReader { stream: stream } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stream` [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/internal/stream.rs:39:24 [INFO] [stderr] | [INFO] [stderr] 39 | StreamWriter { stream: stream } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stream` [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/internal/stream.rs:68:19 [INFO] [stderr] | [INFO] [stderr] 68 | Streams { entries: entries } [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `entries` [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/internal/stringpool.rs:114:16 [INFO] [stderr] | [INFO] [stderr] 114 | codepage: codepage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `codepage` [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/internal/stringpool.rs:115:16 [INFO] [stderr] | [INFO] [stderr] 115 | long_string_refs: long_string_refs, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `long_string_refs` [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/internal/stringpool.rs:116:16 [INFO] [stderr] | [INFO] [stderr] 116 | lengths_and_refcounts: lengths_and_refcounts, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `lengths_and_refcounts` [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/internal/stringpool.rs:130:16 [INFO] [stderr] | [INFO] [stderr] 130 | strings: strings, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strings` [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/internal/stringpool.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | codepage: codepage, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `codepage` [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/internal/summary.rs:39:41 [INFO] [stderr] | [INFO] [stderr] 39 | let mut summary = SummaryInfo { properties: properties }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `properties` [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/internal/summary.rs:49:26 [INFO] [stderr] | [INFO] [stderr] 49 | Ok(SummaryInfo { properties: properties }) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `properties` [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/internal/table.rs:28:21 [INFO] [stderr] | [INFO] [stderr] 28 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `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/internal/table.rs:29:21 [INFO] [stderr] | [INFO] [stderr] 29 | columns: columns, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `columns` [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/internal/table.rs:30:21 [INFO] [stderr] | [INFO] [stderr] 30 | long_string_refs: long_string_refs, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `long_string_refs` [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/internal/table.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/internal/table.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | values: values, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `values` [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/internal/table.rs:213:13 [INFO] [stderr] | [INFO] [stderr] 213 | table: table, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `table` [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/internal/table.rs:214:13 [INFO] [stderr] | [INFO] [stderr] 214 | string_pool: string_pool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `string_pool` [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/internal/table.rs:215:13 [INFO] [stderr] | [INFO] [stderr] 215 | rows: rows, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `rows` [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/internal/time.rs:26:38 [INFO] [stderr] | [INFO] [stderr] 26 | UNIX_EPOCH - Duration::from_secs(11644473600) [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `11_644_473_600` [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/internal/column.rs:488:34 [INFO] [stderr] | [INFO] [stderr] 488 | ValueRef::Int(0x1234567)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0x0123_4567` [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/internal/column.rs:538:39 [INFO] [stderr] | [INFO] [stderr] 538 | let value_ref = ValueRef::Int(0x1234567); [INFO] [stderr] | ^^^^^^^^^ help: consider: `0x0123_4567` [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/internal/propset.rs:392:38 [INFO] [stderr] | [INFO] [stderr] 392 | PropertyValue::I4(123456789)); [INFO] [stderr] | ^^^^^^^^^ help: consider: `123_456_789` [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/internal/propset.rs:400:33 [INFO] [stderr] | [INFO] [stderr] 400 | Duration::from_secs(1489862796); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_489_862_796` [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/internal/propset.rs:423:39 [INFO] [stderr] | [INFO] [stderr] 423 | let value = PropertyValue::I4(123456789); [INFO] [stderr] | ^^^^^^^^^ help: consider: `123_456_789` [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/internal/propset.rs:436:33 [INFO] [stderr] | [INFO] [stderr] 436 | Duration::from_secs(1489862796); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_489_862_796` [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/internal/propset.rs:453:32 [INFO] [stderr] | [INFO] [stderr] 453 | PropertyValue::I4(-123456789), [INFO] [stderr] | ^^^^^^^^^ help: consider: `123_456_789` [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/internal/propset.rs:454:31 [INFO] [stderr] | [INFO] [stderr] 454 | PropertyValue::I4(123456789), [INFO] [stderr] | ^^^^^^^^^ help: consider: `123_456_789` [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/internal/stringpool.rs:306:35 [INFO] [stderr] | [INFO] [stderr] 306 | Some(StringRef(0x123456))); [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0012_3456` [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/internal/stringpool.rs:324:54 [INFO] [stderr] | [INFO] [stderr] 324 | StringRef::write(&mut output, Some(StringRef(0x123456)), true) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0012_3456` [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/internal/time.rs:26:38 [INFO] [stderr] | [INFO] [stderr] 26 | UNIX_EPOCH - Duration::from_secs(11644473600) [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `11_644_473_600` [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/internal/time.rs:39:33 [INFO] [stderr] | [INFO] [stderr] 39 | Duration::from_secs(1489862796); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_489_862_796` [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/internal/time.rs:40:46 [INFO] [stderr] | [INFO] [stderr] 40 | assert_eq!(system_time_from_filetime(131343363960000000), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `131_343_363_960_000_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/internal/time.rs:47:33 [INFO] [stderr] | [INFO] [stderr] 47 | Duration::from_secs(1489862796); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_489_862_796` [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/internal/time.rs:49:20 [INFO] [stderr] | [INFO] [stderr] 49 | 131343363960000000); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `131_343_363_960_000_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/internal/value.rs:242:32 [INFO] [stderr] | [INFO] [stderr] 242 | let value = Value::Int(1234567); [INFO] [stderr] | ^^^^^^^ help: consider: `1_234_567` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/internal/category.rs:230:26 [INFO] [stderr] | [INFO] [stderr] 230 | pub(crate) fn as_str(&self) -> &'static str { [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/internal/category.rs:263:21 [INFO] [stderr] | [INFO] [stderr] 263 | pub fn validate(&self, string: &str) -> bool { [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: length comparison to zero [INFO] [stderr] --> src/internal/category.rs:318:21 [INFO] [stderr] | [INFO] [stderr] 318 | parts.len() > 0 && parts[0].len() > 0 && [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!parts.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internal/category.rs:318:40 [INFO] [stderr] | [INFO] [stderr] 318 | parts.len() > 0 && parts[0].len() > 0 && [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!parts[0].is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/internal/codepage.rs:91:15 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn id(&self) -> i32 { [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/internal/codepage.rs:147:19 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn decode(&self, bytes: &[u8]) -> String { [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/internal/codepage.rs:155:19 [INFO] [stderr] | [INFO] [stderr] 155 | pub fn encode(&self, string: &str) -> Vec { [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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/column.rs:66:48 [INFO] [stderr] | [INFO] [stderr] 66 | number => Ok(ValueRef::Int((number ^ -0x8000) as i32)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(number ^ -0x8000)` [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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/column.rs:283:34 [INFO] [stderr] | [INFO] [stderr] 283 | number > (i16::MIN as i32) && [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(i16::MIN)` [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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/column.rs:284:39 [INFO] [stderr] | [INFO] [stderr] 284 | number <= (i16::MAX as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(i16::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: defining a method called `not` on this type; consider implementing the `std::ops::Not` trait or choosing a less ambiguous name [INFO] [stderr] --> src/internal/expr.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn not(self) -> Expr { Expr::unop(UnOp::BoolNot, self.ast) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/expr.rs:301:9 [INFO] [stderr] | [INFO] [stderr] 301 | / match self { [INFO] [stderr] 302 | | &Ast::Literal(ref value) => { [INFO] [stderr] 303 | | (value as &fmt::Display).fmt(formatter) [INFO] [stderr] 304 | | } [INFO] [stderr] ... | [INFO] [stderr] 368 | | } [INFO] [stderr] 369 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 301 | match *self { [INFO] [stderr] 302 | Ast::Literal(ref value) => { [INFO] [stderr] 303 | (value as &fmt::Display).fmt(formatter) [INFO] [stderr] 304 | } [INFO] [stderr] 305 | Ast::Column(ref name) => formatter.write_str(name.as_str()), [INFO] [stderr] 306 | Ast::UnOp(op, ref arg) => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/internal/expr.rs:390:13 [INFO] [stderr] | [INFO] [stderr] 390 | fn eval(&self, arg: Value) -> Value { [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/internal/expr.rs:432:13 [INFO] [stderr] | [INFO] [stderr] 432 | fn eval(&self, arg1: Value, arg2: Value) -> Value { [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/internal/expr.rs:519:19 [INFO] [stderr] | [INFO] [stderr] 519 | fn precedence(&self) -> i32 { [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/internal/language.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn code(&self) -> u16 { self.code } [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/internal/language.rs:110:18 [INFO] [stderr] | [INFO] [stderr] 110 | const LANGUAGES: &[(u16, &str, &[(u16, &str)])] = [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/internal/package.rs:112:14 [INFO] [stderr] | [INFO] [stderr] 112 | fn clsid(&self) -> Uuid { [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: single-character string constant used as pattern [INFO] [stderr] --> src/internal/package.rs:414:65 [INFO] [stderr] | [INFO] [stderr] 414 | enum_values.as_str().unwrap().split(";").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `';'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/internal/package.rs:631:27 [INFO] [stderr] | [INFO] [stderr] 631 | let stream_name = self.tables.get(table_name).unwrap().stream_name(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.tables[table_name]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/propset.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | / match self { [INFO] [stderr] 96 | | &PropertyValue::Empty => { [INFO] [stderr] 97 | | writer.write_u32::(0)?; [INFO] [stderr] 98 | | } [INFO] [stderr] ... | [INFO] [stderr] 134 | | } [INFO] [stderr] 135 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 95 | match *self { [INFO] [stderr] 96 | PropertyValue::Empty => { [INFO] [stderr] 97 | writer.write_u32::(0)?; [INFO] [stderr] 98 | } [INFO] [stderr] 99 | PropertyValue::Null => { [INFO] [stderr] 100 | writer.write_u32::(1)?; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/propset.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | / match self { [INFO] [stderr] 143 | | &PropertyValue::Empty => 4, [INFO] [stderr] 144 | | &PropertyValue::Null => 4, [INFO] [stderr] 145 | | &PropertyValue::I1(_) => 8, [INFO] [stderr] ... | [INFO] [stderr] 151 | | &PropertyValue::FileTime(_) => 12, [INFO] [stderr] 152 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 142 | match *self { [INFO] [stderr] 143 | PropertyValue::Empty => 4, [INFO] [stderr] 144 | PropertyValue::Null => 4, [INFO] [stderr] 145 | PropertyValue::I1(_) => 8, [INFO] [stderr] 146 | PropertyValue::I2(_) => 8, [INFO] [stderr] 147 | PropertyValue::I4(_) => 8, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/propset.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | / match self { [INFO] [stderr] 159 | | &PropertyValue::I1(_) => PropertyFormatVersion::V1, [INFO] [stderr] 160 | | _ => PropertyFormatVersion::V0, [INFO] [stderr] 161 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 158 | match *self { [INFO] [stderr] 159 | PropertyValue::I1(_) => PropertyFormatVersion::V1, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/propset.rs:166:9 [INFO] [stderr] | [INFO] [stderr] 166 | / match self { [INFO] [stderr] 167 | | &PropertyValue::Empty => "EMPTY", [INFO] [stderr] 168 | | &PropertyValue::Null => "NULL", [INFO] [stderr] 169 | | &PropertyValue::I1(_) => "I1", [INFO] [stderr] ... | [INFO] [stderr] 173 | | &PropertyValue::FileTime(_) => "FILETIME", [INFO] [stderr] 174 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 166 | match *self { [INFO] [stderr] 167 | PropertyValue::Empty => "EMPTY", [INFO] [stderr] 168 | PropertyValue::Null => "NULL", [INFO] [stderr] 169 | PropertyValue::I1(_) => "I1", [INFO] [stderr] 170 | PropertyValue::I2(_) => "I2", [INFO] [stderr] 171 | PropertyValue::I4(_) => "I4", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/internal/propset.rs:242:37 [INFO] [stderr] | [INFO] [stderr] 242 | reader.seek(SeekFrom::Start(section_offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(section_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/internal/propset.rs:258:39 [INFO] [stderr] | [INFO] [stderr] 258 | .seek(SeekFrom::Start(section_offset as u64 + offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(section_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/internal/propset.rs:258:63 [INFO] [stderr] | [INFO] [stderr] 258 | .seek(SeekFrom::Start(section_offset as u64 + offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(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 i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/propset.rs:263:59 [INFO] [stderr] | [INFO] [stderr] 263 | if let Some(codepage) = CodePage::from_id(codepage_id as i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(codepage_id)` [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/internal/propset.rs:279:39 [INFO] [stderr] | [INFO] [stderr] 279 | .seek(SeekFrom::Start(section_offset as u64 + offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(section_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/internal/propset.rs:279:63 [INFO] [stderr] | [INFO] [stderr] 279 | .seek(SeekFrom::Start(section_offset as u64 + offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/propset.rs:358:59 [INFO] [stderr] | [INFO] [stderr] 358 | if let Some(codepage) = CodePage::from_id(codepage_id as i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(codepage_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/query.rs:389:9 [INFO] [stderr] | [INFO] [stderr] 389 | / match self { [INFO] [stderr] 390 | | &Join::Table(ref table_name) => table_name.fmt(formatter), [INFO] [stderr] 391 | | &Join::Inner(ref lhs, ref rhs, ref on) => { [INFO] [stderr] 392 | | lhs.format_for_join(formatter)?; [INFO] [stderr] ... | [INFO] [stderr] 406 | | } [INFO] [stderr] 407 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 389 | match *self { [INFO] [stderr] 390 | Join::Table(ref table_name) => table_name.fmt(formatter), [INFO] [stderr] 391 | Join::Inner(ref lhs, ref rhs, ref on) => { [INFO] [stderr] 392 | lhs.format_for_join(formatter)?; [INFO] [stderr] 393 | formatter.write_str(" INNER JOIN ")?; [INFO] [stderr] 394 | rhs.format_for_join(formatter)?; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/internal/streamname.rs:66:59 [INFO] [stderr] | [INFO] [stderr] 66 | } else if !is_table && name.starts_with(TABLE_PREFIX) { [INFO] [stderr] | ___________________________________________________________^ [INFO] [stderr] 67 | | false [INFO] [stderr] 68 | | } else { [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/internal/streamname.rs:64:24 [INFO] [stderr] | [INFO] [stderr] 64 | if name.is_empty() { [INFO] [stderr] | ________________________^ [INFO] [stderr] 65 | | false [INFO] [stderr] 66 | | } else if !is_table && name.starts_with(TABLE_PREFIX) { [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/stringpool.rs:24:26 [INFO] [stderr] | [INFO] [stderr] 24 | let mut number = reader.read_u16::()? as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/stringpool.rs:26:23 [INFO] [stderr] | [INFO] [stderr] 26 | number |= (reader.read_u8()? as i32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(reader.read_u8()?)` [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/internal/stringpool.rs:50:29 [INFO] [stderr] | [INFO] [stderr] 50 | } else if number <= (u16::MAX as i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(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: this loop could be written as a `while let` loop [INFO] [stderr] --> src/internal/stringpool.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | / loop { [INFO] [stderr] 99 | | let mut length = match reader.read_u16::() { [INFO] [stderr] 100 | | Ok(length) => length as u32, [INFO] [stderr] 101 | | Err(_) => { [INFO] [stderr] ... | [INFO] [stderr] 111 | | lengths_and_refcounts.push((length, refcount)); [INFO] [stderr] 112 | | } [INFO] [stderr] | |_________^ help: try: `while let Ok(length) = reader.read_u16::() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/internal/stringpool.rs:100:31 [INFO] [stderr] | [INFO] [stderr] 100 | Ok(length) => length as u32, [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(length)` [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/internal/stringpool.rs:107:27 [INFO] [stderr] | [INFO] [stderr] 107 | length = ((refcount as u32) << 16) & [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(refcount)` [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/internal/stringpool.rs:108:21 [INFO] [stderr] | [INFO] [stderr] 108 | (reader.read_u16::()? as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::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: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/internal/stringpool.rs:262:25 [INFO] [stderr] | [INFO] [stderr] 262 | if length > (u16::MAX as u32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(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: item `internal::table::Row` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/internal/table.rs:142:1 [INFO] [stderr] | [INFO] [stderr] 142 | / impl Row { [INFO] [stderr] 143 | | pub(crate) fn new(table: Rc, values: Vec) -> Row { [INFO] [stderr] 144 | | debug_assert_eq!(values.len(), table.columns().len()); [INFO] [stderr] 145 | | Row { [INFO] [stderr] ... | [INFO] [stderr] 160 | | } [INFO] [stderr] 161 | | } [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/internal/time.rs:9:44 [INFO] [stderr] | [INFO] [stderr] 9 | delta.as_secs() * 10_000_000 + (delta.subsec_nanos() / 100) as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(delta.subsec_nanos() / 100)` [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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/value.rs:94:49 [INFO] [stderr] | [INFO] [stderr] 94 | fn from(integer: i16) -> Value { Value::Int(integer as i32) } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(integer)` [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/internal/value.rs:98:49 [INFO] [stderr] | [INFO] [stderr] 98 | fn from(integer: u16) -> Value { Value::Int(integer as i32) } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(integer)` [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/internal/value.rs:174:21 [INFO] [stderr] | [INFO] [stderr] 174 | pub fn to_value(&self, string_pool: &StringPool) -> Value { [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] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `msi`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/internal/category.rs:230:26 [INFO] [stderr] | [INFO] [stderr] 230 | pub(crate) fn as_str(&self) -> &'static str { [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/internal/category.rs:263:21 [INFO] [stderr] | [INFO] [stderr] 263 | pub fn validate(&self, string: &str) -> bool { [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: length comparison to zero [INFO] [stderr] --> src/internal/category.rs:318:21 [INFO] [stderr] | [INFO] [stderr] 318 | parts.len() > 0 && parts[0].len() > 0 && [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!parts.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/internal/category.rs:318:40 [INFO] [stderr] | [INFO] [stderr] 318 | parts.len() > 0 && parts[0].len() > 0 && [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!parts[0].is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/internal/codepage.rs:91:15 [INFO] [stderr] | [INFO] [stderr] 91 | pub fn id(&self) -> i32 { [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/internal/codepage.rs:147:19 [INFO] [stderr] | [INFO] [stderr] 147 | pub fn decode(&self, bytes: &[u8]) -> String { [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/internal/codepage.rs:155:19 [INFO] [stderr] | [INFO] [stderr] 155 | pub fn encode(&self, string: &str) -> Vec { [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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/column.rs:66:48 [INFO] [stderr] | [INFO] [stderr] 66 | number => Ok(ValueRef::Int((number ^ -0x8000) as i32)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(number ^ -0x8000)` [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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/column.rs:283:34 [INFO] [stderr] | [INFO] [stderr] 283 | number > (i16::MIN as i32) && [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(i16::MIN)` [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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/column.rs:284:39 [INFO] [stderr] | [INFO] [stderr] 284 | number <= (i16::MAX as i32) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(i16::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: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/internal/column.rs:573:5 [INFO] [stderr] | [INFO] [stderr] 573 | / fn valid_column_value() { [INFO] [stderr] 574 | | let column = Column::build("Foo").nullable().int16(); [INFO] [stderr] 575 | | assert!(column.is_valid_value(&Value::Null)); [INFO] [stderr] 576 | | assert!(column.is_valid_value(&Value::Int(0x7fff))); [INFO] [stderr] ... | [INFO] [stderr] 616 | | assert!(!column.is_valid_value(&Value::Str("X".to_string()))); [INFO] [stderr] 617 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: defining a method called `not` on this type; consider implementing the `std::ops::Not` trait or choosing a less ambiguous name [INFO] [stderr] --> src/internal/expr.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn not(self) -> Expr { Expr::unop(UnOp::BoolNot, self.ast) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/expr.rs:301:9 [INFO] [stderr] | [INFO] [stderr] 301 | / match self { [INFO] [stderr] 302 | | &Ast::Literal(ref value) => { [INFO] [stderr] 303 | | (value as &fmt::Display).fmt(formatter) [INFO] [stderr] 304 | | } [INFO] [stderr] ... | [INFO] [stderr] 368 | | } [INFO] [stderr] 369 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 301 | match *self { [INFO] [stderr] 302 | Ast::Literal(ref value) => { [INFO] [stderr] 303 | (value as &fmt::Display).fmt(formatter) [INFO] [stderr] 304 | } [INFO] [stderr] 305 | Ast::Column(ref name) => formatter.write_str(name.as_str()), [INFO] [stderr] 306 | Ast::UnOp(op, ref arg) => { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/internal/expr.rs:390:13 [INFO] [stderr] | [INFO] [stderr] 390 | fn eval(&self, arg: Value) -> Value { [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/internal/expr.rs:432:13 [INFO] [stderr] | [INFO] [stderr] 432 | fn eval(&self, arg1: Value, arg2: Value) -> Value { [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/internal/expr.rs:519:19 [INFO] [stderr] | [INFO] [stderr] 519 | fn precedence(&self) -> i32 { [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/internal/language.rs:77:17 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn code(&self) -> u16 { self.code } [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/internal/language.rs:110:18 [INFO] [stderr] | [INFO] [stderr] 110 | const LANGUAGES: &[(u16, &str, &[(u16, &str)])] = [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/internal/package.rs:112:14 [INFO] [stderr] | [INFO] [stderr] 112 | fn clsid(&self) -> Uuid { [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: single-character string constant used as pattern [INFO] [stderr] --> src/internal/package.rs:414:65 [INFO] [stderr] | [INFO] [stderr] 414 | enum_values.as_str().unwrap().split(";").collect(); [INFO] [stderr] | ^^^ help: try using a char instead: `';'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/internal/package.rs:631:27 [INFO] [stderr] | [INFO] [stderr] 631 | let stream_name = self.tables.get(table_name).unwrap().stream_name(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.tables[table_name]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/propset.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 95 | / match self { [INFO] [stderr] 96 | | &PropertyValue::Empty => { [INFO] [stderr] 97 | | writer.write_u32::(0)?; [INFO] [stderr] 98 | | } [INFO] [stderr] ... | [INFO] [stderr] 134 | | } [INFO] [stderr] 135 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 95 | match *self { [INFO] [stderr] 96 | PropertyValue::Empty => { [INFO] [stderr] 97 | writer.write_u32::(0)?; [INFO] [stderr] 98 | } [INFO] [stderr] 99 | PropertyValue::Null => { [INFO] [stderr] 100 | writer.write_u32::(1)?; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/propset.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | / match self { [INFO] [stderr] 143 | | &PropertyValue::Empty => 4, [INFO] [stderr] 144 | | &PropertyValue::Null => 4, [INFO] [stderr] 145 | | &PropertyValue::I1(_) => 8, [INFO] [stderr] ... | [INFO] [stderr] 151 | | &PropertyValue::FileTime(_) => 12, [INFO] [stderr] 152 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 142 | match *self { [INFO] [stderr] 143 | PropertyValue::Empty => 4, [INFO] [stderr] 144 | PropertyValue::Null => 4, [INFO] [stderr] 145 | PropertyValue::I1(_) => 8, [INFO] [stderr] 146 | PropertyValue::I2(_) => 8, [INFO] [stderr] 147 | PropertyValue::I4(_) => 8, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/propset.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | / match self { [INFO] [stderr] 159 | | &PropertyValue::I1(_) => PropertyFormatVersion::V1, [INFO] [stderr] 160 | | _ => PropertyFormatVersion::V0, [INFO] [stderr] 161 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 158 | match *self { [INFO] [stderr] 159 | PropertyValue::I1(_) => PropertyFormatVersion::V1, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/propset.rs:166:9 [INFO] [stderr] | [INFO] [stderr] 166 | / match self { [INFO] [stderr] 167 | | &PropertyValue::Empty => "EMPTY", [INFO] [stderr] 168 | | &PropertyValue::Null => "NULL", [INFO] [stderr] 169 | | &PropertyValue::I1(_) => "I1", [INFO] [stderr] ... | [INFO] [stderr] 173 | | &PropertyValue::FileTime(_) => "FILETIME", [INFO] [stderr] 174 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 166 | match *self { [INFO] [stderr] 167 | PropertyValue::Empty => "EMPTY", [INFO] [stderr] 168 | PropertyValue::Null => "NULL", [INFO] [stderr] 169 | PropertyValue::I1(_) => "I1", [INFO] [stderr] 170 | PropertyValue::I2(_) => "I2", [INFO] [stderr] 171 | PropertyValue::I4(_) => "I4", [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/internal/propset.rs:242:37 [INFO] [stderr] | [INFO] [stderr] 242 | reader.seek(SeekFrom::Start(section_offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(section_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/internal/propset.rs:258:39 [INFO] [stderr] | [INFO] [stderr] 258 | .seek(SeekFrom::Start(section_offset as u64 + offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(section_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/internal/propset.rs:258:63 [INFO] [stderr] | [INFO] [stderr] 258 | .seek(SeekFrom::Start(section_offset as u64 + offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(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 i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/propset.rs:263:59 [INFO] [stderr] | [INFO] [stderr] 263 | if let Some(codepage) = CodePage::from_id(codepage_id as i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(codepage_id)` [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/internal/propset.rs:279:39 [INFO] [stderr] | [INFO] [stderr] 279 | .seek(SeekFrom::Start(section_offset as u64 + offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(section_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/internal/propset.rs:279:63 [INFO] [stderr] | [INFO] [stderr] 279 | .seek(SeekFrom::Start(section_offset as u64 + offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/propset.rs:358:59 [INFO] [stderr] | [INFO] [stderr] 358 | if let Some(codepage) = CodePage::from_id(codepage_id as i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `i32::from(codepage_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/internal/query.rs:389:9 [INFO] [stderr] | [INFO] [stderr] 389 | / match self { [INFO] [stderr] 390 | | &Join::Table(ref table_name) => table_name.fmt(formatter), [INFO] [stderr] 391 | | &Join::Inner(ref lhs, ref rhs, ref on) => { [INFO] [stderr] 392 | | lhs.format_for_join(formatter)?; [INFO] [stderr] ... | [INFO] [stderr] 406 | | } [INFO] [stderr] 407 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 389 | match *self { [INFO] [stderr] 390 | Join::Table(ref table_name) => table_name.fmt(formatter), [INFO] [stderr] 391 | Join::Inner(ref lhs, ref rhs, ref on) => { [INFO] [stderr] 392 | lhs.format_for_join(formatter)?; [INFO] [stderr] 393 | formatter.write_str(" INNER JOIN ")?; [INFO] [stderr] 394 | rhs.format_for_join(formatter)?; [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/internal/streamname.rs:66:59 [INFO] [stderr] | [INFO] [stderr] 66 | } else if !is_table && name.starts_with(TABLE_PREFIX) { [INFO] [stderr] | ___________________________________________________________^ [INFO] [stderr] 67 | | false [INFO] [stderr] 68 | | } else { [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/internal/streamname.rs:64:24 [INFO] [stderr] | [INFO] [stderr] 64 | if name.is_empty() { [INFO] [stderr] | ________________________^ [INFO] [stderr] 65 | | false [INFO] [stderr] 66 | | } else if !is_table && name.starts_with(TABLE_PREFIX) { [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/stringpool.rs:24:26 [INFO] [stderr] | [INFO] [stderr] 24 | let mut number = reader.read_u16::()? as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::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: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/stringpool.rs:26:23 [INFO] [stderr] | [INFO] [stderr] 26 | number |= (reader.read_u8()? as i32) << 16; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(reader.read_u8()?)` [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/internal/stringpool.rs:50:29 [INFO] [stderr] | [INFO] [stderr] 50 | } else if number <= (u16::MAX as i32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i32::from(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: this loop could be written as a `while let` loop [INFO] [stderr] --> src/internal/stringpool.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | / loop { [INFO] [stderr] 99 | | let mut length = match reader.read_u16::() { [INFO] [stderr] 100 | | Ok(length) => length as u32, [INFO] [stderr] 101 | | Err(_) => { [INFO] [stderr] ... | [INFO] [stderr] 111 | | lengths_and_refcounts.push((length, refcount)); [INFO] [stderr] 112 | | } [INFO] [stderr] | |_________^ help: try: `while let Ok(length) = reader.read_u16::() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/internal/stringpool.rs:100:31 [INFO] [stderr] | [INFO] [stderr] 100 | Ok(length) => length as u32, [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u32::from(length)` [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/internal/stringpool.rs:107:27 [INFO] [stderr] | [INFO] [stderr] 107 | length = ((refcount as u32) << 16) & [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(refcount)` [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/internal/stringpool.rs:108:21 [INFO] [stderr] | [INFO] [stderr] 108 | (reader.read_u16::()? as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::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: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/internal/stringpool.rs:262:25 [INFO] [stderr] | [INFO] [stderr] 262 | if length > (u16::MAX as u32) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `u32::from(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: item `internal::table::Row` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/internal/table.rs:142:1 [INFO] [stderr] | [INFO] [stderr] 142 | / impl Row { [INFO] [stderr] 143 | | pub(crate) fn new(table: Rc
, values: Vec) -> Row { [INFO] [stderr] 144 | | debug_assert_eq!(values.len(), table.columns().len()); [INFO] [stderr] 145 | | Row { [INFO] [stderr] ... | [INFO] [stderr] 160 | | } [INFO] [stderr] 161 | | } [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/internal/time.rs:9:44 [INFO] [stderr] | [INFO] [stderr] 9 | delta.as_secs() * 10_000_000 + (delta.subsec_nanos() / 100) as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(delta.subsec_nanos() / 100)` [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 i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/internal/value.rs:94:49 [INFO] [stderr] | [INFO] [stderr] 94 | fn from(integer: i16) -> Value { Value::Int(integer as i32) } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(integer)` [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/internal/value.rs:98:49 [INFO] [stderr] | [INFO] [stderr] 98 | fn from(integer: u16) -> Value { Value::Int(integer as i32) } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `i32::from(integer)` [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/internal/value.rs:174:21 [INFO] [stderr] | [INFO] [stderr] 174 | pub fn to_value(&self, string_pool: &StringPool) -> Value { [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] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `msi`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "3dff70badec1889b74c1985c6cd691b26dde5cbd67e9870c781fea095b0c351d"` [INFO] running `"docker" "rm" "-f" "3dff70badec1889b74c1985c6cd691b26dde5cbd67e9870c781fea095b0c351d"` [INFO] [stdout] 3dff70badec1889b74c1985c6cd691b26dde5cbd67e9870c781fea095b0c351d