[INFO] updating cached repository penguin-wwy/BitcodeRecompiler [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/penguin-wwy/BitcodeRecompiler [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/penguin-wwy/BitcodeRecompiler" "work/ex/clippy-test-run/sources/stable/gh/penguin-wwy/BitcodeRecompiler"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/penguin-wwy/BitcodeRecompiler'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/penguin-wwy/BitcodeRecompiler" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/penguin-wwy/BitcodeRecompiler"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/penguin-wwy/BitcodeRecompiler'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 1cdc3dc565191e036e00525283babddff4446942 [INFO] sha for GitHub repo penguin-wwy/BitcodeRecompiler: 1cdc3dc565191e036e00525283babddff4446942 [INFO] validating manifest of penguin-wwy/BitcodeRecompiler 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 penguin-wwy/BitcodeRecompiler 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 penguin-wwy/BitcodeRecompiler [INFO] finished frobbing penguin-wwy/BitcodeRecompiler [INFO] frobbed toml for penguin-wwy/BitcodeRecompiler written to work/ex/clippy-test-run/sources/stable/gh/penguin-wwy/BitcodeRecompiler/Cargo.toml [INFO] started frobbing penguin-wwy/BitcodeRecompiler [INFO] finished frobbing penguin-wwy/BitcodeRecompiler [INFO] frobbed toml for penguin-wwy/BitcodeRecompiler written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/penguin-wwy/BitcodeRecompiler/Cargo.toml [INFO] crate penguin-wwy/BitcodeRecompiler 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 penguin-wwy/BitcodeRecompiler against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/penguin-wwy/BitcodeRecompiler:/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] 4862f5709461547e2cb492cc53bcdd7525dd0ef48a7c97297f001229e46ad927 [INFO] running `"docker" "start" "-a" "4862f5709461547e2cb492cc53bcdd7525dd0ef48a7c97297f001229e46ad927"` [INFO] [stderr] Checking memmap v0.6.2 [INFO] [stderr] Checking uuid v0.6.3 [INFO] [stderr] Checking failure v0.1.1 [INFO] [stderr] Checking mach_object v0.1.10 [INFO] [stderr] Checking BitcodeRecompiler v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `writeln!(&mut w, "")` [INFO] [stderr] --> src/context.rs:32:21 [INFO] [stderr] | [INFO] [stderr] 32 | writeln!(&mut w, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(&mut w)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(&mut w, "")` [INFO] [stderr] --> src/context.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | writeln!(&mut w, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(&mut w)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(&mut w, "")` [INFO] [stderr] --> src/context.rs:32:21 [INFO] [stderr] | [INFO] [stderr] 32 | writeln!(&mut w, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(&mut w)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(&mut w, "")` [INFO] [stderr] --> src/context.rs:41:9 [INFO] [stderr] | [INFO] [stderr] 41 | writeln!(&mut w, "")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(&mut w)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/context.rs:8:28 [INFO] [stderr] | [INFO] [stderr] 8 | const DEFAULT_IPHONE_SDK: &'static str = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/context.rs:9:28 [INFO] [stderr] | [INFO] [stderr] 9 | const DEFAULT_MACOSX_SDK: &'static str = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/context.rs:10:27 [INFO] [stderr] | [INFO] [stderr] 10 | const DEFAULT_TOOLCHAIN: &'static str = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/context.rs:12:23 [INFO] [stderr] | [INFO] [stderr] 12 | const LIB_CLANG_OSX: &'static str = "libclang_rt.osx.a"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/context.rs:13:23 [INFO] [stderr] | [INFO] [stderr] 13 | const LIB_CLANG_IOS: &'static str = "libclang_rt.ios.a"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/context.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [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: unused import: `exit` [INFO] [stderr] --> src/process.rs:9:36 [INFO] [stderr] | [INFO] [stderr] 9 | use std::process::{Command, Stdio, exit}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/process.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | const SEGMENT_NAME: &'static str = "__LLVM"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/process.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | const SECTION_NAME: &'static str = "__bundle"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/process.rs:54:17 [INFO] [stderr] | [INFO] [stderr] 54 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [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/process.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [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/process.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [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/process.rs:223:9 [INFO] [stderr] | [INFO] [stderr] 223 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [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/process.rs:271:9 [INFO] [stderr] | [INFO] [stderr] 271 | return Ok(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(false)` [INFO] [stderr] | [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/process.rs:343:9 [INFO] [stderr] | [INFO] [stderr] 343 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/context.rs:8:28 [INFO] [stderr] | [INFO] [stderr] 8 | const DEFAULT_IPHONE_SDK: &'static str = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/context.rs:9:28 [INFO] [stderr] | [INFO] [stderr] 9 | const DEFAULT_MACOSX_SDK: &'static str = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/context.rs:10:27 [INFO] [stderr] | [INFO] [stderr] 10 | const DEFAULT_TOOLCHAIN: &'static str = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/context.rs:12:23 [INFO] [stderr] | [INFO] [stderr] 12 | const LIB_CLANG_OSX: &'static str = "libclang_rt.osx.a"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/context.rs:13:23 [INFO] [stderr] | [INFO] [stderr] 13 | const LIB_CLANG_IOS: &'static str = "libclang_rt.ios.a"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/context.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [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: unused import: `exit` [INFO] [stderr] --> src/process.rs:9:36 [INFO] [stderr] | [INFO] [stderr] 9 | use std::process::{Command, Stdio, exit}; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/process.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | const SEGMENT_NAME: &'static str = "__LLVM"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/process.rs:16:22 [INFO] [stderr] | [INFO] [stderr] 16 | const SECTION_NAME: &'static str = "__bundle"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/process.rs:54:17 [INFO] [stderr] | [INFO] [stderr] 54 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [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/process.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [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/process.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [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/process.rs:223:9 [INFO] [stderr] | [INFO] [stderr] 223 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [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/process.rs:271:9 [INFO] [stderr] | [INFO] [stderr] 271 | return Ok(false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(false)` [INFO] [stderr] | [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/process.rs:343:9 [INFO] [stderr] | [INFO] [stderr] 343 | return Ok(true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(true)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/process.rs:264:29 [INFO] [stderr] | [INFO] [stderr] 264 | break 'outer; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `magic` [INFO] [stderr] --> src/process.rs:56:31 [INFO] [stderr] | [INFO] [stderr] 56 | &OFile::FatFile { magic, ref files } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `magic: _` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `files` [INFO] [stderr] --> src/process.rs:56:42 [INFO] [stderr] | [INFO] [stderr] 56 | &OFile::FatFile { magic, ref files } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `files: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `files` [INFO] [stderr] --> src/process.rs:60:34 [INFO] [stderr] | [INFO] [stderr] 60 | &OFile::ArFile { ref files } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `files: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ranlibs` [INFO] [stderr] --> src/process.rs:64:34 [INFO] [stderr] | [INFO] [stderr] 64 | &OFile::SymDef { ref ranlibs } => { [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `ranlibs: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:80:48 [INFO] [stderr] | [INFO] [stderr] 80 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:94:48 [INFO] [stderr] | [INFO] [stderr] 94 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:109:48 [INFO] [stderr] | [INFO] [stderr] 109 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:124:48 [INFO] [stderr] | [INFO] [stderr] 124 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:139:48 [INFO] [stderr] | [INFO] [stderr] 139 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:174:40 [INFO] [stderr] | [INFO] [stderr] 174 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `process_compile` [INFO] [stderr] --> src/process.rs:211:25 [INFO] [stderr] | [INFO] [stderr] 211 | let mut process_compile = Command::new("clang").arg("-cc1").args(v).spawn().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using `_process_compile` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `header` [INFO] [stderr] --> src/process.rs:226:37 [INFO] [stderr] | [INFO] [stderr] 226 | fn handle_macho_file(&mut self, header: &MachHeader, commands: &[MachCommand], ctxt: &mut FileContext) -> Result { [INFO] [stderr] | ^^^^^^ help: consider using `_header` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/process.rs:306:13 [INFO] [stderr] | [INFO] [stderr] 306 | let mut search = Command::new("find") [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `hexdump` [INFO] [stderr] --> src/context.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn hexdump(&mut self, addr: usize, size: usize) -> Result, Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: crate `BitcodeRecompiler` should have a snake case name such as `bitcode_recompiler` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/context.rs:98:16 [INFO] [stderr] | [INFO] [stderr] 98 | if let Some(_) = framework.find("/usr/lib") { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 99 | | return; [INFO] [stderr] 100 | | } [INFO] [stderr] | |_________- help: try this: `if framework.find("/usr/lib").is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:133:17 [INFO] [stderr] | [INFO] [stderr] 133 | writeln!(stderr(), "no support platform."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | writeln!(stderr(), "sdk path is not exist."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:147:25 [INFO] [stderr] | [INFO] [stderr] 147 | writeln!(stderr(), "the sdk is inconsistent with the platform."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:162:25 [INFO] [stderr] | [INFO] [stderr] 162 | writeln!(stderr(), "no support platform."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:167:21 [INFO] [stderr] | [INFO] [stderr] 167 | writeln!(stderr(), "no sdk path."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:177:21 [INFO] [stderr] | [INFO] [stderr] 177 | writeln!(stderr(), "ToolChain path is not exist."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:186:21 [INFO] [stderr] | [INFO] [stderr] 186 | writeln!(stderr(), "no ToolChain path."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/process.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | / match ofile { [INFO] [stderr] 36 | | &OFile::MachFile { [INFO] [stderr] 37 | | ref header, [INFO] [stderr] 38 | | ref commands, [INFO] [stderr] ... | [INFO] [stderr] 67 | | }, [INFO] [stderr] 68 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 35 | match *ofile { [INFO] [stderr] 36 | OFile::MachFile { [INFO] [stderr] 37 | ref header, [INFO] [stderr] 38 | ref commands, [INFO] [stderr] 39 | } => { [INFO] [stderr] 40 | if self.handle_macho_file(header, commands, ctxt).unwrap() == true { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/process.rs:40:20 [INFO] [stderr] | [INFO] [stderr] 40 | if self.handle_macho_file(header, commands, ctxt).unwrap() == true { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `self.handle_macho_file(header, commands, ctxt).unwrap()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: unreachable statement [INFO] [stderr] --> src/process.rs:264:29 [INFO] [stderr] | [INFO] [stderr] 264 | break 'outer; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/process.rs:41:24 [INFO] [stderr] | [INFO] [stderr] 41 | if self.parse_xml(sdk_path, tool_chain).unwrap() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.parse_xml(sdk_path, tool_chain).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/process.rs:45:24 [INFO] [stderr] | [INFO] [stderr] 45 | if self.compiler_files().unwrap() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.compiler_files().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/process.rs:49:24 [INFO] [stderr] | [INFO] [stderr] 49 | if self.link_objects().unwrap() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.link_objects().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:57:17 [INFO] [stderr] | [INFO] [stderr] 57 | writeln!(stderr(), "No support"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | writeln!(stderr(), "No support"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | writeln!(stderr(), "No support"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/process.rs:71:76 [INFO] [stderr] | [INFO] [stderr] 71 | fn parse_element(&mut self, parse: &mut EventReader, local_name: &String) -> Result where T: Read { [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 71 | fn parse_element(&mut self, parse: &mut EventReader, local_name: &str) -> Result where T: Read { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `local_name.as_str()` to [INFO] [stderr] | [INFO] [stderr] 73 | match local_name { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/process.rs:170:24 [INFO] [stderr] | [INFO] [stderr] 170 | if self.parse_element::>(&mut parse, &name.local_name).unwrap() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.parse_element::>(&mut parse, &name.local_name).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/process.rs:181:12 [INFO] [stderr] | [INFO] [stderr] 181 | if self.re_info.choose_path_from_platform(sdk_path, tool_chain).unwrap() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.re_info.choose_path_from_platform(sdk_path, tool_chain).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/process.rs:235:25 [INFO] [stderr] | [INFO] [stderr] 235 | for ref sect in sections { [INFO] [stderr] | ^^^^^^^^ -------- help: try: `let sect = §ions;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/process.rs:241:59 [INFO] [stderr] | [INFO] [stderr] 241 | ctxt.cur.seek(SeekFrom::Start(sect.offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(sect.offset)` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/process.rs:246:29 [INFO] [stderr] | [INFO] [stderr] 246 | output_file.write(&dump[..])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/process.rs:283:43 [INFO] [stderr] | [INFO] [stderr] 283 | let off = match opt.rfind("/") { [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:319:17 [INFO] [stderr] | [INFO] [stderr] 319 | writeln!(stderr(), "find libclang_rt error."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:324:13 [INFO] [stderr] | [INFO] [stderr] 324 | writeln!(stderr(), "find libclang_rt failed."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:339:13 [INFO] [stderr] | [INFO] [stderr] 339 | writeln!(stderr(), "ld error!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | mach_process.handle_ofile(&ofile, &mut filectx, matchs.opt_str("sdk"), matchs.opt_str("tool")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] warning: unused variable: `magic` [INFO] [stderr] --> src/process.rs:56:31 [INFO] [stderr] | [INFO] [stderr] 56 | &OFile::FatFile { magic, ref files } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `magic: _` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `files` [INFO] [stderr] --> src/process.rs:56:42 [INFO] [stderr] | [INFO] [stderr] 56 | &OFile::FatFile { magic, ref files } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `files: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `files` [INFO] [stderr] --> src/process.rs:60:34 [INFO] [stderr] | [INFO] [stderr] 60 | &OFile::ArFile { ref files } => { [INFO] [stderr] | ^^^^^ help: try ignoring the field: `files: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ranlibs` [INFO] [stderr] --> src/process.rs:64:34 [INFO] [stderr] | [INFO] [stderr] 64 | &OFile::SymDef { ref ranlibs } => { [INFO] [stderr] | ^^^^^^^ help: try ignoring the field: `ranlibs: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:80:48 [INFO] [stderr] | [INFO] [stderr] 80 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:94:48 [INFO] [stderr] | [INFO] [stderr] 94 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:109:48 [INFO] [stderr] | [INFO] [stderr] 109 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:124:48 [INFO] [stderr] | [INFO] [stderr] 124 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:139:48 [INFO] [stderr] | [INFO] [stderr] 139 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/process.rs:174:40 [INFO] [stderr] | [INFO] [stderr] 174 | XmlEvent::EndElement { name } => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `process_compile` [INFO] [stderr] --> src/process.rs:211:25 [INFO] [stderr] | [INFO] [stderr] 211 | let mut process_compile = Command::new("clang").arg("-cc1").args(v).spawn().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider using `_process_compile` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `header` [INFO] [stderr] --> src/process.rs:226:37 [INFO] [stderr] | [INFO] [stderr] 226 | fn handle_macho_file(&mut self, header: &MachHeader, commands: &[MachCommand], ctxt: &mut FileContext) -> Result { [INFO] [stderr] | ^^^^^^ help: consider using `_header` instead [INFO] [stderr] [INFO] [stderr] error: Could not compile `BitcodeRecompiler`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/process.rs:306:13 [INFO] [stderr] | [INFO] [stderr] 306 | let mut search = Command::new("find") [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `hexdump` [INFO] [stderr] --> src/context.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn hexdump(&mut self, addr: usize, size: usize) -> Result, Error> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: crate `BitcodeRecompiler` should have a snake case name such as `bitcode_recompiler` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/context.rs:98:16 [INFO] [stderr] | [INFO] [stderr] 98 | if let Some(_) = framework.find("/usr/lib") { [INFO] [stderr] | _________- ^^^^^^^ [INFO] [stderr] 99 | | return; [INFO] [stderr] 100 | | } [INFO] [stderr] | |_________- help: try this: `if framework.find("/usr/lib").is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:133:17 [INFO] [stderr] | [INFO] [stderr] 133 | writeln!(stderr(), "no support platform."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:141:21 [INFO] [stderr] | [INFO] [stderr] 141 | writeln!(stderr(), "sdk path is not exist."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:147:25 [INFO] [stderr] | [INFO] [stderr] 147 | writeln!(stderr(), "the sdk is inconsistent with the platform."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:162:25 [INFO] [stderr] | [INFO] [stderr] 162 | writeln!(stderr(), "no support platform."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:167:21 [INFO] [stderr] | [INFO] [stderr] 167 | writeln!(stderr(), "no sdk path."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:177:21 [INFO] [stderr] | [INFO] [stderr] 177 | writeln!(stderr(), "ToolChain path is not exist."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/context.rs:186:21 [INFO] [stderr] | [INFO] [stderr] 186 | writeln!(stderr(), "no ToolChain path."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/process.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | / match ofile { [INFO] [stderr] 36 | | &OFile::MachFile { [INFO] [stderr] 37 | | ref header, [INFO] [stderr] 38 | | ref commands, [INFO] [stderr] ... | [INFO] [stderr] 67 | | }, [INFO] [stderr] 68 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 35 | match *ofile { [INFO] [stderr] 36 | OFile::MachFile { [INFO] [stderr] 37 | ref header, [INFO] [stderr] 38 | ref commands, [INFO] [stderr] 39 | } => { [INFO] [stderr] 40 | if self.handle_macho_file(header, commands, ctxt).unwrap() == true { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: equality checks against true are unnecessary [INFO] [stderr] --> src/process.rs:40:20 [INFO] [stderr] | [INFO] [stderr] 40 | if self.handle_macho_file(header, commands, ctxt).unwrap() == true { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `self.handle_macho_file(header, commands, ctxt).unwrap()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::bool_comparison)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/process.rs:41:24 [INFO] [stderr] | [INFO] [stderr] 41 | if self.parse_xml(sdk_path, tool_chain).unwrap() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.parse_xml(sdk_path, tool_chain).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/process.rs:45:24 [INFO] [stderr] | [INFO] [stderr] 45 | if self.compiler_files().unwrap() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.compiler_files().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/process.rs:49:24 [INFO] [stderr] | [INFO] [stderr] 49 | if self.link_objects().unwrap() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.link_objects().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:57:17 [INFO] [stderr] | [INFO] [stderr] 57 | writeln!(stderr(), "No support"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | writeln!(stderr(), "No support"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | writeln!(stderr(), "No support"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/process.rs:71:76 [INFO] [stderr] | [INFO] [stderr] 71 | fn parse_element(&mut self, parse: &mut EventReader, local_name: &String) -> Result where T: Read { [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 71 | fn parse_element(&mut self, parse: &mut EventReader, local_name: &str) -> Result where T: Read { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `local_name.as_str()` to [INFO] [stderr] | [INFO] [stderr] 73 | match local_name { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/process.rs:170:24 [INFO] [stderr] | [INFO] [stderr] 170 | if self.parse_element::>(&mut parse, &name.local_name).unwrap() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.parse_element::>(&mut parse, &name.local_name).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: equality checks against false can be replaced by a negation [INFO] [stderr] --> src/process.rs:181:12 [INFO] [stderr] | [INFO] [stderr] 181 | if self.re_info.choose_path_from_platform(sdk_path, tool_chain).unwrap() == false { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try simplifying it as shown: `!self.re_info.choose_path_from_platform(sdk_path, tool_chain).unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/process.rs:235:25 [INFO] [stderr] | [INFO] [stderr] 235 | for ref sect in sections { [INFO] [stderr] | ^^^^^^^^ -------- help: try: `let sect = §ions;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/process.rs:241:59 [INFO] [stderr] | [INFO] [stderr] 241 | ctxt.cur.seek(SeekFrom::Start(sect.offset as u64))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(sect.offset)` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/process.rs:246:29 [INFO] [stderr] | [INFO] [stderr] 246 | output_file.write(&dump[..])?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/process.rs:283:43 [INFO] [stderr] | [INFO] [stderr] 283 | let off = match opt.rfind("/") { [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:319:17 [INFO] [stderr] | [INFO] [stderr] 319 | writeln!(stderr(), "find libclang_rt error."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:324:13 [INFO] [stderr] | [INFO] [stderr] 324 | writeln!(stderr(), "find libclang_rt failed."); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/process.rs:339:13 [INFO] [stderr] | [INFO] [stderr] 339 | writeln!(stderr(), "ld error!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | mach_process.handle_ofile(&ofile, &mut filectx, matchs.opt_str("sdk"), matchs.opt_str("tool")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `BitcodeRecompiler`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "4862f5709461547e2cb492cc53bcdd7525dd0ef48a7c97297f001229e46ad927"` [INFO] running `"docker" "rm" "-f" "4862f5709461547e2cb492cc53bcdd7525dd0ef48a7c97297f001229e46ad927"` [INFO] [stdout] 4862f5709461547e2cb492cc53bcdd7525dd0ef48a7c97297f001229e46ad927