[INFO] updating cached repository yurydelendik/dwarf-to-json [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/yurydelendik/dwarf-to-json [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/yurydelendik/dwarf-to-json" "work/ex/clippy-test-run/sources/stable/gh/yurydelendik/dwarf-to-json"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/yurydelendik/dwarf-to-json'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/yurydelendik/dwarf-to-json" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yurydelendik/dwarf-to-json"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yurydelendik/dwarf-to-json'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 7126ab22bbda4e19e7a37967690a0536c1f2fff0 [INFO] sha for GitHub repo yurydelendik/dwarf-to-json: 7126ab22bbda4e19e7a37967690a0536c1f2fff0 [INFO] validating manifest of yurydelendik/dwarf-to-json on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of yurydelendik/dwarf-to-json on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing yurydelendik/dwarf-to-json [INFO] finished frobbing yurydelendik/dwarf-to-json [INFO] frobbed toml for yurydelendik/dwarf-to-json written to work/ex/clippy-test-run/sources/stable/gh/yurydelendik/dwarf-to-json/Cargo.toml [INFO] started frobbing yurydelendik/dwarf-to-json [INFO] finished frobbing yurydelendik/dwarf-to-json [INFO] frobbed toml for yurydelendik/dwarf-to-json written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yurydelendik/dwarf-to-json/Cargo.toml [INFO] crate yurydelendik/dwarf-to-json has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting yurydelendik/dwarf-to-json against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/yurydelendik/dwarf-to-json:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 9bffd97d611e2d1aacf05979c9694d607d0c25600251ac6aedd028c080548ab0 [INFO] running `"docker" "start" "-a" "9bffd97d611e2d1aacf05979c9694d607d0c25600251ac6aedd028c080548ab0"` [INFO] [stderr] Checking byteorder v1.2.7 [INFO] [stderr] Checking stable_deref_trait v1.1.1 [INFO] [stderr] Checking fallible-iterator v0.1.5 [INFO] [stderr] Checking vlq v0.5.1 [INFO] [stderr] Checking gimli v0.16.1 [INFO] [stderr] Checking dwarf-to-json v0.1.6 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | return p.offset(mem::size_of::() as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `p.offset(mem::size_of::() as isize)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:38:9 [INFO] [stderr] | [INFO] [stderr] 38 | return p.offset(mem::size_of::() as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `p.offset(mem::size_of::() as isize)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/convert.rs:68:6 [INFO] [stderr] | [INFO] [stderr] 68 | ) -> Result<(HashMap<&str, &[u8]>, Option), WasmFormatError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/convert.rs:103:55 [INFO] [stderr] | [INFO] [stderr] 103 | serde_json::from_str(prefixes_decoder.str()?).unwrap_or(vec![]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| vec![])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/convert.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | if prefixes_pairs.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `prefixes_pairs.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:62:18 [INFO] [stderr] | [INFO] [stderr] 62 | low_pc < 1 + fn_size_field_len as i64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(fn_size_field_len)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/dwarf.rs:121:17 [INFO] [stderr] | [INFO] [stderr] 121 | ranges.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `ranges.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/dwarf.rs:134:12 [INFO] [stderr] | [INFO] [stderr] 134 | if item.children.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!item.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/convert.rs:68:6 [INFO] [stderr] | [INFO] [stderr] 68 | ) -> Result<(HashMap<&str, &[u8]>, Option), WasmFormatError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/convert.rs:103:55 [INFO] [stderr] | [INFO] [stderr] 103 | serde_json::from_str(prefixes_decoder.str()?).unwrap_or(vec![]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| vec![])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/convert.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | if prefixes_pairs.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `prefixes_pairs.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/dwarf.rs:189:64 [INFO] [stderr] | [INFO] [stderr] 189 | let id = (if let Some(position) = sources.iter().position(|&ref x| *x == file_name) { [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | (d[0] as i64) | ((d[1] as i64) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:200:22 [INFO] [stderr] | [INFO] [stderr] 200 | (d[0] as i64) | ((d[1] as i64) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:5 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:22 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:45 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:69 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:62:18 [INFO] [stderr] | [INFO] [stderr] 62 | low_pc < 1 + fn_size_field_len as i64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(fn_size_field_len)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/convert.rs:68:6 [INFO] [stderr] | [INFO] [stderr] 68 | ) -> Result<(HashMap<&str, &[u8]>, Option), WasmFormatError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/dwarf.rs:121:17 [INFO] [stderr] | [INFO] [stderr] 121 | ranges.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `ranges.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/dwarf.rs:134:12 [INFO] [stderr] | [INFO] [stderr] 134 | if item.children.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!item.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/convert.rs:68:6 [INFO] [stderr] | [INFO] [stderr] 68 | ) -> Result<(HashMap<&str, &[u8]>, Option), WasmFormatError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/convert.rs:103:55 [INFO] [stderr] | [INFO] [stderr] 103 | serde_json::from_str(prefixes_decoder.str()?).unwrap_or(vec![]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| vec![])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/convert.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | if prefixes_pairs.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `prefixes_pairs.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/dwarf.rs:189:64 [INFO] [stderr] | [INFO] [stderr] 189 | let id = (if let Some(position) = sources.iter().position(|&ref x| *x == file_name) { [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `x` [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/convert.rs:103:55 [INFO] [stderr] | [INFO] [stderr] 103 | serde_json::from_str(prefixes_decoder.str()?).unwrap_or(vec![]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| vec![])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/convert.rs:104:8 [INFO] [stderr] | [INFO] [stderr] 104 | if prefixes_pairs.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `prefixes_pairs.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | (d[0] as i64) | ((d[1] as i64) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:200:22 [INFO] [stderr] | [INFO] [stderr] 200 | (d[0] as i64) | ((d[1] as i64) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:5 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:22 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:45 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:69 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | let ref debug_str = DebugStr::new(&debug_sections[".debug_str"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^-------------------------------------------------------------- help: try: `let debug_str = &DebugStr::new(&debug_sections[".debug_str"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | let ref debug_abbrev = DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^-------------------------------------------------------------------- help: try: `let debug_abbrev = &DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | let ref debug_info = DebugInfo::new(&debug_sections[".debug_info"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_info = &DebugInfo::new(&debug_sections[".debug_info"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:215:9 [INFO] [stderr] | [INFO] [stderr] 215 | let ref debug_line = DebugLine::new(&debug_sections[".debug_line"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_line = &DebugLine::new(&debug_sections[".debug_line"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:62:18 [INFO] [stderr] | [INFO] [stderr] 62 | low_pc < 1 + fn_size_field_len as i64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(fn_size_field_len)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dwarf.rs:268:29 [INFO] [stderr] | [INFO] [stderr] 268 | unit_infos.comp_dir.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `unit_infos.comp_dir` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dwarf.rs:269:29 [INFO] [stderr] | [INFO] [stderr] 269 | unit_infos.comp_name.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `unit_infos.comp_name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:298:69 [INFO] [stderr] | [INFO] [stderr] 298 | AttributeValue::Data1(u) => DebugAttrValue::I64(u[0] as i64), [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(u[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:62:18 [INFO] [stderr] | [INFO] [stderr] 62 | low_pc < 1 + fn_size_field_len as i64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(fn_size_field_len)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/dwarf.rs:121:17 [INFO] [stderr] | [INFO] [stderr] 121 | ranges.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `ranges.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/dwarf.rs:134:12 [INFO] [stderr] | [INFO] [stderr] 134 | if item.children.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!item.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | let ref debug_str = DebugStr::new(&debug_sections[".debug_str"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^-------------------------------------------------------------- help: try: `let debug_str = &DebugStr::new(&debug_sections[".debug_str"], LittleEndian);` [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/dwarf.rs:121:17 [INFO] [stderr] | [INFO] [stderr] 121 | ranges.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `ranges.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/dwarf.rs:134:12 [INFO] [stderr] | [INFO] [stderr] 134 | if item.children.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!item.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | let ref debug_abbrev = DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^-------------------------------------------------------------------- help: try: `let debug_abbrev = &DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | let ref debug_info = DebugInfo::new(&debug_sections[".debug_info"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_info = &DebugInfo::new(&debug_sections[".debug_info"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:215:9 [INFO] [stderr] | [INFO] [stderr] 215 | let ref debug_line = DebugLine::new(&debug_sections[".debug_line"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_line = &DebugLine::new(&debug_sections[".debug_line"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dwarf.rs:268:29 [INFO] [stderr] | [INFO] [stderr] 268 | unit_infos.comp_dir.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `unit_infos.comp_dir` [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/dwarf.rs:189:64 [INFO] [stderr] | [INFO] [stderr] 189 | let id = (if let Some(position) = sources.iter().position(|&ref x| *x == file_name) { [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | (d[0] as i64) | ((d[1] as i64) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:200:22 [INFO] [stderr] | [INFO] [stderr] 200 | (d[0] as i64) | ((d[1] as i64) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:5 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:22 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:45 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dwarf.rs:269:29 [INFO] [stderr] | [INFO] [stderr] 269 | unit_infos.comp_name.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `unit_infos.comp_name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:298:69 [INFO] [stderr] | [INFO] [stderr] 298 | AttributeValue::Data1(u) => DebugAttrValue::I64(u[0] as i64), [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(u[0])` [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:69 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:411:9 [INFO] [stderr] | [INFO] [stderr] 411 | let ref debug_str = DebugStr::new(&debug_sections[".debug_str"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^-------------------------------------------------------------- help: try: `let debug_str = &DebugStr::new(&debug_sections[".debug_str"], LittleEndian);` [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/dwarf.rs:189:64 [INFO] [stderr] | [INFO] [stderr] 189 | let id = (if let Some(position) = sources.iter().position(|&ref x| *x == file_name) { [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_borrowed_reference)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:200:5 [INFO] [stderr] | [INFO] [stderr] 200 | (d[0] as i64) | ((d[1] as i64) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:200:22 [INFO] [stderr] | [INFO] [stderr] 200 | (d[0] as i64) | ((d[1] as i64) << 8) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:5 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:22 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[1])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:45 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[2])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:204:69 [INFO] [stderr] | [INFO] [stderr] 204 | (d[0] as i64) | ((d[1] as i64) << 8) | ((d[2] as i64) << 16) | ((d[3] as i64) << 24) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i64::from(d[3])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:412:9 [INFO] [stderr] | [INFO] [stderr] 412 | let ref debug_abbrev = DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^-------------------------------------------------------------------- help: try: `let debug_abbrev = &DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:413:9 [INFO] [stderr] | [INFO] [stderr] 413 | let ref debug_info = DebugInfo::new(&debug_sections[".debug_info"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_info = &DebugInfo::new(&debug_sections[".debug_info"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:414:9 [INFO] [stderr] | [INFO] [stderr] 414 | let ref debug_line = DebugLine::new(&debug_sections[".debug_line"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_line = &DebugLine::new(&debug_sections[".debug_line"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:411:9 [INFO] [stderr] | [INFO] [stderr] 411 | let ref debug_str = DebugStr::new(&debug_sections[".debug_str"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^-------------------------------------------------------------- help: try: `let debug_str = &DebugStr::new(&debug_sections[".debug_str"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:412:9 [INFO] [stderr] | [INFO] [stderr] 412 | let ref debug_abbrev = DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^-------------------------------------------------------------------- help: try: `let debug_abbrev = &DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:413:9 [INFO] [stderr] | [INFO] [stderr] 413 | let ref debug_info = DebugInfo::new(&debug_sections[".debug_info"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_info = &DebugInfo::new(&debug_sections[".debug_info"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:414:9 [INFO] [stderr] | [INFO] [stderr] 414 | let ref debug_line = DebugLine::new(&debug_sections[".debug_line"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_line = &DebugLine::new(&debug_sections[".debug_line"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/dwarf.rs:458:47 [INFO] [stderr] | [INFO] [stderr] 458 | if !file_path.starts_with("/") && comp_dir.is_some() { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/dwarf.rs:463:36 [INFO] [stderr] | [INFO] [stderr] 463 | .position(|&ref p| *p == file_path) [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:500:62 [INFO] [stderr] | [INFO] [stderr] 500 | if locations[block_start_loc].address <= fn_size_field_len as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(fn_size_field_len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/dwarf.rs:458:47 [INFO] [stderr] | [INFO] [stderr] 458 | if !file_path.starts_with("/") && comp_dir.is_some() { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/dwarf.rs:463:36 [INFO] [stderr] | [INFO] [stderr] 463 | .position(|&ref p| *p == file_path) [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:500:62 [INFO] [stderr] | [INFO] [stderr] 500 | if locations[block_start_loc].address <= fn_size_field_len as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(fn_size_field_len)` [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | let ref debug_str = DebugStr::new(&debug_sections[".debug_str"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^-------------------------------------------------------------- help: try: `let debug_str = &DebugStr::new(&debug_sections[".debug_str"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | let ref debug_abbrev = DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^-------------------------------------------------------------------- help: try: `let debug_abbrev = &DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | let ref debug_info = DebugInfo::new(&debug_sections[".debug_info"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_info = &DebugInfo::new(&debug_sections[".debug_info"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:215:9 [INFO] [stderr] | [INFO] [stderr] 215 | let ref debug_line = DebugLine::new(&debug_sections[".debug_line"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_line = &DebugLine::new(&debug_sections[".debug_line"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/to_json.rs:31:30 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn convert_scopes(infos: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[DebugInfoObj]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/to_json.rs:31:30 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn convert_scopes(infos: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[DebugInfoObj]` [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:212:9 [INFO] [stderr] | [INFO] [stderr] 212 | let ref debug_str = DebugStr::new(&debug_sections[".debug_str"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^-------------------------------------------------------------- help: try: `let debug_str = &DebugStr::new(&debug_sections[".debug_str"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:213:9 [INFO] [stderr] | [INFO] [stderr] 213 | let ref debug_abbrev = DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^-------------------------------------------------------------------- help: try: `let debug_abbrev = &DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | let ref debug_info = DebugInfo::new(&debug_sections[".debug_info"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_info = &DebugInfo::new(&debug_sections[".debug_info"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:215:9 [INFO] [stderr] | [INFO] [stderr] 215 | let ref debug_line = DebugLine::new(&debug_sections[".debug_line"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_line = &DebugLine::new(&debug_sections[".debug_line"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dwarf.rs:268:29 [INFO] [stderr] | [INFO] [stderr] 268 | unit_infos.comp_dir.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `unit_infos.comp_dir` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dwarf.rs:269:29 [INFO] [stderr] | [INFO] [stderr] 269 | unit_infos.comp_name.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `unit_infos.comp_name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:298:69 [INFO] [stderr] | [INFO] [stderr] 298 | AttributeValue::Data1(u) => DebugAttrValue::I64(u[0] as i64), [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(u[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/to_json.rs:67:12 [INFO] [stderr] | [INFO] [stderr] 67 | if entry.children.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!entry.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dwarf.rs:268:29 [INFO] [stderr] | [INFO] [stderr] 268 | unit_infos.comp_dir.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `unit_infos.comp_dir` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/dwarf.rs:269:29 [INFO] [stderr] | [INFO] [stderr] 269 | unit_infos.comp_name.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `unit_infos.comp_name` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:298:69 [INFO] [stderr] | [INFO] [stderr] 298 | AttributeValue::Data1(u) => DebugAttrValue::I64(u[0] as i64), [INFO] [stderr] | ^^^^^^^^^^^ help: try: `i64::from(u[0])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/to_json.rs:67:12 [INFO] [stderr] | [INFO] [stderr] 67 | if entry.children.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!entry.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:91:31 [INFO] [stderr] | [INFO] [stderr] 91 | let source_id_delta = loc.source_id as i64 - last_source_id; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.source_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | let line_delta = loc.line as i64 - last_line; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(loc.line)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | let column = if loc.column == 0 { 1 } else { loc.column } as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(if loc.column == 0 { 1 } else { loc.column })` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:101:26 [INFO] [stderr] | [INFO] [stderr] 101 | last_source_id = loc.source_id as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.source_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | last_line = loc.line as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(loc.line)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:103:23 [INFO] [stderr] | [INFO] [stderr] 103 | last_column = loc.column as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.column)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/to_json.rs:106:8 [INFO] [stderr] | [INFO] [stderr] 106 | if di.locations.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!di.locations.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wasm.rs:31:19 [INFO] [stderr] | [INFO] [stderr] 31 | result |= ((byte & 0x7F) as u32) << shift; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(byte & 0x7F)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/wasm.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | self.data.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:411:9 [INFO] [stderr] | [INFO] [stderr] 411 | let ref debug_str = DebugStr::new(&debug_sections[".debug_str"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^-------------------------------------------------------------- help: try: `let debug_str = &DebugStr::new(&debug_sections[".debug_str"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:412:9 [INFO] [stderr] | [INFO] [stderr] 412 | let ref debug_abbrev = DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^-------------------------------------------------------------------- help: try: `let debug_abbrev = &DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:413:9 [INFO] [stderr] | [INFO] [stderr] 413 | let ref debug_info = DebugInfo::new(&debug_sections[".debug_info"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_info = &DebugInfo::new(&debug_sections[".debug_info"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:414:9 [INFO] [stderr] | [INFO] [stderr] 414 | let ref debug_line = DebugLine::new(&debug_sections[".debug_line"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_line = &DebugLine::new(&debug_sections[".debug_line"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:91:31 [INFO] [stderr] | [INFO] [stderr] 91 | let source_id_delta = loc.source_id as i64 - last_source_id; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.source_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | let line_delta = loc.line as i64 - last_line; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(loc.line)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | let column = if loc.column == 0 { 1 } else { loc.column } as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(if loc.column == 0 { 1 } else { loc.column })` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:101:26 [INFO] [stderr] | [INFO] [stderr] 101 | last_source_id = loc.source_id as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.source_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | last_line = loc.line as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(loc.line)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:103:23 [INFO] [stderr] | [INFO] [stderr] 103 | last_column = loc.column as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.column)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/to_json.rs:106:8 [INFO] [stderr] | [INFO] [stderr] 106 | if di.locations.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!di.locations.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wasm.rs:31:19 [INFO] [stderr] | [INFO] [stderr] 31 | result |= ((byte & 0x7F) as u32) << shift; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(byte & 0x7F)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/wasm.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | self.data.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/dwarf.rs:458:47 [INFO] [stderr] | [INFO] [stderr] 458 | if !file_path.starts_with("/") && comp_dir.is_some() { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/dwarf.rs:463:36 [INFO] [stderr] | [INFO] [stderr] 463 | .position(|&ref p| *p == file_path) [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:500:62 [INFO] [stderr] | [INFO] [stderr] 500 | if locations[block_start_loc].address <= fn_size_field_len as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(fn_size_field_len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:411:9 [INFO] [stderr] | [INFO] [stderr] 411 | let ref debug_str = DebugStr::new(&debug_sections[".debug_str"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^-------------------------------------------------------------- help: try: `let debug_str = &DebugStr::new(&debug_sections[".debug_str"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:412:9 [INFO] [stderr] | [INFO] [stderr] 412 | let ref debug_abbrev = DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^^^-------------------------------------------------------------------- help: try: `let debug_abbrev = &DebugAbbrev::new(&debug_sections[".debug_abbrev"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:413:9 [INFO] [stderr] | [INFO] [stderr] 413 | let ref debug_info = DebugInfo::new(&debug_sections[".debug_info"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_info = &DebugInfo::new(&debug_sections[".debug_info"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/dwarf.rs:414:9 [INFO] [stderr] | [INFO] [stderr] 414 | let ref debug_line = DebugLine::new(&debug_sections[".debug_line"], LittleEndian); [INFO] [stderr] | ----^^^^^^^^^^^^^^---------------------------------------------------------------- help: try: `let debug_line = &DebugLine::new(&debug_sections[".debug_line"], LittleEndian);` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] error: casting from `*mut u8` to a more-strictly-aligned pointer (`*mut usize`) [INFO] [stderr] --> src/lib.rs:36:10 [INFO] [stderr] | [INFO] [stderr] 36 | *(p as *mut usize) = size; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/lib.rs:38:16 [INFO] [stderr] | [INFO] [stderr] 38 | return p.offset(mem::size_of::() as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.add(mem::size_of::())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | let v = p.offset(-(mem::size_of::() as isize)); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::not_unsafe_ptr_arg_deref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: casting from `*mut u8` to a more-strictly-aligned pointer (`*mut usize`) [INFO] [stderr] --> src/lib.rs:46:21 [INFO] [stderr] | [INFO] [stderr] 46 | let size = *(v as *mut usize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:59:53 [INFO] [stderr] | [INFO] [stderr] 59 | let wasm_bytes = unsafe { slice::from_raw_parts(wasm, wasm_len) }; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:62:14 [INFO] [stderr] | [INFO] [stderr] 62 | *output = alloc_mem(json.len()) as *const u8; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:63:14 [INFO] [stderr] | [INFO] [stderr] 63 | *output_len = json.len(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:64:40 [INFO] [stderr] | [INFO] [stderr] 64 | slice::from_raw_parts_mut(*output as *mut u8, *output_len) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:64:60 [INFO] [stderr] | [INFO] [stderr] 64 | slice::from_raw_parts_mut(*output as *mut u8, *output_len) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:70:18 [INFO] [stderr] | [INFO] [stderr] 70 | *output_len = 0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/dwarf.rs:458:47 [INFO] [stderr] | [INFO] [stderr] 458 | if !file_path.starts_with("/") && comp_dir.is_some() { [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/to_json.rs:31:30 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn convert_scopes(infos: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[DebugInfoObj]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: this pattern takes a reference on something that is being de-referenced [INFO] [stderr] --> src/dwarf.rs:463:36 [INFO] [stderr] | [INFO] [stderr] 463 | .position(|&ref p| *p == file_path) [INFO] [stderr] | ^^^^^^ help: try removing the `&ref` part and just keep: `p` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/dwarf.rs:500:62 [INFO] [stderr] | [INFO] [stderr] 500 | if locations[block_start_loc].address <= fn_size_field_len as u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(fn_size_field_len)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: aborting due to 9 previous errors [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/to_json.rs:31:30 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn convert_scopes(infos: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&[DebugInfoObj]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: Could not compile `dwarf-to-json`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/to_json.rs:67:12 [INFO] [stderr] | [INFO] [stderr] 67 | if entry.children.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!entry.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/to_json.rs:67:12 [INFO] [stderr] | [INFO] [stderr] 67 | if entry.children.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!entry.children.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:91:31 [INFO] [stderr] | [INFO] [stderr] 91 | let source_id_delta = loc.source_id as i64 - last_source_id; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.source_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | let line_delta = loc.line as i64 - last_line; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(loc.line)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | let column = if loc.column == 0 { 1 } else { loc.column } as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(if loc.column == 0 { 1 } else { loc.column })` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:101:26 [INFO] [stderr] | [INFO] [stderr] 101 | last_source_id = loc.source_id as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.source_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | last_line = loc.line as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(loc.line)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:103:23 [INFO] [stderr] | [INFO] [stderr] 103 | last_column = loc.column as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.column)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/to_json.rs:106:8 [INFO] [stderr] | [INFO] [stderr] 106 | if di.locations.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!di.locations.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wasm.rs:31:19 [INFO] [stderr] | [INFO] [stderr] 31 | result |= ((byte & 0x7F) as u32) << shift; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(byte & 0x7F)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/wasm.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | self.data.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:91:31 [INFO] [stderr] | [INFO] [stderr] 91 | let source_id_delta = loc.source_id as i64 - last_source_id; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.source_id)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:93:26 [INFO] [stderr] | [INFO] [stderr] 93 | let line_delta = loc.line as i64 - last_line; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(loc.line)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: casting from `*mut u8` to a more-strictly-aligned pointer (`*mut usize`) [INFO] [stderr] --> src/lib.rs:36:10 [INFO] [stderr] | [INFO] [stderr] 36 | *(p as *mut usize) = size; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:95:22 [INFO] [stderr] | [INFO] [stderr] 95 | let column = if loc.column == 0 { 1 } else { loc.column } as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(if loc.column == 0 { 1 } else { loc.column })` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/lib.rs:38:16 [INFO] [stderr] | [INFO] [stderr] 38 | return p.offset(mem::size_of::() as isize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `p.add(mem::size_of::())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:101:26 [INFO] [stderr] | [INFO] [stderr] 101 | last_source_id = loc.source_id as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.source_id)` [INFO] [stderr] | [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | let v = p.offset(-(mem::size_of::() as isize)); [INFO] [stderr] | ^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::not_unsafe_ptr_arg_deref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:102:21 [INFO] [stderr] | [INFO] [stderr] 102 | last_line = loc.line as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i64::from(loc.line)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/to_json.rs:103:23 [INFO] [stderr] | [INFO] [stderr] 103 | last_column = loc.column as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `i64::from(loc.column)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/to_json.rs:106:8 [INFO] [stderr] | [INFO] [stderr] 106 | if di.locations.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!di.locations.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: casting from `*mut u8` to a more-strictly-aligned pointer (`*mut usize`) [INFO] [stderr] --> src/lib.rs:46:21 [INFO] [stderr] | [INFO] [stderr] 46 | let size = *(v as *mut usize); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:59:53 [INFO] [stderr] | [INFO] [stderr] 59 | let wasm_bytes = unsafe { slice::from_raw_parts(wasm, wasm_len) }; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:62:14 [INFO] [stderr] | [INFO] [stderr] 62 | *output = alloc_mem(json.len()) as *const u8; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:63:14 [INFO] [stderr] | [INFO] [stderr] 63 | *output_len = json.len(); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:64:40 [INFO] [stderr] | [INFO] [stderr] 64 | slice::from_raw_parts_mut(*output as *mut u8, *output_len) [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:64:60 [INFO] [stderr] | [INFO] [stderr] 64 | slice::from_raw_parts_mut(*output as *mut u8, *output_len) [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] error: this public function dereferences a raw pointer but is not marked `unsafe` [INFO] [stderr] --> src/lib.rs:70:18 [INFO] [stderr] | [INFO] [stderr] 70 | *output_len = 0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#not_unsafe_ptr_arg_deref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wasm.rs:31:19 [INFO] [stderr] | [INFO] [stderr] 31 | result |= ((byte & 0x7F) as u32) << shift; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(byte & 0x7F)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/wasm.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | self.data.len() == 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: aborting due to 9 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `dwarf-to-json`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "9bffd97d611e2d1aacf05979c9694d607d0c25600251ac6aedd028c080548ab0"` [INFO] running `"docker" "rm" "-f" "9bffd97d611e2d1aacf05979c9694d607d0c25600251ac6aedd028c080548ab0"` [INFO] [stdout] 9bffd97d611e2d1aacf05979c9694d607d0c25600251ac6aedd028c080548ab0