[INFO] fetching crate clangd-parser 0.1.3... [INFO] linting clangd-parser-0.1.3 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate clangd-parser 0.1.3 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate clangd-parser 0.1.3 [INFO] finished tweaking crates.io crate clangd-parser 0.1.3 [INFO] tweaked toml for crates.io crate clangd-parser 0.1.3 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate clangd-parser 0.1.3 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate clangd-parser 0.1.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded dary_heap v0.3.6 [INFO] [stderr] Downloaded griff v0.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e1079380e5531921d23442d6bced08e090c53bc57cb9c912b9f3d93883f34c42 [INFO] running `Command { std: "docker" "start" "-a" "e1079380e5531921d23442d6bced08e090c53bc57cb9c912b9f3d93883f34c42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e1079380e5531921d23442d6bced08e090c53bc57cb9c912b9f3d93883f34c42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e1079380e5531921d23442d6bced08e090c53bc57cb9c912b9f3d93883f34c42", kill_on_drop: false }` [INFO] [stdout] e1079380e5531921d23442d6bced08e090c53bc57cb9c912b9f3d93883f34c42 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 64c01ec3a98b02345d5730affa1e0e4b87ef739b47465ad2b179a6a3bd847261 [INFO] running `Command { std: "docker" "start" "-a" "64c01ec3a98b02345d5730affa1e0e4b87ef739b47465ad2b179a6a3bd847261", kill_on_drop: false }` [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Compiling libc v0.2.154 [INFO] [stderr] Checking fastrand v2.1.0 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking linux-raw-sys v0.4.13 [INFO] [stderr] Compiling proc-macro2 v1.0.81 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking value-bag v1.9.0 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Compiling polling v2.8.0 [INFO] [stderr] Compiling rustix v0.37.27 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Compiling async-io v1.13.0 [INFO] [stderr] Compiling crc32fast v1.4.0 [INFO] [stderr] Checking waker-fn v1.1.1 [INFO] [stderr] Checking core2 v0.4.0 [INFO] [stderr] Checking dary_heap v0.3.6 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking griff v0.1.0 [INFO] [stderr] Checking futures-lite v1.13.0 [INFO] [stderr] Checking event-listener v4.0.3 [INFO] [stderr] Checking event-listener v5.3.0 [INFO] [stderr] Checking async-channel v1.9.0 [INFO] [stderr] Checking futures-lite v2.3.0 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking piper v0.2.1 [INFO] [stderr] Checking event-listener-strategy v0.5.2 [INFO] [stderr] Checking event-listener-strategy v0.4.0 [INFO] [stderr] Checking async-channel v2.2.1 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Checking async-lock v3.3.0 [INFO] [stderr] Checking io-lifetimes v1.0.11 [INFO] [stderr] Checking socket2 v0.4.10 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking libflate_lz77 v2.1.0 [INFO] [stderr] Checking async-executor v1.11.0 [INFO] [stderr] Checking blocking v1.6.0 [INFO] [stderr] Checking libflate v2.1.0 [INFO] [stderr] Compiling syn v2.0.60 [INFO] [stderr] Compiling clap_derive v4.5.4 [INFO] [stderr] Checking polling v3.7.0 [INFO] [stderr] Checking tempfile v3.10.1 [INFO] [stderr] Checking async-io v2.3.2 [INFO] [stderr] Checking async-global-executor v2.4.1 [INFO] [stderr] Checking async-std v1.12.0 [INFO] [stderr] Checking clap v4.5.4 [INFO] [stderr] Checking clangd-parser v0.1.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/clangd.rs:67:20 [INFO] [stdout] | [INFO] [stdout] 67 | ret |= (buf[i] as u32) << i*8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(buf[i] as u32) << (i*8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::symbols::SymbolKind` [INFO] [stdout] --> src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::symbols::SymbolKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/clangd.rs:67:20 [INFO] [stdout] | [INFO] [stdout] 67 | ret |= (buf[i] as u32) << i*8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(buf[i] as u32) << (i*8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::symbols::SymbolKind` [INFO] [stdout] --> src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::symbols::SymbolKind; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let mut db = task::block_on(_run(p)); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/clangd.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | || !(shift < 32) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `(shift >= 32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/clangd.rs:51:45 [INFO] [stdout] | [INFO] [stdout] 51 | fn get_string(buf: &[u8], string_table: &Vec) -> (usize, String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 51 - fn get_string(buf: &[u8], string_table: &Vec) -> (usize, String) { [INFO] [stdout] 51 + fn get_string(buf: &[u8], string_table: &[String]) -> (usize, String) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/clangd.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let bytes_read: usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 55 | bytes_read = sz; [INFO] [stdout] | ^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `bytes_read` here [INFO] [stdout] | [INFO] [stdout] 52 ~ [INFO] [stdout] 53 | let mut s: String = String::new(); [INFO] [stdout] 54 | let (sz, idx) = Self::get_varint(buf); [INFO] [stdout] 55 ~ let bytes_read: usize = sz; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `buf` [INFO] [stdout] --> src/clangd.rs:66:18 [INFO] [stdout] | [INFO] [stdout] 66 | for i in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 66 - for i in 0..4 { [INFO] [stdout] 66 + for (i, ) in buf.iter().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `riff` after checking its variant with `is_err` [INFO] [stdout] --> src/clangd.rs:155:46 [INFO] [stdout] | [INFO] [stdout] 154 | if riff.is_err() { [INFO] [stdout] | ---------------- help: try: `if let Err() = riff` [INFO] [stdout] 155 | return Err(ParseError::RiffError(riff.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/clangd.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | let v: Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `v` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 215 ~ [INFO] [stdout] 216 | let buf: &[u8] = data.data.as_slice(); [INFO] [stdout] 217 | let (sz, compr_sz) = Self::get_u32(buf); [INFO] [stdout] 218 ~ let v: Vec = if compr_sz == 0 { [INFO] [stdout] 219 | // uncompressed [INFO] [stdout] 220 ~ Self::get_strings(buf.get(sz..).unwrap()) [INFO] [stdout] 221 | } [INFO] [stdout] ... [INFO] [stdout] 225 | let buf = decomp.as_slice(); [INFO] [stdout] 226 ~ Self::get_strings(buf) [INFO] [stdout] 227 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `buf` [INFO] [stdout] --> src/clangd.rs:234:18 [INFO] [stdout] | [INFO] [stdout] 234 | for i in 0..buf.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 234 - for i in 0..buf.len() { [INFO] [stdout] 234 + for in &buf { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | cs.data = symbols::Symbol::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdSymbols { data: symbols::Symbol::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | let mut cs: ClangdSymbols = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | cs.data = srcs::Srcs::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdSources { data: srcs::Srcs::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | let mut cs: ClangdSources = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | cr.data = rela::Rela::parse(data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdRelations { data: rela::Rela::parse(data) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 257 | let mut cr: ClangdRelations = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | cr.data = refs::Refs::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdReferences { data: refs::Refs::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:263:9 [INFO] [stdout] | [INFO] [stdout] 263 | let mut cr: ClangdReferences = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:270:9 [INFO] [stdout] | [INFO] [stdout] 270 | ccl.data = cmdl::Cmdl::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdCmdLine { data: cmdl::Cmdl::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | let mut ccl: ClangdCmdLine = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | cm.version = data.data.clone().as_slice().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdMetaData { version: data.data.clone().as_slice().try_into().unwrap() }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 275 | let mut cm: ClangdMetaData = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/symbols.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 265 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/symbols.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | s.id = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `symbols::Symbol { id: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/symbols.rs:271:13 [INFO] [stdout] | [INFO] [stdout] 271 | let mut s: Symbol = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:280:50 [INFO] [stdout] | [INFO] [stdout] 280 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:284:50 [INFO] [stdout] | [INFO] [stdout] 284 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:288:50 [INFO] [stdout] | [INFO] [stdout] 288 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:292:58 [INFO] [stdout] | [INFO] [stdout] 292 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:296:58 [INFO] [stdout] | [INFO] [stdout] 296 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:300:50 [INFO] [stdout] | [INFO] [stdout] 300 | let (sz, content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:307:50 [INFO] [stdout] | [INFO] [stdout] 307 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:311:50 [INFO] [stdout] | [INFO] [stdout] 311 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:315:50 [INFO] [stdout] | [INFO] [stdout] 315 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:319:50 [INFO] [stdout] | [INFO] [stdout] 319 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:323:50 [INFO] [stdout] | [INFO] [stdout] 323 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:327:52 [INFO] [stdout] | [INFO] [stdout] 327 | let (sz, h_content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:332:54 [INFO] [stdout] | [INFO] [stdout] 332 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:335:54 [INFO] [stdout] | [INFO] [stdout] 335 | let (sz, content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rela.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let mut db = task::block_on(_run(p)); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/rela.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | r.subject = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `rela::Rela { subject: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/rela.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | let mut r: Rela = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/refs.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/refs.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | r.id = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `refs::Refs { id: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/refs.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut r: Refs = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/refs.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | rr.kind = SymbolKind::from(data[cursor]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `refs::RefReferences { kind: SymbolKind::from(data[cursor]), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/refs.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | let mut rr: RefReferences = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/refs.rs:41:62 [INFO] [stdout] | [INFO] [stdout] 41 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/clangd.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | || !(shift < 32) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `(shift >= 32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/clangd.rs:51:45 [INFO] [stdout] | [INFO] [stdout] 51 | fn get_string(buf: &[u8], string_table: &Vec) -> (usize, String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 51 - fn get_string(buf: &[u8], string_table: &Vec) -> (usize, String) { [INFO] [stdout] 51 + fn get_string(buf: &[u8], string_table: &[String]) -> (usize, String) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/srcs.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/srcs.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | src.flags = SourceFlags::from(data[cursor]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `srcs::Srcs { flags: SourceFlags::from(data[cursor]), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/srcs.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut src: Srcs = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/clangd.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let bytes_read: usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 55 | bytes_read = sz; [INFO] [stdout] | ^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `bytes_read` here [INFO] [stdout] | [INFO] [stdout] 52 ~ [INFO] [stdout] 53 | let mut s: String = String::new(); [INFO] [stdout] 54 | let (sz, idx) = Self::get_varint(buf); [INFO] [stdout] 55 ~ let bytes_read: usize = sz; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `buf` [INFO] [stdout] --> src/clangd.rs:66:18 [INFO] [stdout] | [INFO] [stdout] 66 | for i in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 66 - for i in 0..4 { [INFO] [stdout] 66 + for (i, ) in buf.iter().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmdl.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/lib.rs:55:18 [INFO] [stdout] | [INFO] [stdout] 55 | async fn _run(p: &PathBuf) -> clangd::ClangdDatabase { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 55 - async fn _run(p: &PathBuf) -> clangd::ClangdDatabase { [INFO] [stdout] 55 + async fn _run(p: &Path) -> clangd::ClangdDatabase { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `_ret` after checking its variant with `is_ok` [INFO] [stdout] --> src/lib.rs:77:26 [INFO] [stdout] | [INFO] [stdout] 73 | if _ret.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = _ret` [INFO] [stdout] ... [INFO] [stdout] 77 | let db = _ret.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `BTreeMap` [INFO] [stdout] --> src/lib.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | / if !to_file.contains_key(&fname) { [INFO] [stdout] 79 | | let _ = to_file.insert(fname, db.clone()); [INFO] [stdout] 80 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 78 ~ if let std::collections::btree_map::Entry::Vacant(e) = to_file.entry(fname) { [INFO] [stdout] 79 + let _ = { e.insert(db.clone()); None }; [INFO] [stdout] 80 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 8]` which implements the `Copy` trait [INFO] [stdout] --> src/lib.rs:83:46 [INFO] [stdout] | [INFO] [stdout] 83 | let _ = to_id.insert(sym.id.clone(), sym.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `sym.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `riff` after checking its variant with `is_err` [INFO] [stdout] --> src/clangd.rs:155:46 [INFO] [stdout] | [INFO] [stdout] 154 | if riff.is_err() { [INFO] [stdout] | ---------------- help: try: `if let Err() = riff` [INFO] [stdout] 155 | return Err(ParseError::RiffError(riff.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/clangd.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | let v: Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `v` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 215 ~ [INFO] [stdout] 216 | let buf: &[u8] = data.data.as_slice(); [INFO] [stdout] 217 | let (sz, compr_sz) = Self::get_u32(buf); [INFO] [stdout] 218 ~ let v: Vec = if compr_sz == 0 { [INFO] [stdout] 219 | // uncompressed [INFO] [stdout] 220 ~ Self::get_strings(buf.get(sz..).unwrap()) [INFO] [stdout] 221 | } [INFO] [stdout] ... [INFO] [stdout] 225 | let buf = decomp.as_slice(); [INFO] [stdout] 226 ~ Self::get_strings(buf) [INFO] [stdout] 227 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `buf` [INFO] [stdout] --> src/clangd.rs:234:18 [INFO] [stdout] | [INFO] [stdout] 234 | for i in 0..buf.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 234 - for i in 0..buf.len() { [INFO] [stdout] 234 + for in &buf { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | cs.data = symbols::Symbol::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdSymbols { data: symbols::Symbol::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | let mut cs: ClangdSymbols = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | cs.data = srcs::Srcs::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdSources { data: srcs::Srcs::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | let mut cs: ClangdSources = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | cr.data = rela::Rela::parse(data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdRelations { data: rela::Rela::parse(data) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 257 | let mut cr: ClangdRelations = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | cr.data = refs::Refs::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdReferences { data: refs::Refs::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:263:9 [INFO] [stdout] | [INFO] [stdout] 263 | let mut cr: ClangdReferences = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:270:9 [INFO] [stdout] | [INFO] [stdout] 270 | ccl.data = cmdl::Cmdl::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdCmdLine { data: cmdl::Cmdl::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | let mut ccl: ClangdCmdLine = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | cm.version = data.data.clone().as_slice().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdMetaData { version: data.data.clone().as_slice().try_into().unwrap() }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 275 | let mut cm: ClangdMetaData = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/symbols.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 265 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/symbols.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | s.id = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `symbols::Symbol { id: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/symbols.rs:271:13 [INFO] [stdout] | [INFO] [stdout] 271 | let mut s: Symbol = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:280:50 [INFO] [stdout] | [INFO] [stdout] 280 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:284:50 [INFO] [stdout] | [INFO] [stdout] 284 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:288:50 [INFO] [stdout] | [INFO] [stdout] 288 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:292:58 [INFO] [stdout] | [INFO] [stdout] 292 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:296:58 [INFO] [stdout] | [INFO] [stdout] 296 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:300:50 [INFO] [stdout] | [INFO] [stdout] 300 | let (sz, content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:307:50 [INFO] [stdout] | [INFO] [stdout] 307 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:311:50 [INFO] [stdout] | [INFO] [stdout] 311 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:315:50 [INFO] [stdout] | [INFO] [stdout] 315 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:319:50 [INFO] [stdout] | [INFO] [stdout] 319 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:323:50 [INFO] [stdout] | [INFO] [stdout] 323 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:327:52 [INFO] [stdout] | [INFO] [stdout] 327 | let (sz, h_content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:332:54 [INFO] [stdout] | [INFO] [stdout] 332 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:335:54 [INFO] [stdout] | [INFO] [stdout] 335 | let (sz, content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rela.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/rela.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | r.subject = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `rela::Rela { subject: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/rela.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | let mut r: Rela = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/refs.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/refs.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | r.id = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `refs::Refs { id: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/refs.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut r: Refs = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/refs.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | rr.kind = SymbolKind::from(data[cursor]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `refs::RefReferences { kind: SymbolKind::from(data[cursor]), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/refs.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | let mut rr: RefReferences = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/refs.rs:41:62 [INFO] [stdout] | [INFO] [stdout] 41 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/srcs.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/srcs.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | src.flags = SourceFlags::from(data[cursor]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `srcs::Srcs { flags: SourceFlags::from(data[cursor]), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/srcs.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut src: Srcs = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmdl.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do [INFO] [stdout] --> src/lib.rs:55:18 [INFO] [stdout] | [INFO] [stdout] 55 | async fn _run(p: &PathBuf) -> clangd::ClangdDatabase { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 55 - async fn _run(p: &PathBuf) -> clangd::ClangdDatabase { [INFO] [stdout] 55 + async fn _run(p: &Path) -> clangd::ClangdDatabase { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `_ret` after checking its variant with `is_ok` [INFO] [stdout] --> src/lib.rs:77:26 [INFO] [stdout] | [INFO] [stdout] 73 | if _ret.is_ok() { [INFO] [stdout] | --------------- help: try: `if let Ok() = _ret` [INFO] [stdout] ... [INFO] [stdout] 77 | let db = _ret.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of `contains_key` followed by `insert` on a `BTreeMap` [INFO] [stdout] --> src/lib.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | / if !to_file.contains_key(&fname) { [INFO] [stdout] 79 | | let _ = to_file.insert(fname, db.clone()); [INFO] [stdout] 80 | | } [INFO] [stdout] | |_________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_entry [INFO] [stdout] = note: `#[warn(clippy::map_entry)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 78 ~ if let std::collections::btree_map::Entry::Vacant(e) = to_file.entry(fname) { [INFO] [stdout] 79 + let _ = { e.insert(db.clone()); None }; [INFO] [stdout] 80 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u8; 8]` which implements the `Copy` trait [INFO] [stdout] --> src/lib.rs:83:46 [INFO] [stdout] | [INFO] [stdout] 83 | let _ = to_id.insert(sym.id.clone(), sym.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `sym.id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/clangd.rs:67:20 [INFO] [stdout] | [INFO] [stdout] 67 | ret |= (buf[i] as u32) << i*8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(buf[i] as u32) << (i*8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | use clangd_parser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/clangd.rs:67:20 [INFO] [stdout] | [INFO] [stdout] 67 | ret |= (buf[i] as u32) << i*8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(buf[i] as u32) << (i*8)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> src/main.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | use clangd_parser; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/clangd.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | RiffError(ChunkError), [INFO] [stdout] | --------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 - RiffError(ChunkError), [INFO] [stdout] 16 + RiffError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ClangdFileMap` is never used [INFO] [stdout] --> src/clangd.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub type ClangdFileMap = BTreeMap; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ClangdIdMap` is never used [INFO] [stdout] --> src/clangd.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | pub type ClangdIdMap = BTreeMap; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ClangdNameMap` is never used [INFO] [stdout] --> src/clangd.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub type ClangdNameMap = BTreeMap; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClangdDatabase` is never constructed [INFO] [stdout] --> src/clangd.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct ClangdDatabase { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `file_type` is never read [INFO] [stdout] --> src/clangd.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct ClangdFile { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 137 | pub file_type: ClangdFileType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClangdFile` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cnt` is never read [INFO] [stdout] --> src/refs.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Refs { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 15 | pub id: SymbolId, [INFO] [stdout] 16 | pub cnt: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Refs` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `subkind` and `properties` are never read [INFO] [stdout] --> src/symbols.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 141 | pub struct SymbolInfo { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 142 | pub kind: SymbolKind, [INFO] [stdout] 143 | pub subkind: SymbolSubKind, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 144 | pub lang: SymbolLanguage, [INFO] [stdout] 145 | pub properties: SymbolPropertySet, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SymbolInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `origin` is never read [INFO] [stdout] --> src/symbols.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 240 | pub struct Symbol { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 249 | pub origin: SymbolOrigin, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Symbol` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/clangd.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | || !(shift < 32) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `(shift >= 32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/clangd.rs:51:45 [INFO] [stdout] | [INFO] [stdout] 51 | fn get_string(buf: &[u8], string_table: &Vec) -> (usize, String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 51 - fn get_string(buf: &[u8], string_table: &Vec) -> (usize, String) { [INFO] [stdout] 51 + fn get_string(buf: &[u8], string_table: &[String]) -> (usize, String) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/clangd.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let bytes_read: usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 55 | bytes_read = sz; [INFO] [stdout] | ^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `bytes_read` here [INFO] [stdout] | [INFO] [stdout] 52 ~ [INFO] [stdout] 53 | let mut s: String = String::new(); [INFO] [stdout] 54 | let (sz, idx) = Self::get_varint(buf); [INFO] [stdout] 55 ~ let bytes_read: usize = sz; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `buf` [INFO] [stdout] --> src/clangd.rs:66:18 [INFO] [stdout] | [INFO] [stdout] 66 | for i in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 66 - for i in 0..4 { [INFO] [stdout] 66 + for (i, ) in buf.iter().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/clangd.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | RiffError(ChunkError), [INFO] [stdout] | --------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 16 - RiffError(ChunkError), [INFO] [stdout] 16 + RiffError(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ClangdFileMap` is never used [INFO] [stdout] --> src/clangd.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub type ClangdFileMap = BTreeMap; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ClangdIdMap` is never used [INFO] [stdout] --> src/clangd.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | pub type ClangdIdMap = BTreeMap; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ClangdNameMap` is never used [INFO] [stdout] --> src/clangd.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub type ClangdNameMap = BTreeMap; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClangdDatabase` is never constructed [INFO] [stdout] --> src/clangd.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct ClangdDatabase { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `file_type` is never read [INFO] [stdout] --> src/clangd.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 121 | pub struct ClangdFile { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 137 | pub file_type: ClangdFileType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClangdFile` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cnt` is never read [INFO] [stdout] --> src/refs.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Refs { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 15 | pub id: SymbolId, [INFO] [stdout] 16 | pub cnt: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Refs` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `subkind` and `properties` are never read [INFO] [stdout] --> src/symbols.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 141 | pub struct SymbolInfo { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 142 | pub kind: SymbolKind, [INFO] [stdout] 143 | pub subkind: SymbolSubKind, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 144 | pub lang: SymbolLanguage, [INFO] [stdout] 145 | pub properties: SymbolPropertySet, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SymbolInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `origin` is never read [INFO] [stdout] --> src/symbols.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 240 | pub struct Symbol { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 249 | pub origin: SymbolOrigin, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Symbol` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/clangd.rs:44:16 [INFO] [stdout] | [INFO] [stdout] 44 | || !(shift < 32) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `(shift >= 32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/clangd.rs:51:45 [INFO] [stdout] | [INFO] [stdout] 51 | fn get_string(buf: &[u8], string_table: &Vec) -> (usize, String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 51 - fn get_string(buf: &[u8], string_table: &Vec) -> (usize, String) { [INFO] [stdout] 51 + fn get_string(buf: &[u8], string_table: &[String]) -> (usize, String) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/clangd.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | let bytes_read: usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 55 | bytes_read = sz; [INFO] [stdout] | ^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `bytes_read` here [INFO] [stdout] | [INFO] [stdout] 52 ~ [INFO] [stdout] 53 | let mut s: String = String::new(); [INFO] [stdout] 54 | let (sz, idx) = Self::get_varint(buf); [INFO] [stdout] 55 ~ let bytes_read: usize = sz; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `buf` [INFO] [stdout] --> src/clangd.rs:66:18 [INFO] [stdout] | [INFO] [stdout] 66 | for i in 0..4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 66 - for i in 0..4 { [INFO] [stdout] 66 + for (i, ) in buf.iter().enumerate().take(4) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `riff` after checking its variant with `is_err` [INFO] [stdout] --> src/clangd.rs:155:46 [INFO] [stdout] | [INFO] [stdout] 154 | if riff.is_err() { [INFO] [stdout] | ---------------- help: try: `if let Err() = riff` [INFO] [stdout] 155 | return Err(ParseError::RiffError(riff.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap_err` on `riff` after checking its variant with `is_err` [INFO] [stdout] --> src/clangd.rs:155:46 [INFO] [stdout] | [INFO] [stdout] 154 | if riff.is_err() { [INFO] [stdout] | ---------------- help: try: `if let Err() = riff` [INFO] [stdout] 155 | return Err(ParseError::RiffError(riff.unwrap_err())); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/clangd.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | let v: Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `v` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 215 ~ [INFO] [stdout] 216 | let buf: &[u8] = data.data.as_slice(); [INFO] [stdout] 217 | let (sz, compr_sz) = Self::get_u32(buf); [INFO] [stdout] 218 ~ let v: Vec = if compr_sz == 0 { [INFO] [stdout] 219 | // uncompressed [INFO] [stdout] 220 ~ Self::get_strings(buf.get(sz..).unwrap()) [INFO] [stdout] 221 | } [INFO] [stdout] ... [INFO] [stdout] 225 | let buf = decomp.as_slice(); [INFO] [stdout] 226 ~ Self::get_strings(buf) [INFO] [stdout] 227 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `buf` [INFO] [stdout] --> src/clangd.rs:234:18 [INFO] [stdout] | [INFO] [stdout] 234 | for i in 0..buf.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 234 - for i in 0..buf.len() { [INFO] [stdout] 234 + for in &buf { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | cs.data = symbols::Symbol::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdSymbols { data: symbols::Symbol::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | let mut cs: ClangdSymbols = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | cs.data = srcs::Srcs::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdSources { data: srcs::Srcs::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | let mut cs: ClangdSources = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | cr.data = rela::Rela::parse(data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdRelations { data: rela::Rela::parse(data) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 257 | let mut cr: ClangdRelations = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | cr.data = refs::Refs::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdReferences { data: refs::Refs::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:263:9 [INFO] [stdout] | [INFO] [stdout] 263 | let mut cr: ClangdReferences = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/clangd.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | let v: Vec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `v` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 215 ~ [INFO] [stdout] 216 | let buf: &[u8] = data.data.as_slice(); [INFO] [stdout] 217 | let (sz, compr_sz) = Self::get_u32(buf); [INFO] [stdout] 218 ~ let v: Vec = if compr_sz == 0 { [INFO] [stdout] 219 | // uncompressed [INFO] [stdout] 220 ~ Self::get_strings(buf.get(sz..).unwrap()) [INFO] [stdout] 221 | } [INFO] [stdout] ... [INFO] [stdout] 225 | let buf = decomp.as_slice(); [INFO] [stdout] 226 ~ Self::get_strings(buf) [INFO] [stdout] 227 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `buf` [INFO] [stdout] --> src/clangd.rs:234:18 [INFO] [stdout] | [INFO] [stdout] 234 | for i in 0..buf.len() { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 234 - for i in 0..buf.len() { [INFO] [stdout] 234 + for in &buf { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | cs.data = symbols::Symbol::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdSymbols { data: symbols::Symbol::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:245:9 [INFO] [stdout] | [INFO] [stdout] 245 | let mut cs: ClangdSymbols = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:270:9 [INFO] [stdout] | [INFO] [stdout] 270 | ccl.data = cmdl::Cmdl::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdCmdLine { data: cmdl::Cmdl::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | let mut ccl: ClangdCmdLine = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:252:9 [INFO] [stdout] | [INFO] [stdout] 252 | cs.data = srcs::Srcs::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdSources { data: srcs::Srcs::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:251:9 [INFO] [stdout] | [INFO] [stdout] 251 | let mut cs: ClangdSources = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | cm.version = data.data.clone().as_slice().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdMetaData { version: data.data.clone().as_slice().try_into().unwrap() }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 275 | let mut cm: ClangdMetaData = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rela.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:258:9 [INFO] [stdout] | [INFO] [stdout] 258 | cr.data = rela::Rela::parse(data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdRelations { data: rela::Rela::parse(data) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:257:9 [INFO] [stdout] | [INFO] [stdout] 257 | let mut cr: ClangdRelations = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:264:9 [INFO] [stdout] | [INFO] [stdout] 264 | cr.data = refs::Refs::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdReferences { data: refs::Refs::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:263:9 [INFO] [stdout] | [INFO] [stdout] 263 | let mut cr: ClangdReferences = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:270:9 [INFO] [stdout] | [INFO] [stdout] 270 | ccl.data = cmdl::Cmdl::parse(data, string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdCmdLine { data: cmdl::Cmdl::parse(data, string_table) }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | let mut ccl: ClangdCmdLine = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/rela.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | r.subject = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `rela::Rela { subject: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/rela.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | let mut r: Rela = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/clangd.rs:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | cm.version = data.data.clone().as_slice().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `clangd::ClangdMetaData { version: data.data.clone().as_slice().try_into().unwrap() }` and removing relevant reassignments [INFO] [stdout] --> src/clangd.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 275 | let mut cm: ClangdMetaData = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/rela.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/rela.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | r.subject = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `rela::Rela { subject: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/rela.rs:42:13 [INFO] [stdout] | [INFO] [stdout] 42 | let mut r: Rela = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/refs.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/refs.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | r.id = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `refs::Refs { id: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/refs.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut r: Refs = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/refs.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | rr.kind = SymbolKind::from(data[cursor]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `refs::RefReferences { kind: SymbolKind::from(data[cursor]), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/refs.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | let mut rr: RefReferences = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/refs.rs:41:62 [INFO] [stdout] | [INFO] [stdout] 41 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/refs.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/refs.rs:33:13 [INFO] [stdout] | [INFO] [stdout] 33 | r.id = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `refs::Refs { id: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/refs.rs:32:13 [INFO] [stdout] | [INFO] [stdout] 32 | let mut r: Refs = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/refs.rs:39:17 [INFO] [stdout] | [INFO] [stdout] 39 | rr.kind = SymbolKind::from(data[cursor]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `refs::RefReferences { kind: SymbolKind::from(data[cursor]), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/refs.rs:38:17 [INFO] [stdout] | [INFO] [stdout] 38 | let mut rr: RefReferences = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/refs.rs:41:62 [INFO] [stdout] | [INFO] [stdout] 41 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/srcs.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/srcs.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | src.flags = SourceFlags::from(data[cursor]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `srcs::Srcs { flags: SourceFlags::from(data[cursor]), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/srcs.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut src: Srcs = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/srcs.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/srcs.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | src.flags = SourceFlags::from(data[cursor]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `srcs::Srcs { flags: SourceFlags::from(data[cursor]), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/srcs.rs:48:13 [INFO] [stdout] | [INFO] [stdout] 48 | let mut src: Srcs = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CXX` contains a capitalized acronym [INFO] [stdout] --> src/symbols.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | CXX, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Cxx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CXX` contains a capitalized acronym [INFO] [stdout] --> src/symbols.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | CXX, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter (notice the capitalization): `Cxx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `AST` contains a capitalized acronym [INFO] [stdout] --> src/symbols.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | AST = 1 << 0, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Ast` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `AST` contains a capitalized acronym [INFO] [stdout] --> src/symbols.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | AST = 1 << 0, [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Ast` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/symbols.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 265 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/symbols.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | s.id = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `symbols::Symbol { id: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/symbols.rs:271:13 [INFO] [stdout] | [INFO] [stdout] 271 | let mut s: Symbol = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:280:50 [INFO] [stdout] | [INFO] [stdout] 280 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:284:50 [INFO] [stdout] | [INFO] [stdout] 284 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:288:50 [INFO] [stdout] | [INFO] [stdout] 288 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/symbols.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 265 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:292:58 [INFO] [stdout] | [INFO] [stdout] 292 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> src/symbols.rs:272:13 [INFO] [stdout] | [INFO] [stdout] 272 | s.id = data.get(cursor..cursor+8).unwrap().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `symbols::Symbol { id: data.get(cursor..cursor+8).unwrap().try_into().unwrap(), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> src/symbols.rs:271:13 [INFO] [stdout] | [INFO] [stdout] 271 | let mut s: Symbol = Default::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:296:58 [INFO] [stdout] | [INFO] [stdout] 296 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:300:50 [INFO] [stdout] | [INFO] [stdout] 300 | let (sz, content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:280:50 [INFO] [stdout] | [INFO] [stdout] 280 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:307:50 [INFO] [stdout] | [INFO] [stdout] 307 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:284:50 [INFO] [stdout] | [INFO] [stdout] 284 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:311:50 [INFO] [stdout] | [INFO] [stdout] 311 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:315:50 [INFO] [stdout] | [INFO] [stdout] 315 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:288:50 [INFO] [stdout] | [INFO] [stdout] 288 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:319:50 [INFO] [stdout] | [INFO] [stdout] 319 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:292:58 [INFO] [stdout] | [INFO] [stdout] 292 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:323:50 [INFO] [stdout] | [INFO] [stdout] 323 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:296:58 [INFO] [stdout] | [INFO] [stdout] 296 | let (sz, loc) = SymbolLocation::get_location(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:327:52 [INFO] [stdout] | [INFO] [stdout] 327 | let (sz, h_content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:300:50 [INFO] [stdout] | [INFO] [stdout] 300 | let (sz, content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:332:54 [INFO] [stdout] | [INFO] [stdout] 332 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:307:50 [INFO] [stdout] | [INFO] [stdout] 307 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:335:54 [INFO] [stdout] | [INFO] [stdout] 335 | let (sz, content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:311:50 [INFO] [stdout] | [INFO] [stdout] 311 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:315:50 [INFO] [stdout] | [INFO] [stdout] 315 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:319:50 [INFO] [stdout] | [INFO] [stdout] 319 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:323:50 [INFO] [stdout] | [INFO] [stdout] 323 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:327:52 [INFO] [stdout] | [INFO] [stdout] 327 | let (sz, h_content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmdl.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:332:54 [INFO] [stdout] | [INFO] [stdout] 332 | let (sz, content) = Self::get_string(&data.get(cursor..).unwrap(), string_table); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/symbols.rs:335:54 [INFO] [stdout] | [INFO] [stdout] 335 | let (sz, content) = Self::get_varint(&data.get(cursor..).unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `data.get(cursor..).unwrap()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/cmdl.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | if data.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | let results; [INFO] [stdout] | ^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 29 | results = clangd_parser::run(&p); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `results` here [INFO] [stdout] | [INFO] [stdout] 24 ~ [INFO] [stdout] 25 | let timer = SystemTime::now(); [INFO] [stdout] ... [INFO] [stdout] 28 | [INFO] [stdout] 29 ~ let results = clangd_parser::run(&p); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/main.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | let results; [INFO] [stdout] | ^^^^^^^^^^^^ created here [INFO] [stdout] ... [INFO] [stdout] 29 | results = clangd_parser::run(&p); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ initialised here [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] help: move the declaration `results` here [INFO] [stdout] | [INFO] [stdout] 24 ~ [INFO] [stdout] 25 | let timer = SystemTime::now(); [INFO] [stdout] ... [INFO] [stdout] 28 | [INFO] [stdout] 29 ~ let results = clangd_parser::run(&p); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.78s [INFO] running `Command { std: "docker" "inspect" "64c01ec3a98b02345d5730affa1e0e4b87ef739b47465ad2b179a6a3bd847261", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "64c01ec3a98b02345d5730affa1e0e4b87ef739b47465ad2b179a6a3bd847261", kill_on_drop: false }` [INFO] [stdout] 64c01ec3a98b02345d5730affa1e0e4b87ef739b47465ad2b179a6a3bd847261