[INFO] crate capstone 0.5.0 is already in cache [INFO] extracting crate capstone 0.5.0 into work/ex/clippy-test-run/sources/stable/reg/capstone/0.5.0 [INFO] extracting crate capstone 0.5.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/capstone/0.5.0 [INFO] validating manifest of capstone-0.5.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of capstone-0.5.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing capstone-0.5.0 [INFO] finished frobbing capstone-0.5.0 [INFO] frobbed toml for capstone-0.5.0 written to work/ex/clippy-test-run/sources/stable/reg/capstone/0.5.0/Cargo.toml [INFO] started frobbing capstone-0.5.0 [INFO] finished frobbing capstone-0.5.0 [INFO] frobbed toml for capstone-0.5.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/capstone/0.5.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting capstone-0.5.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/capstone/0.5.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] b0ccb8f8ac2a7d6802112faaff4ed42f5c30c50fe7ea88579b505c156177ef62 [INFO] running `"docker" "start" "-a" "b0ccb8f8ac2a7d6802112faaff4ed42f5c30c50fe7ea88579b505c156177ef62"` [INFO] [stderr] Compiling capstone-sys v0.9.1 [INFO] [stderr] Checking macho v0.4.1 [INFO] [stderr] Checking stderrlog v0.4.1 [INFO] [stderr] Checking capstone v0.5.0 (/opt/crater/workdir) [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/test.rs:6:18 [INFO] [stderr] | [INFO] [stderr] 6 | const X86_CODE: &'static [u8] = b"\x55\x48\x8b\x05\xb8\x13\x00\x00"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/test.rs:7:18 [INFO] [stderr] | [INFO] [stderr] 7 | const ARM_CODE: &'static [u8] = b"\x55\x48\x8b\x05\xb8\x13\x00\x00"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/arch/ppc.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn base(&self) -> RegId { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/arch/ppc.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn disp(&self) -> i32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/arch/sparc.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn base(&self) -> RegId { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/arch/sparc.rs:69:18 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn index(&self) -> RegId { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/arch/sparc.rs:74:17 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn disp(&self) -> i32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: methods called `new` usually return `Self` [INFO] [stderr] --> src/capstone.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | / pub fn new() -> CapstoneBuilder { [INFO] [stderr] 105 | | CapstoneBuilder::new() [INFO] [stderr] 106 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_ret_no_self)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> examples/demo.rs:6:19 [INFO] [stderr] | [INFO] [stderr] 6 | const MIPS_CODE: &'static [u8] = b"\x56\x34\x21\x34\xc2\x17\x01\x00"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> examples/demo.rs:8:18 [INFO] [stderr] | [INFO] [stderr] 8 | const X86_CODE: &'static [u8] = b"\x55\x48\x8b\x05\xb8\x13\x00\x00\xe9\x14\x9e\x08\x00\x45\x31\xe4"; [INFO] [stderr] | -^^^^^^^----- help: consider removing `'static`: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/arch/arm.rs:370:24 [INFO] [stderr] | [INFO] [stderr] 370 | let a4_clone = a4.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `a4` [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/arch/ppc.rs:73:17 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn base(&self) -> RegId { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/arch/ppc.rs:78:17 [INFO] [stderr] | [INFO] [stderr] 78 | pub fn disp(&self) -> i32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/arch/sparc.rs:64:17 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn base(&self) -> RegId { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/arch/sparc.rs:69:18 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn index(&self) -> RegId { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/arch/sparc.rs:74:17 [INFO] [stderr] | [INFO] [stderr] 74 | pub fn disp(&self) -> i32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/arch/x86.rs:303:22 [INFO] [stderr] | [INFO] [stderr] 303 | let mut a2 = a1.clone(); [INFO] [stderr] | ^^^^^^^^^^ help: try removing the `clone` call: `a1` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/arch/x86.rs:316:30 [INFO] [stderr] | [INFO] [stderr] 316 | let mut op1_differ = op_count_differ.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `op_count_differ` [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: methods called `new` usually return `Self` [INFO] [stderr] --> src/capstone.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | / pub fn new() -> CapstoneBuilder { [INFO] [stderr] 105 | | CapstoneBuilder::new() [INFO] [stderr] 106 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_ret_no_self)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_ret_no_self [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/test.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | / match cs.reg_name(reg_id) { [INFO] [stderr] 91 | | Some(_) => assert!(false, "invalid register worked"), [INFO] [stderr] 92 | | None => {} [INFO] [stderr] 93 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Some(_) = cs.reg_name(reg_id) { assert!(false, "invalid register worked") }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/test.rs:96:13 [INFO] [stderr] | [INFO] [stderr] 96 | / match cs.insn_name(insn_id) { [INFO] [stderr] 97 | | Some(_) => assert!(false, "invalid instruction worked"), [INFO] [stderr] 98 | | None => {} [INFO] [stderr] 99 | | } [INFO] [stderr] | |_____________^ help: try this: `if let Some(_) = cs.insn_name(insn_id) { assert!(false, "invalid instruction worked") }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: the loop variable `insn_idx` is only used to index `insns`. [INFO] [stderr] --> src/test.rs:150:25 [INFO] [stderr] | [INFO] [stderr] 150 | for insn_idx in 0..1 + 1 { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 150 | for in insns.iter().take(1 + 1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/test.rs:150:25 [INFO] [stderr] | [INFO] [stderr] 150 | for insn_idx in 0..1 + 1 { [INFO] [stderr] | ^^^^^^^^ help: use: `0..=1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/test.rs:230:1 [INFO] [stderr] | [INFO] [stderr] 230 | / fn test_instruction_group_helper>( [INFO] [stderr] 231 | | cs: &Capstone, [INFO] [stderr] 232 | | insn: &Insn, [INFO] [stderr] 233 | | mnemonic_name: &str, [INFO] [stderr] ... | [INFO] [stderr] 292 | | ); [INFO] [stderr] 293 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/test.rs:297:21 [INFO] [stderr] | [INFO] [stderr] 297 | expected_insns: &[(&str, &[u8], &[cs_group_type::Type], &[R], &[R])], [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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/test.rs:302:30 [INFO] [stderr] | [INFO] [stderr] 302 | let insns_buf: Vec = expected_insns [INFO] [stderr] | ______________________________^ [INFO] [stderr] 303 | | .iter() [INFO] [stderr] 304 | | .flat_map(|&(_, bytes, _, _, _)| bytes) [INFO] [stderr] 305 | | .map(|x| *x) [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 302 | let insns_buf: Vec = expected_insns [INFO] [stderr] 303 | .iter() [INFO] [stderr] 304 | .flat_map(|&(_, bytes, _, _, _)| bytes).cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/test.rs:348:30 [INFO] [stderr] | [INFO] [stderr] 348 | let insns_buf: Vec = expected_insns [INFO] [stderr] | ______________________________^ [INFO] [stderr] 349 | | .iter() [INFO] [stderr] 350 | | .flat_map(|&(_, bytes)| bytes) [INFO] [stderr] 351 | | .map(|x| *x) [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 348 | let insns_buf: Vec = expected_insns [INFO] [stderr] 349 | .iter() [INFO] [stderr] 350 | .flat_map(|&(_, bytes)| bytes).cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/test.rs:387:30 [INFO] [stderr] | [INFO] [stderr] 387 | let insns_buf: Vec = info [INFO] [stderr] | ______________________________^ [INFO] [stderr] 388 | | .iter() [INFO] [stderr] 389 | | .flat_map(|ref info| info.bytes) [INFO] [stderr] 390 | | .map(|x| *x) [INFO] [stderr] | |____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 387 | let insns_buf: Vec = info [INFO] [stderr] 388 | .iter() [INFO] [stderr] 389 | .flat_map(|ref info| info.bytes).cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/test.rs:397:8 [INFO] [stderr] | [INFO] [stderr] 397 | if info.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `info.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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/test.rs:420:25 [INFO] [stderr] | [INFO] [stderr] 420 | let expected_insns: &[( [INFO] [stderr] | _________________________^ [INFO] [stderr] 421 | | &str, [INFO] [stderr] 422 | | &[u8], [INFO] [stderr] 423 | | &[cs_group_type::Type], [INFO] [stderr] 424 | | &[X86Reg::Type], [INFO] [stderr] 425 | | &[X86Reg::Type], [INFO] [stderr] 426 | | )] = &[ [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/test.rs:469:22 [INFO] [stderr] | [INFO] [stderr] 469 | let extra_mode = extra_mode.iter().map(|x| *x); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `extra_mode.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/test.rs:511:39 [INFO] [stderr] | [INFO] [stderr] 511 | Capstone::new_raw(arch, mode, extra_mode.iter().map(|x| *x), endian).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `extra_mode.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/test.rs:513:39 [INFO] [stderr] | [INFO] [stderr] 513 | Capstone::new_raw(arch, mode, extra_mode.iter().map(|x| *x), None).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `extra_mode.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/test.rs:559:22 [INFO] [stderr] | [INFO] [stderr] 559 | let extra_mode = extra_mode.iter().map(|x| *x); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `extra_mode.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/test.rs:571:25 [INFO] [stderr] | [INFO] [stderr] 571 | let expected_insns: &[( [INFO] [stderr] | _________________________^ [INFO] [stderr] 572 | | &str, [INFO] [stderr] 573 | | &str, [INFO] [stderr] 574 | | &[u8], [INFO] [stderr] ... | [INFO] [stderr] 577 | | &[X86Reg::Type], [INFO] [stderr] 578 | | )] = &[ [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/test.rs:619:31 [INFO] [stderr] | [INFO] [stderr] 619 | let expected_insns_intel: Vec<( [INFO] [stderr] | _______________________________^ [INFO] [stderr] 620 | | &str, [INFO] [stderr] 621 | | &[u8], [INFO] [stderr] 622 | | &[cs_group_type::Type], [INFO] [stderr] 623 | | &[X86Reg::Type], [INFO] [stderr] 624 | | &[X86Reg::Type], [INFO] [stderr] 625 | | )> = expected_insns [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/test.rs:631:29 [INFO] [stderr] | [INFO] [stderr] 631 | let expected_insns_att: Vec<( [INFO] [stderr] | _____________________________^ [INFO] [stderr] 632 | | &str, [INFO] [stderr] 633 | | &[u8], [INFO] [stderr] 634 | | &[cs_group_type::Type], [INFO] [stderr] 635 | | &[X86Reg::Type], [INFO] [stderr] 636 | | &[X86Reg::Type], [INFO] [stderr] 637 | | )> = expected_insns [INFO] [stderr] | |______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/test.rs:804:25 [INFO] [stderr] | [INFO] [stderr] 804 | .extra_mode([arm::ArchExtraMode::MClass].iter().map(|x| *x)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `[arm::ArchExtraMode::MClass].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/test.rs:817:25 [INFO] [stderr] | [INFO] [stderr] 817 | .extra_mode([arm::ArchExtraMode::V8].iter().map(|x| *x)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `[arm::ArchExtraMode::V8].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/test.rs:1325:25 [INFO] [stderr] | [INFO] [stderr] 1325 | .extra_mode([mips::ArchExtraMode::Micro].iter().map(|x| *x)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `[mips::ArchExtraMode::Micro].iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> examples/cstool.rs:334:9 [INFO] [stderr] | [INFO] [stderr] 334 | code.as_bytes().iter().map(|x| *x).collect() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `code.as_bytes().iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> examples/cstool.rs:389:9 [INFO] [stderr] | [INFO] [stderr] 389 | extra_mode.iter().map(|x| *x), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `extra_mode.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 29.38s [INFO] running `"docker" "inspect" "b0ccb8f8ac2a7d6802112faaff4ed42f5c30c50fe7ea88579b505c156177ef62"` [INFO] running `"docker" "rm" "-f" "b0ccb8f8ac2a7d6802112faaff4ed42f5c30c50fe7ea88579b505c156177ef62"` [INFO] [stdout] b0ccb8f8ac2a7d6802112faaff4ed42f5c30c50fe7ea88579b505c156177ef62