[INFO] crate pdb 0.2.0 is already in cache [INFO] extracting crate pdb 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/pdb/0.2.0 [INFO] extracting crate pdb 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/pdb/0.2.0 [INFO] validating manifest of pdb-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 pdb-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 pdb-0.2.0 [INFO] finished frobbing pdb-0.2.0 [INFO] frobbed toml for pdb-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/pdb/0.2.0/Cargo.toml [INFO] started frobbing pdb-0.2.0 [INFO] finished frobbing pdb-0.2.0 [INFO] frobbed toml for pdb-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/pdb/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 pdb-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-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/pdb/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] 61bee950194aab75d17be05ea95ea48d808c16a1650a6563d3a5349a4c7dc289 [INFO] running `"docker" "start" "-a" "61bee950194aab75d17be05ea95ea48d808c16a1650a6563d3a5349a4c7dc289"` [INFO] [stderr] Checking pdb v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dbi.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | stream: stream, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stream` [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/dbi.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/msf/page_list.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | page_size: page_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `page_size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/msf/mod.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | maximum_valid_page_number: maximum_valid_page_number, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `maximum_valid_page_number` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/msf/mod.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/msf/mod.rs:176:17 [INFO] [stderr] | [INFO] [stderr] 176 | stream_table_view: stream_table_view, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_table_view` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pdb.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | msf: msf, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `msf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/data.rs:284:17 [INFO] [stderr] | [INFO] [stderr] 284 | element_type: element_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `element_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/tpi/data.rs:285:17 [INFO] [stderr] | [INFO] [stderr] 285 | indexing_type: indexing_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `indexing_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/tpi/data.rs:286:17 [INFO] [stderr] | [INFO] [stderr] 286 | stride: stride, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stride` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/data.rs:287:17 [INFO] [stderr] | [INFO] [stderr] 287 | dimensions: dimensions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `dimensions` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/data.rs:364:48 [INFO] [stderr] | [INFO] [stderr] 364 | Ok(TypeData::FieldList(FieldList { fields: fields, continuation: continuation })) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fields` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/data.rs:364:64 [INFO] [stderr] | [INFO] [stderr] 364 | Ok(TypeData::FieldList(FieldList { fields: fields, continuation: continuation })) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `continuation` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/data.rs:398:17 [INFO] [stderr] | [INFO] [stderr] 398 | methods: methods, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `methods` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/primitive.rs:231:9 [INFO] [stderr] | [INFO] [stderr] 231 | kind: kind, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/primitive.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 232 | indirection: indirection, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `indirection` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/mod.rs:130:13 [INFO] [stderr] | [INFO] [stderr] 130 | buf: buf, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `buf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/mod.rs:160:9 [INFO] [stderr] | [INFO] [stderr] 160 | 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/tpi/mod.rs:286:9 [INFO] [stderr] | [INFO] [stderr] 286 | positions: positions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `positions` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/mod.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | shift: shift, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `shift` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dbi.rs:70:9 [INFO] [stderr] | [INFO] [stderr] 70 | stream: stream, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stream` [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/dbi.rs:71:9 [INFO] [stderr] | [INFO] [stderr] 71 | header: header, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `header` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/msf/page_list.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | page_size: page_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `page_size` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/msf/mod.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | maximum_valid_page_number: maximum_valid_page_number, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `maximum_valid_page_number` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/msf/mod.rs:120:13 [INFO] [stderr] | [INFO] [stderr] 120 | source: source, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `source` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/msf/mod.rs:176:17 [INFO] [stderr] | [INFO] [stderr] 176 | stream_table_view: stream_table_view, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stream_table_view` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/pdb.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | msf: msf, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `msf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/data.rs:284:17 [INFO] [stderr] | [INFO] [stderr] 284 | element_type: element_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `element_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/tpi/data.rs:285:17 [INFO] [stderr] | [INFO] [stderr] 285 | indexing_type: indexing_type, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `indexing_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/tpi/data.rs:286:17 [INFO] [stderr] | [INFO] [stderr] 286 | stride: stride, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stride` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/data.rs:287:17 [INFO] [stderr] | [INFO] [stderr] 287 | dimensions: dimensions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `dimensions` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/data.rs:364:48 [INFO] [stderr] | [INFO] [stderr] 364 | Ok(TypeData::FieldList(FieldList { fields: fields, continuation: continuation })) [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `fields` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/data.rs:364:64 [INFO] [stderr] | [INFO] [stderr] 364 | Ok(TypeData::FieldList(FieldList { fields: fields, continuation: continuation })) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `continuation` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/data.rs:398:17 [INFO] [stderr] | [INFO] [stderr] 398 | methods: methods, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `methods` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/primitive.rs:231:9 [INFO] [stderr] | [INFO] [stderr] 231 | kind: kind, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `kind` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/primitive.rs:232:9 [INFO] [stderr] | [INFO] [stderr] 232 | indirection: indirection, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `indirection` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/mod.rs:130:13 [INFO] [stderr] | [INFO] [stderr] 130 | buf: buf, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `buf` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/mod.rs:160:9 [INFO] [stderr] | [INFO] [stderr] 160 | 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/tpi/mod.rs:286:9 [INFO] [stderr] | [INFO] [stderr] 286 | positions: positions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `positions` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/tpi/mod.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | shift: shift, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `shift` [INFO] [stderr] | [INFO] [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/dbi.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | 930803 => HeaderVersion::V41, [INFO] [stderr] | ^^^^^^ help: consider: `930_803` [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/dbi.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | 19960307 => HeaderVersion::V50, [INFO] [stderr] | ^^^^^^^^ help: consider: `19_960_307` [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/dbi.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | 19970606 => HeaderVersion::V60, [INFO] [stderr] | ^^^^^^^^ help: consider: `19_970_606` [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/dbi.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | 19990903 => HeaderVersion::V70, [INFO] [stderr] | ^^^^^^^^ help: consider: `19_990_903` [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/dbi.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | 20091201 => HeaderVersion::V110, [INFO] [stderr] | ^^^^^^^^ help: consider: `20_091_201` [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/dbi.rs:192:28 [INFO] [stderr] | [INFO] [stderr] 192 | if header.signature != 0xffffffff { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/msf/mod.rs:61:24 [INFO] [stderr] | [INFO] [stderr] 61 | const BIG_MSF_HEADER: &'static [u8] = b"Microsoft C/C++ MSF 7.00\r\n\x1a\x44\x53\x00\x00\x00"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/msf/mod.rs:231:29 [INFO] [stderr] | [INFO] [stderr] 231 | if bytes == 0xffffffff { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/msf/mod.rs:240:35 [INFO] [stderr] | [INFO] [stderr] 240 | if bytes_in_stream == 0xffffffff { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/msf/mod.rs:294:26 [INFO] [stderr] | [INFO] [stderr] 294 | const SMALL_MSF_HEADER: &'static [u8] = b"Microsoft C/C++ program database 2.00\r\n\x1a\x4a\x47"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/pdb.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/pdb.rs:223:19 [INFO] [stderr] | [INFO] [stderr] 223 | let res = { [INFO] [stderr] | ___________________^ [INFO] [stderr] 224 | | let stream: Stream = self.msf.get(module.info().stream as u32, None)?; [INFO] [stderr] 225 | | module_info::new_module_info(stream, module) [INFO] [stderr] 226 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/symbol/mod.rs:182:25 [INFO] [stderr] | [INFO] [stderr] 182 | const CVPSF_CODE: u32 = 0x00000001; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0001` [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/symbol/mod.rs:183:29 [INFO] [stderr] | [INFO] [stderr] 183 | const CVPSF_FUNCTION: u32 = 0x00000002; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0002` [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/symbol/mod.rs:184:28 [INFO] [stderr] | [INFO] [stderr] 184 | const CVPSF_MANAGED: u32 = 0x00000004; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0004` [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/symbol/mod.rs:185:25 [INFO] [stderr] | [INFO] [stderr] 185 | const CVPSF_MSIL: u32 = 0x00000008; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0008` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/tpi/mod.rs:168:24 [INFO] [stderr] | [INFO] [stderr] 168 | const PRIMITIVE_TYPE: &'static [u8] = b"\xff\xff"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:510:29 [INFO] [stderr] | [INFO] [stderr] 510 | assert_eq!(val, 0x04030201); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0403_0201` [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/common.rs:545:29 [INFO] [stderr] | [INFO] [stderr] 545 | assert_eq!(val, 0x0807060504030201); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0807_0605_0403_0201` [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/dbi.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | 930803 => HeaderVersion::V41, [INFO] [stderr] | ^^^^^^ help: consider: `930_803` [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/dbi.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | 19960307 => HeaderVersion::V50, [INFO] [stderr] | ^^^^^^^^ help: consider: `19_960_307` [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/dbi.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | 19970606 => HeaderVersion::V60, [INFO] [stderr] | ^^^^^^^^ help: consider: `19_970_606` [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/dbi.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | 19990903 => HeaderVersion::V70, [INFO] [stderr] | ^^^^^^^^ help: consider: `19_990_903` [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/dbi.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | 20091201 => HeaderVersion::V110, [INFO] [stderr] | ^^^^^^^^ help: consider: `20_091_201` [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/dbi.rs:192:28 [INFO] [stderr] | [INFO] [stderr] 192 | if header.signature != 0xffffffff { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/msf/mod.rs:61:24 [INFO] [stderr] | [INFO] [stderr] 61 | const BIG_MSF_HEADER: &'static [u8] = b"Microsoft C/C++ MSF 7.00\r\n\x1a\x44\x53\x00\x00\x00"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/msf/mod.rs:231:29 [INFO] [stderr] | [INFO] [stderr] 231 | if bytes == 0xffffffff { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/msf/mod.rs:240:35 [INFO] [stderr] | [INFO] [stderr] 240 | if bytes_in_stream == 0xffffffff { [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0xffff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/msf/mod.rs:294:26 [INFO] [stderr] | [INFO] [stderr] 294 | const SMALL_MSF_HEADER: &'static [u8] = b"Microsoft C/C++ program database 2.00\r\n\x1a\x4a\x47"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/pdb.rs:227:9 [INFO] [stderr] | [INFO] [stderr] 227 | res [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/pdb.rs:223:19 [INFO] [stderr] | [INFO] [stderr] 223 | let res = { [INFO] [stderr] | ___________________^ [INFO] [stderr] 224 | | let stream: Stream = self.msf.get(module.info().stream as u32, None)?; [INFO] [stderr] 225 | | module_info::new_module_info(stream, module) [INFO] [stderr] 226 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/symbol/mod.rs:182:25 [INFO] [stderr] | [INFO] [stderr] 182 | const CVPSF_CODE: u32 = 0x00000001; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0001` [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/symbol/mod.rs:183:29 [INFO] [stderr] | [INFO] [stderr] 183 | const CVPSF_FUNCTION: u32 = 0x00000002; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0002` [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/symbol/mod.rs:184:28 [INFO] [stderr] | [INFO] [stderr] 184 | const CVPSF_MANAGED: u32 = 0x00000004; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0004` [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/symbol/mod.rs:185:25 [INFO] [stderr] | [INFO] [stderr] 185 | const CVPSF_MSIL: u32 = 0x00000008; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0000_0008` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/tpi/mod.rs:168:24 [INFO] [stderr] | [INFO] [stderr] 168 | const PRIMITIVE_TYPE: &'static [u8] = b"\xff\xff"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/common.rs:160:12 [INFO] [stderr] | [INFO] [stderr] 160 | if input.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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 one [INFO] [stderr] --> src/common.rs:173:12 [INFO] [stderr] | [INFO] [stderr] 173 | if input.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: length comparison to zero [INFO] [stderr] --> src/msf/page_list.rs:44:27 [INFO] [stderr] | [INFO] [stderr] 44 | debug_assert!(self.source_slices.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.source_slices.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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/msf/page_list.rs:49:51 [INFO] [stderr] | [INFO] [stderr] 49 | offset: (self.page_size as u64) * (page as u64), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(page)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/msf/mod.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | assert!(match &self.stream_table { [INFO] [stderr] | _________________^ [INFO] [stderr] 186 | | &StreamTable::Available { .. } => true, [INFO] [stderr] 187 | | _ => false [INFO] [stderr] 188 | | }); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 185 | assert!(match self.stream_table { [INFO] [stderr] 186 | StreamTable::Available { .. } => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/pdb.rs:180:43 [INFO] [stderr] | [INFO] [stderr] 180 | let stream: Stream = self.msf.get(dbi_header.symbol_records_stream as u32, None)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(dbi_header.symbol_records_stream)` [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/pdb.rs:224:47 [INFO] [stderr] | [INFO] [stderr] 224 | let stream: Stream = self.msf.get(module.info().stream as u32, None)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(module.info().stream)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/symbol/mod.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | (self.0[0] as u16) | ((self.0[1] as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.0[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/symbol/mod.rs:87:31 [INFO] [stderr] | [INFO] [stderr] 87 | (self.0[0] as u16) | ((self.0[1] as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.0[1])` [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/tpi/data.rs:258:26 [INFO] [stderr] | [INFO] [stderr] 258 | if dim > u32::max_value() as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(u32::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/tpi/data.rs:443:19 [INFO] [stderr] | [INFO] [stderr] 443 | return Ok(leaf as u64); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(leaf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/tpi/data.rs:447:30 [INFO] [stderr] | [INFO] [stderr] 447 | LF_CHAR => { Ok(buf.parse_u8()? as u64) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(buf.parse_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 u64 may become silently lossy if types change [INFO] [stderr] --> src/tpi/data.rs:448:30 [INFO] [stderr] | [INFO] [stderr] 448 | LF_USHORT => { Ok(buf.parse_u16()? as u64) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(buf.parse_u16()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/tpi/data.rs:449:30 [INFO] [stderr] | [INFO] [stderr] 449 | LF_ULONG => { Ok(buf.parse_u32()? as u64) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(buf.parse_u32()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:480:19 [INFO] [stderr] | [INFO] [stderr] 480 | pub fn packed(&self) -> bool { self.0 & 0x0001 != 0 } [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/tpi/data.rs:483:25 [INFO] [stderr] | [INFO] [stderr] 483 | pub fn constructors(&self) -> bool { self.0 & 0x0002 != 0 } [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/tpi/data.rs:486:33 [INFO] [stderr] | [INFO] [stderr] 486 | pub fn overloaded_operators(&self) -> bool { self.0 & 0x0004 != 0 } [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/tpi/data.rs:489:27 [INFO] [stderr] | [INFO] [stderr] 489 | pub fn is_nested_type(&self) -> bool { self.0 & 0x0008 != 0 } [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/tpi/data.rs:492:34 [INFO] [stderr] | [INFO] [stderr] 492 | pub fn contains_nested_types(&self) -> bool { self.0 & 0x0010 != 0 } [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/tpi/data.rs:495:34 [INFO] [stderr] | [INFO] [stderr] 495 | pub fn overloaded_assignment(&self) -> bool { self.0 & 0x0020 != 0 } [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/tpi/data.rs:496:31 [INFO] [stderr] | [INFO] [stderr] 496 | pub fn overloaded_casting(&self) -> bool { self.0 & 0x0040 != 0 } [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/tpi/data.rs:502:30 [INFO] [stderr] | [INFO] [stderr] 502 | pub fn forward_reference(&self) -> bool { self.0 & 0x0080 != 0 } [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/tpi/data.rs:504:30 [INFO] [stderr] | [INFO] [stderr] 504 | pub fn scoped_definition(&self) -> bool { self.0 & 0x0100 != 0 } [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/tpi/data.rs:505:28 [INFO] [stderr] | [INFO] [stderr] 505 | pub fn has_unique_name(&self) -> bool { self.0 & 0x0200 != 0 } [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/tpi/data.rs:506:19 [INFO] [stderr] | [INFO] [stderr] 506 | pub fn sealed(&self) -> bool { self.0 & 0x0400 != 0 } [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/tpi/data.rs:507:16 [INFO] [stderr] | [INFO] [stderr] 507 | pub fn hfa(&self) -> u8 { ((self.0 & 0x1800) >> 11) as u8 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:508:27 [INFO] [stderr] | [INFO] [stderr] 508 | pub fn intrinsic_type(&self) -> bool { self.0 & 0x1000 != 0 } [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/tpi/data.rs:509:18 [INFO] [stderr] | [INFO] [stderr] 509 | pub fn mocom(&self) -> u8 { ((self.0 & 0x6000) >> 14) as u8 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:539:19 [INFO] [stderr] | [INFO] [stderr] 539 | pub fn access(&self) -> u8 { (self.0 & 0x0003) as u8 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:541:26 [INFO] [stderr] | [INFO] [stderr] 541 | fn method_properties(&self) -> u8 { ((self.0 & 0x001c) >> 2) as u8 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:544:22 [INFO] [stderr] | [INFO] [stderr] 544 | pub fn is_static(&self) -> 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:549:23 [INFO] [stderr] | [INFO] [stderr] 549 | pub fn is_virtual(&self) -> 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:554:28 [INFO] [stderr] | [INFO] [stderr] 554 | pub fn is_pure_virtual(&self) -> 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:559:29 [INFO] [stderr] | [INFO] [stderr] 559 | pub fn is_intro_virtual(&self) -> 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:591:31 [INFO] [stderr] | [INFO] [stderr] 591 | pub fn calling_convention(&self) -> u8 { (self.0 & 0xff) as u8 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:592:27 [INFO] [stderr] | [INFO] [stderr] 592 | pub fn cxx_return_udt(&self) -> bool { (self.0 & 0x0100) > 0 } [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/tpi/data.rs:593:27 [INFO] [stderr] | [INFO] [stderr] 593 | pub fn is_constructor(&self) -> bool { (self.0 & 0x0200) > 0 } [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/tpi/data.rs:594:46 [INFO] [stderr] | [INFO] [stderr] 594 | pub fn is_constructor_with_virtual_bases(&self) -> bool { (self.0 & 0x0400) > 0 } [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/tpi/data.rs:647:25 [INFO] [stderr] | [INFO] [stderr] 647 | pub fn pointer_type(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:652:21 [INFO] [stderr] | [INFO] [stderr] 652 | pub fn is_const(&self) -> bool { (self.0 & 0x40) != 0 } [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/tpi/data.rs:655:25 [INFO] [stderr] | [INFO] [stderr] 655 | pub fn is_reference(&self) -> 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:663:17 [INFO] [stderr] | [INFO] [stderr] 663 | pub fn size(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: item `tpi::TypeInformation<'t>` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/tpi/mod.rs:119:1 [INFO] [stderr] | [INFO] [stderr] 119 | / impl<'t> TypeInformation<'t> { [INFO] [stderr] 120 | | /// Returns an iterator that can traverse the type table in sequential order. [INFO] [stderr] 121 | | pub fn iter(&self) -> TypeIter { [INFO] [stderr] 122 | | // get a parse buffer [INFO] [stderr] ... | [INFO] [stderr] 148 | | } [INFO] [stderr] 149 | | } [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: item `tpi::Type<'t>` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/tpi/mod.rs:178:1 [INFO] [stderr] | [INFO] [stderr] 178 | / impl<'t> Type<'t> { [INFO] [stderr] 179 | | /// Returns this type's `TypeIndex`. [INFO] [stderr] 180 | | pub fn type_index(&self) -> TypeIndex { [INFO] [stderr] 181 | | self.0 [INFO] [stderr] ... | [INFO] [stderr] 218 | | } [INFO] [stderr] 219 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/tpi/mod.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | (self.1[0] as u16) | ((self.1[1] as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.1[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/tpi/mod.rs:200:31 [INFO] [stderr] | [INFO] [stderr] 200 | (self.1[0] as u16) | ((self.1[1] as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.1[1])` [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: using `println!("")` [INFO] [stderr] --> tests/symbol_table.rs:41:17 [INFO] [stderr] | [INFO] [stderr] 41 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> examples/pdb2hpp.rs:285:21 [INFO] [stderr] | [INFO] [stderr] 285 | 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: using `writeln!(f, "")` [INFO] [stderr] --> examples/pdb2hpp.rs:419:13 [INFO] [stderr] | [INFO] [stderr] 419 | writeln!(f, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `writeln!(f)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(f, "")` [INFO] [stderr] --> examples/pdb2hpp.rs:426:13 [INFO] [stderr] | [INFO] [stderr] 426 | writeln!(f, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `writeln!(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(f, "")` [INFO] [stderr] --> examples/pdb2hpp.rs:431:13 [INFO] [stderr] | [INFO] [stderr] 431 | writeln!(f, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `writeln!(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: length comparison to one [INFO] [stderr] --> src/common.rs:160:12 [INFO] [stderr] | [INFO] [stderr] 160 | if input.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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 one [INFO] [stderr] --> src/common.rs:173:12 [INFO] [stderr] | [INFO] [stderr] 173 | if input.len() < 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `input.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: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/common.rs:594:45 [INFO] [stderr] | [INFO] [stderr] 594 | assert_eq!(val, RawString::from("hello".as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/common.rs:599:45 [INFO] [stderr] | [INFO] [stderr] 599 | assert_eq!(val, RawString::from("world".as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"world"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/common.rs:604:45 [INFO] [stderr] | [INFO] [stderr] 604 | assert_eq!(val, RawString::from("".as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/common.rs:619:45 [INFO] [stderr] | [INFO] [stderr] 619 | assert_eq!(val, RawString::from("hello".as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"hello"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/common.rs:624:45 [INFO] [stderr] | [INFO] [stderr] 624 | assert_eq!(val, RawString::from("world".as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"world"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> src/common.rs:629:45 [INFO] [stderr] | [INFO] [stderr] 629 | assert_eq!(val, RawString::from("".as_bytes())); [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b""` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/msf/page_list.rs:44:27 [INFO] [stderr] | [INFO] [stderr] 44 | debug_assert!(self.source_slices.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.source_slices.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: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/msf/page_list.rs:49:51 [INFO] [stderr] | [INFO] [stderr] 49 | offset: (self.page_size as u64) * (page as u64), [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u64::from(page)` [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: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/msf/mod.rs:185:17 [INFO] [stderr] | [INFO] [stderr] 185 | assert!(match &self.stream_table { [INFO] [stderr] | _________________^ [INFO] [stderr] 186 | | &StreamTable::Available { .. } => true, [INFO] [stderr] 187 | | _ => false [INFO] [stderr] 188 | | }); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 185 | assert!(match self.stream_table { [INFO] [stderr] 186 | StreamTable::Available { .. } => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/pdb.rs:180:43 [INFO] [stderr] | [INFO] [stderr] 180 | let stream: Stream = self.msf.get(dbi_header.symbol_records_stream as u32, None)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(dbi_header.symbol_records_stream)` [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/pdb.rs:224:47 [INFO] [stderr] | [INFO] [stderr] 224 | let stream: Stream = self.msf.get(module.info().stream as u32, None)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(module.info().stream)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/symbol/mod.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | (self.0[0] as u16) | ((self.0[1] as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.0[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/symbol/mod.rs:87:31 [INFO] [stderr] | [INFO] [stderr] 87 | (self.0[0] as u16) | ((self.0[1] as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.0[1])` [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/tpi/data.rs:258:26 [INFO] [stderr] | [INFO] [stderr] 258 | if dim > u32::max_value() as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(u32::max_value())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/tpi/data.rs:443:19 [INFO] [stderr] | [INFO] [stderr] 443 | return Ok(leaf as u64); [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u64::from(leaf)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/tpi/data.rs:447:30 [INFO] [stderr] | [INFO] [stderr] 447 | LF_CHAR => { Ok(buf.parse_u8()? as u64) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(buf.parse_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 u64 may become silently lossy if types change [INFO] [stderr] --> src/tpi/data.rs:448:30 [INFO] [stderr] | [INFO] [stderr] 448 | LF_USHORT => { Ok(buf.parse_u16()? as u64) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(buf.parse_u16()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/tpi/data.rs:449:30 [INFO] [stderr] | [INFO] [stderr] 449 | LF_ULONG => { Ok(buf.parse_u32()? as u64) }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(buf.parse_u32()?)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:480:19 [INFO] [stderr] | [INFO] [stderr] 480 | pub fn packed(&self) -> bool { self.0 & 0x0001 != 0 } [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/tpi/data.rs:483:25 [INFO] [stderr] | [INFO] [stderr] 483 | pub fn constructors(&self) -> bool { self.0 & 0x0002 != 0 } [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/tpi/data.rs:486:33 [INFO] [stderr] | [INFO] [stderr] 486 | pub fn overloaded_operators(&self) -> bool { self.0 & 0x0004 != 0 } [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/tpi/data.rs:489:27 [INFO] [stderr] | [INFO] [stderr] 489 | pub fn is_nested_type(&self) -> bool { self.0 & 0x0008 != 0 } [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/tpi/data.rs:492:34 [INFO] [stderr] | [INFO] [stderr] 492 | pub fn contains_nested_types(&self) -> bool { self.0 & 0x0010 != 0 } [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/tpi/data.rs:495:34 [INFO] [stderr] | [INFO] [stderr] 495 | pub fn overloaded_assignment(&self) -> bool { self.0 & 0x0020 != 0 } [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/tpi/data.rs:496:31 [INFO] [stderr] | [INFO] [stderr] 496 | pub fn overloaded_casting(&self) -> bool { self.0 & 0x0040 != 0 } [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/tpi/data.rs:502:30 [INFO] [stderr] | [INFO] [stderr] 502 | pub fn forward_reference(&self) -> bool { self.0 & 0x0080 != 0 } [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/tpi/data.rs:504:30 [INFO] [stderr] | [INFO] [stderr] 504 | pub fn scoped_definition(&self) -> bool { self.0 & 0x0100 != 0 } [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/tpi/data.rs:505:28 [INFO] [stderr] | [INFO] [stderr] 505 | pub fn has_unique_name(&self) -> bool { self.0 & 0x0200 != 0 } [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/tpi/data.rs:506:19 [INFO] [stderr] | [INFO] [stderr] 506 | pub fn sealed(&self) -> bool { self.0 & 0x0400 != 0 } [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/tpi/data.rs:507:16 [INFO] [stderr] | [INFO] [stderr] 507 | pub fn hfa(&self) -> u8 { ((self.0 & 0x1800) >> 11) as u8 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:508:27 [INFO] [stderr] | [INFO] [stderr] 508 | pub fn intrinsic_type(&self) -> bool { self.0 & 0x1000 != 0 } [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/tpi/data.rs:509:18 [INFO] [stderr] | [INFO] [stderr] 509 | pub fn mocom(&self) -> u8 { ((self.0 & 0x6000) >> 14) as u8 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:539:19 [INFO] [stderr] | [INFO] [stderr] 539 | pub fn access(&self) -> u8 { (self.0 & 0x0003) as u8 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:541:26 [INFO] [stderr] | [INFO] [stderr] 541 | fn method_properties(&self) -> u8 { ((self.0 & 0x001c) >> 2) as u8 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:544:22 [INFO] [stderr] | [INFO] [stderr] 544 | pub fn is_static(&self) -> 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:549:23 [INFO] [stderr] | [INFO] [stderr] 549 | pub fn is_virtual(&self) -> 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:554:28 [INFO] [stderr] | [INFO] [stderr] 554 | pub fn is_pure_virtual(&self) -> 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:559:29 [INFO] [stderr] | [INFO] [stderr] 559 | pub fn is_intro_virtual(&self) -> 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:591:31 [INFO] [stderr] | [INFO] [stderr] 591 | pub fn calling_convention(&self) -> u8 { (self.0 & 0xff) as u8 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:592:27 [INFO] [stderr] | [INFO] [stderr] 592 | pub fn cxx_return_udt(&self) -> bool { (self.0 & 0x0100) > 0 } [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/tpi/data.rs:593:27 [INFO] [stderr] | [INFO] [stderr] 593 | pub fn is_constructor(&self) -> bool { (self.0 & 0x0200) > 0 } [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/tpi/data.rs:594:46 [INFO] [stderr] | [INFO] [stderr] 594 | pub fn is_constructor_with_virtual_bases(&self) -> bool { (self.0 & 0x0400) > 0 } [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> examples/pdb_symbols.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | / fn print_row<'p>(segment: u16, offset: u32, kind: &'static str, name: pdb::RawString<'p>) { [INFO] [stderr] 15 | | println!("{:x}\t{:x}\t{}\t{}", segment, offset, kind, name.to_string()); [INFO] [stderr] 16 | | } [INFO] [stderr] | |_^ [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:647:25 [INFO] [stderr] | [INFO] [stderr] 647 | pub fn pointer_type(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] | [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/tpi/data.rs:652:21 [INFO] [stderr] | [INFO] [stderr] 652 | pub fn is_const(&self) -> bool { (self.0 & 0x40) != 0 } [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/tpi/data.rs:655:25 [INFO] [stderr] | [INFO] [stderr] 655 | pub fn is_reference(&self) -> 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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/tpi/data.rs:663:17 [INFO] [stderr] | [INFO] [stderr] 663 | pub fn size(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: item `tpi::TypeInformation<'t>` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/tpi/mod.rs:119:1 [INFO] [stderr] | [INFO] [stderr] 119 | / impl<'t> TypeInformation<'t> { [INFO] [stderr] 120 | | /// Returns an iterator that can traverse the type table in sequential order. [INFO] [stderr] 121 | | pub fn iter(&self) -> TypeIter { [INFO] [stderr] 122 | | // get a parse buffer [INFO] [stderr] ... | [INFO] [stderr] 148 | | } [INFO] [stderr] 149 | | } [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: item `tpi::Type<'t>` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/tpi/mod.rs:178:1 [INFO] [stderr] | [INFO] [stderr] 178 | / impl<'t> Type<'t> { [INFO] [stderr] 179 | | /// Returns this type's `TypeIndex`. [INFO] [stderr] 180 | | pub fn type_index(&self) -> TypeIndex { [INFO] [stderr] 181 | | self.0 [INFO] [stderr] ... | [INFO] [stderr] 218 | | } [INFO] [stderr] 219 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [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 u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/tpi/mod.rs:200:9 [INFO] [stderr] | [INFO] [stderr] 200 | (self.1[0] as u16) | ((self.1[1] as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.1[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/tpi/mod.rs:200:31 [INFO] [stderr] | [INFO] [stderr] 200 | (self.1[0] as u16) | ((self.1[1] as u16) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.1[1])` [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: long literal lacking separators [INFO] [stderr] --> tests/pdb_information.rs:15:36 [INFO] [stderr] | [INFO] [stderr] 15 | assert_eq!(pdb_info.signature, 1484498465); [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1_484_498_465` [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: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/symbol_table.rs:75:20 [INFO] [stderr] | [INFO] [stderr] 75 | map.insert("main".as_bytes(), None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"main"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::string_lit_as_bytes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/symbol_table.rs:78:20 [INFO] [stderr] | [INFO] [stderr] 78 | map.insert("memcpy".as_bytes(), None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"memcpy"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/symbol_table.rs:81:20 [INFO] [stderr] | [INFO] [stderr] 81 | map.insert("HeapAlloc".as_bytes(), None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"HeapAlloc"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: calling `as_bytes()` on a string literal [INFO] [stderr] --> tests/symbol_table.rs:84:20 [INFO] [stderr] | [INFO] [stderr] 84 | map.insert("?static_f_public@Baz@@SAXXZ".as_bytes(), None); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"?static_f_public@Baz@@SAXXZ"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#string_lit_as_bytes [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> tests/symbol_table.rs:95:13 [INFO] [stderr] | [INFO] [stderr] 95 | / match map.entry(name.as_bytes()) { [INFO] [stderr] 96 | | std::collections::hash_map::Entry::Occupied(mut e) => { [INFO] [stderr] 97 | | // this is a symbol we wanted to find [INFO] [stderr] 98 | | // store our data [INFO] [stderr] ... | [INFO] [stderr] 101 | | _ => {} [INFO] [stderr] 102 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 95 | if let std::collections::hash_map::Entry::Occupied(mut e) = map.entry(name.as_bytes()) { [INFO] [stderr] 96 | // this is a symbol we wanted to find [INFO] [stderr] 97 | // store our data [INFO] [stderr] 98 | e.insert(Some(data)); [INFO] [stderr] 99 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> examples/pdb2hpp.rs:113:21 [INFO] [stderr] | [INFO] [stderr] 113 | for ref field in data.fields { [INFO] [stderr] | ^^^^^^^^^ ----------- help: try: `let field = &data.fields;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> examples/pdb2hpp.rs:132:9 [INFO] [stderr] | [INFO] [stderr] 132 | / match field { [INFO] [stderr] 133 | | &pdb::TypeData::Member(ref data) => { [INFO] [stderr] 134 | | // TODO: attributes (static, virtual, etc.) [INFO] [stderr] 135 | | self.fields.push(Field{ [INFO] [stderr] ... | [INFO] [stderr] 190 | | } [INFO] [stderr] 191 | | } [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] 132 | match *field { [INFO] [stderr] 133 | pdb::TypeData::Member(ref data) => { [INFO] [stderr] 134 | // TODO: attributes (static, virtual, etc.) [INFO] [stderr] 135 | self.fields.push(Field{ [INFO] [stderr] 136 | type_name: type_name(type_finder, data.field_type, needed_types)?, [INFO] [stderr] 137 | name: data.name.clone(), [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `for` loop [INFO] [stderr] --> examples/pdb2hpp.rs:157:96 [INFO] [stderr] | [INFO] [stderr] 157 | while let Some(pdb::MethodListEntry { attributes, method_type, .. }) = iter.next() { [INFO] [stderr] | ^^^^^^^^^^^ help: try: `for pdb::MethodListEntry { attributes, method_type, .. } in iter { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_on_iterator)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> examples/pdb2hpp.rs:205:12 [INFO] [stderr] | [INFO] [stderr] 205 | if self.base_classes.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.base_classes.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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> examples/pdb2hpp.rs:221:13 [INFO] [stderr] | [INFO] [stderr] 221 | for ref field in &self.fields { [INFO] [stderr] | ^^^^^^^^^ ------------ help: try: `let field = &&self.fields;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> examples/pdb2hpp.rs:326:21 [INFO] [stderr] | [INFO] [stderr] 326 | for ref field in data.fields { [INFO] [stderr] | ^^^^^^^^^ ----------- help: try: `let field = &data.fields;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> examples/pdb2hpp.rs:345:9 [INFO] [stderr] | [INFO] [stderr] 345 | / match field { [INFO] [stderr] 346 | | &pdb::TypeData::Enumerate(ref data) => { [INFO] [stderr] 347 | | self.values.push(EnumValue{ [INFO] [stderr] 348 | | name: data.name.clone(), [INFO] [stderr] ... | [INFO] [stderr] 355 | | } [INFO] [stderr] 356 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 345 | if let &pdb::TypeData::Enumerate(ref data) = field { [INFO] [stderr] 346 | self.values.push(EnumValue{ [INFO] [stderr] 347 | name: data.name.clone(), [INFO] [stderr] 348 | value: data.value, [INFO] [stderr] 349 | }); [INFO] [stderr] 350 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> examples/pdb2hpp.rs:345:9 [INFO] [stderr] | [INFO] [stderr] 345 | / match field { [INFO] [stderr] 346 | | &pdb::TypeData::Enumerate(ref data) => { [INFO] [stderr] 347 | | self.values.push(EnumValue{ [INFO] [stderr] 348 | | name: data.name.clone(), [INFO] [stderr] ... | [INFO] [stderr] 355 | | } [INFO] [stderr] 356 | | } [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] 345 | match *field { [INFO] [stderr] 346 | pdb::TypeData::Enumerate(ref data) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> examples/pdb2hpp.rs:544:8 [INFO] [stderr] | [INFO] [stderr] 544 | if data.classes.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.classes.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] Finished dev [unoptimized + debuginfo] target(s) in 5.96s [INFO] running `"docker" "inspect" "61bee950194aab75d17be05ea95ea48d808c16a1650a6563d3a5349a4c7dc289"` [INFO] running `"docker" "rm" "-f" "61bee950194aab75d17be05ea95ea48d808c16a1650a6563d3a5349a4c7dc289"` [INFO] [stdout] 61bee950194aab75d17be05ea95ea48d808c16a1650a6563d3a5349a4c7dc289