[INFO] crate cargo-profiler 0.1.6 is already in cache [INFO] extracting crate cargo-profiler 0.1.6 into work/ex/clippy-test-run/sources/stable/reg/cargo-profiler/0.1.6 [INFO] extracting crate cargo-profiler 0.1.6 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cargo-profiler/0.1.6 [INFO] validating manifest of cargo-profiler-0.1.6 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 cargo-profiler-0.1.6 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 cargo-profiler-0.1.6 [INFO] finished frobbing cargo-profiler-0.1.6 [INFO] frobbed toml for cargo-profiler-0.1.6 written to work/ex/clippy-test-run/sources/stable/reg/cargo-profiler/0.1.6/Cargo.toml [INFO] started frobbing cargo-profiler-0.1.6 [INFO] finished frobbing cargo-profiler-0.1.6 [INFO] frobbed toml for cargo-profiler-0.1.6 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cargo-profiler/0.1.6/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 cargo-profiler-0.1.6 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/cargo-profiler/0.1.6:/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] 174132b4dc40c0cdef3ca7eba7d48aabfc4535aaa9a631193da6db8d61250bd5 [INFO] running `"docker" "start" "-a" "174132b4dc40c0cdef3ca7eba7d48aabfc4535aaa9a631193da6db8d61250bd5"` [INFO] [stderr] warning: unused manifest key: bin.0.bin [INFO] [stderr] warning: unused manifest key: lib.lib [INFO] [stderr] Compiling ndarray v0.5.2 [INFO] [stderr] Checking cargo-profiler v0.1.6 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:70:25 [INFO] [stderr] | [INFO] [stderr] 70 | let _ = write!(f, [INFO] [stderr] | _________________________^ [INFO] [stderr] 71 | | " \x1b[1;36mIr \x1b[1;36mI1mr \x1b[1;36mILmr \x1b[1;36mDr \ [INFO] [stderr] 72 | | \x1b[1;36mD1mr \x1b[1;36mDLmr \x1b[1;36mDw \x1b[1;36mD1mw \ [INFO] [stderr] 73 | | \x1b[1;36mDLmw\n"); [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:76:29 [INFO] [stderr] | [INFO] [stderr] 76 | let _ = write!(f, [INFO] [stderr] | _____________________________^ [INFO] [stderr] 77 | | "\x1b[0m{:.2} {:.2} {:.2} {:.2} {:.2} {:.2} {:.2} {:.2} {:.2} \ [INFO] [stderr] 78 | | {}\n", [INFO] [stderr] 79 | | x[0] / ir, [INFO] [stderr] ... | [INFO] [stderr] 87 | | x[8] / dlmw, [INFO] [stderr] 88 | | y); [INFO] [stderr] | |_____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:106:41 [INFO] [stderr] | [INFO] [stderr] 106 | let _ = write!(f, [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 107 | | "{} (\x1b[31m{:.1}%\x1b[0m)\x1b[0m {}\n", [INFO] [stderr] 108 | | fmt_thousands_sep(x, ','), [INFO] [stderr] 109 | | t, [INFO] [stderr] 110 | | y); [INFO] [stderr] | |_________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:114:41 [INFO] [stderr] | [INFO] [stderr] 114 | let _ = write!(f, [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 115 | | "{} (\x1b[33m{:.1}%\x1b[0m)\x1b[0m {}\n", [INFO] [stderr] 116 | | fmt_thousands_sep(x, ','), [INFO] [stderr] 117 | | t, [INFO] [stderr] 118 | | y); [INFO] [stderr] | |_________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:122:41 [INFO] [stderr] | [INFO] [stderr] 122 | let _ = write!(f, [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 123 | | "{} (\x1b[32m{:.1}%\x1b[0m)\x1b[0m {}\n", [INFO] [stderr] 124 | | fmt_thousands_sep(x, ','), [INFO] [stderr] 125 | | x / total_instructions * 100., [INFO] [stderr] 126 | | y); [INFO] [stderr] | |_________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/callgrind.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | total_instructions: total_instructions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_instructions` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:222:13 [INFO] [stderr] | [INFO] [stderr] 222 | ir: ir, [INFO] [stderr] | ^^^^^^ help: replace it with: `ir` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | i1mr: i1mr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `i1mr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | ilmr: ilmr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `ilmr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:225:13 [INFO] [stderr] | [INFO] [stderr] 225 | dr: dr, [INFO] [stderr] | ^^^^^^ help: replace it with: `dr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | d1mr: d1mr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `d1mr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:227:13 [INFO] [stderr] | [INFO] [stderr] 227 | dlmr: dlmr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `dlmr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | dw: dw, [INFO] [stderr] | ^^^^^^ help: replace it with: `dw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:229:13 [INFO] [stderr] | [INFO] [stderr] 229 | d1mw: d1mw, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `d1mw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:230:13 [INFO] [stderr] | [INFO] [stderr] 230 | dlmw: dlmw, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `dlmw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:70:25 [INFO] [stderr] | [INFO] [stderr] 70 | let _ = write!(f, [INFO] [stderr] | _________________________^ [INFO] [stderr] 71 | | " \x1b[1;36mIr \x1b[1;36mI1mr \x1b[1;36mILmr \x1b[1;36mDr \ [INFO] [stderr] 72 | | \x1b[1;36mD1mr \x1b[1;36mDLmr \x1b[1;36mDw \x1b[1;36mD1mw \ [INFO] [stderr] 73 | | \x1b[1;36mDLmw\n"); [INFO] [stderr] | |__________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:76:29 [INFO] [stderr] | [INFO] [stderr] 76 | let _ = write!(f, [INFO] [stderr] | _____________________________^ [INFO] [stderr] 77 | | "\x1b[0m{:.2} {:.2} {:.2} {:.2} {:.2} {:.2} {:.2} {:.2} {:.2} \ [INFO] [stderr] 78 | | {}\n", [INFO] [stderr] 79 | | x[0] / ir, [INFO] [stderr] ... | [INFO] [stderr] 87 | | x[8] / dlmw, [INFO] [stderr] 88 | | y); [INFO] [stderr] | |_____________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:106:41 [INFO] [stderr] | [INFO] [stderr] 106 | let _ = write!(f, [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 107 | | "{} (\x1b[31m{:.1}%\x1b[0m)\x1b[0m {}\n", [INFO] [stderr] 108 | | fmt_thousands_sep(x, ','), [INFO] [stderr] 109 | | t, [INFO] [stderr] 110 | | y); [INFO] [stderr] | |_________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:114:41 [INFO] [stderr] | [INFO] [stderr] 114 | let _ = write!(f, [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 115 | | "{} (\x1b[33m{:.1}%\x1b[0m)\x1b[0m {}\n", [INFO] [stderr] 116 | | fmt_thousands_sep(x, ','), [INFO] [stderr] 117 | | t, [INFO] [stderr] 118 | | y); [INFO] [stderr] | |_________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/display.rs:122:41 [INFO] [stderr] | [INFO] [stderr] 122 | let _ = write!(f, [INFO] [stderr] | _________________________________________^ [INFO] [stderr] 123 | | "{} (\x1b[32m{:.1}%\x1b[0m)\x1b[0m {}\n", [INFO] [stderr] 124 | | fmt_thousands_sep(x, ','), [INFO] [stderr] 125 | | x / total_instructions * 100., [INFO] [stderr] 126 | | y); [INFO] [stderr] | |_________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/callgrind.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | total_instructions: total_instructions, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `total_instructions` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:222:13 [INFO] [stderr] | [INFO] [stderr] 222 | ir: ir, [INFO] [stderr] | ^^^^^^ help: replace it with: `ir` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:223:13 [INFO] [stderr] | [INFO] [stderr] 223 | i1mr: i1mr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `i1mr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:224:13 [INFO] [stderr] | [INFO] [stderr] 224 | ilmr: ilmr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `ilmr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:225:13 [INFO] [stderr] | [INFO] [stderr] 225 | dr: dr, [INFO] [stderr] | ^^^^^^ help: replace it with: `dr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:226:13 [INFO] [stderr] | [INFO] [stderr] 226 | d1mr: d1mr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `d1mr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:227:13 [INFO] [stderr] | [INFO] [stderr] 227 | dlmr: dlmr, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `dlmr` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:228:13 [INFO] [stderr] | [INFO] [stderr] 228 | dw: dw, [INFO] [stderr] | ^^^^^^ help: replace it with: `dw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:229:13 [INFO] [stderr] | [INFO] [stderr] 229 | d1mw: d1mw, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `d1mw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parse/cachegrind.rs:230:13 [INFO] [stderr] | [INFO] [stderr] 230 | dlmw: dlmw, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `dlmw` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/display.rs:60:42 [INFO] [stderr] | [INFO] [stderr] 60 | fmt_thousands_sep((ir + dr + dw), ','), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/argparse.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | return Ok(z); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(z)` [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] error: useless lint attribute [INFO] [stderr] --> src/lib.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[allow(unused_must_use)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused_must_use)]` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::useless_attribute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] warning: The function/method `contains_manifest` doesn't need a mutable reference [INFO] [stderr] --> src/cargo.rs:29:34 [INFO] [stderr] | [INFO] [stderr] 29 | if contains_manifest(&mut wd) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cargo.rs:52:50 [INFO] [stderr] | [INFO] [stderr] 52 | let out = String::from_utf8(manifest.stdout).unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | let (out, binary_dir) = match release { [INFO] [stderr] | _____________________________^ [INFO] [stderr] 74 | | true => { [INFO] [stderr] 75 | | println!("\n\x1b[1;33mCompiling \x1b[1;0m{} in release mode...", [INFO] [stderr] 76 | | package_name); [INFO] [stderr] ... | [INFO] [stderr] 93 | | } [INFO] [stderr] 94 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 73 | let (out, binary_dir) = if release { [INFO] [stderr] 74 | println!("\n\x1b[1;33mCompiling \x1b[1;0m{} in release mode...", [INFO] [stderr] 75 | package_name); [INFO] [stderr] 76 | [INFO] [stderr] 77 | (Command::new("cargo") [INFO] [stderr] 78 | .args(&["build", "--release"]) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cargo.rs:105:27 [INFO] [stderr] | [INFO] [stderr] 105 | .unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cargo.rs:110:53 [INFO] [stderr] | [INFO] [stderr] 110 | .unwrap_or("".to_string()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/parse/callgrind.rs:44:42 [INFO] [stderr] | [INFO] [stderr] 44 | let mut out_split = output.split("\n").collect::>(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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: trivial regex [INFO] [stderr] --> src/parse/callgrind.rs:51:56 [INFO] [stderr] | [INFO] [stderr] 51 | static ref ERROR_REGEX : Regex = Regex::new(r"out of memory").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivial_regex)] on by default [INFO] [stderr] = help: consider using `str::contains` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parse/callgrind.rs:58:12 [INFO] [stderr] | [INFO] [stderr] 58 | if errs.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!errs.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: single-character string constant used as pattern [INFO] [stderr] --> src/parse/callgrind.rs:88:39 [INFO] [stderr] | [INFO] [stderr] 88 | let path = elems[1].split(" ").collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/parse/callgrind.rs:89:46 [INFO] [stderr] | [INFO] [stderr] 89 | let cleaned_path = path[0].split("/").collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parse/callgrind.rs:92:40 [INFO] [stderr] | [INFO] [stderr] 92 | let idx = func.rfind("::").unwrap_or(func.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| func.len())` [INFO] [stderr] | [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: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/parse/callgrind.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | func.drain(idx..).collect::(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: you are collect()ing an iterator and throwing away the result. Consider using an explicit for loop to exhaust the iterator [INFO] [stderr] --> src/parse/callgrind.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | func.drain(idx..).collect::(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_collect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_collect [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse/cachegrind.rs:85:56 [INFO] [stderr] | [INFO] [stderr] 85 | let mut out_split: Vec<&'b str> = output.split("\n").collect(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [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: trivial regex [INFO] [stderr] --> src/parse/cachegrind.rs:92:56 [INFO] [stderr] | [INFO] [stderr] 92 | static ref ERROR_REGEX : Regex = Regex::new(r"Valgrind's memory management: out of memory").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using `str::contains` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parse/cachegrind.rs:100:12 [INFO] [stderr] | [INFO] [stderr] 100 | if errs.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!errs.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/parse/cachegrind.rs:115:42 [INFO] [stderr] | [INFO] [stderr] 115 | .split(" ") [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [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 creates an owned instance just for comparison [INFO] [stderr] --> src/parse/cachegrind.rs:118:30 [INFO] [stderr] | [INFO] [stderr] 118 | elems.retain(|x| x.to_string() != ""); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse/cachegrind.rs:142:53 [INFO] [stderr] | [INFO] [stderr] 142 | let path = elems[elems.len() - 1].split("/").collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parse/cachegrind.rs:146:40 [INFO] [stderr] | [INFO] [stderr] 146 | let idx = func.rfind("::").unwrap_or(func.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| func.len())` [INFO] [stderr] | [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: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/parse/cachegrind.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | func.drain(idx..).collect::(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: you are collect()ing an iterator and throwing away the result. Consider using an explicit for loop to exhaust the iterator [INFO] [stderr] --> src/parse/cachegrind.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | func.drain(idx..).collect::(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_collect [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `cargo-profiler`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/display.rs:60:42 [INFO] [stderr] | [INFO] [stderr] 60 | fmt_thousands_sep((ir + dr + dw), ','), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/argparse.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | return Ok(z); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(z)` [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] error: useless lint attribute [INFO] [stderr] --> src/lib.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[allow(unused_must_use)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if you just forgot a `!`, use: `#![allow(unused_must_use)]` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::useless_attribute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_attribute [INFO] [stderr] [INFO] [stderr] warning: The function/method `contains_manifest` doesn't need a mutable reference [INFO] [stderr] --> src/cargo.rs:29:34 [INFO] [stderr] | [INFO] [stderr] 29 | if contains_manifest(&mut wd) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cargo.rs:52:50 [INFO] [stderr] | [INFO] [stderr] 52 | let out = String::from_utf8(manifest.stdout).unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [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: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/cargo.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | let (out, binary_dir) = match release { [INFO] [stderr] | _____________________________^ [INFO] [stderr] 74 | | true => { [INFO] [stderr] 75 | | println!("\n\x1b[1;33mCompiling \x1b[1;0m{} in release mode...", [INFO] [stderr] 76 | | package_name); [INFO] [stderr] ... | [INFO] [stderr] 93 | | } [INFO] [stderr] 94 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] help: consider using an if/else expression [INFO] [stderr] | [INFO] [stderr] 73 | let (out, binary_dir) = if release { [INFO] [stderr] 74 | println!("\n\x1b[1;33mCompiling \x1b[1;0m{} in release mode...", [INFO] [stderr] 75 | package_name); [INFO] [stderr] 76 | [INFO] [stderr] 77 | (Command::new("cargo") [INFO] [stderr] 78 | .args(&["build", "--release"]) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cargo.rs:105:27 [INFO] [stderr] | [INFO] [stderr] 105 | .unwrap_or("".to_string()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/cargo.rs:110:53 [INFO] [stderr] | [INFO] [stderr] 110 | .unwrap_or("".to_string()))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| "".to_string())` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/parse/callgrind.rs:44:42 [INFO] [stderr] | [INFO] [stderr] 44 | let mut out_split = output.split("\n").collect::>(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [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: trivial regex [INFO] [stderr] --> src/parse/callgrind.rs:51:56 [INFO] [stderr] | [INFO] [stderr] 51 | static ref ERROR_REGEX : Regex = Regex::new(r"out of memory").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivial_regex)] on by default [INFO] [stderr] = help: consider using `str::contains` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parse/callgrind.rs:58:12 [INFO] [stderr] | [INFO] [stderr] 58 | if errs.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!errs.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: single-character string constant used as pattern [INFO] [stderr] --> src/parse/callgrind.rs:88:39 [INFO] [stderr] | [INFO] [stderr] 88 | let path = elems[1].split(" ").collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [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: single-character string constant used as pattern [INFO] [stderr] --> src/parse/callgrind.rs:89:46 [INFO] [stderr] | [INFO] [stderr] 89 | let cleaned_path = path[0].split("/").collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parse/callgrind.rs:92:40 [INFO] [stderr] | [INFO] [stderr] 92 | let idx = func.rfind("::").unwrap_or(func.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| func.len())` [INFO] [stderr] | [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: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/parse/callgrind.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | func.drain(idx..).collect::(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: you are collect()ing an iterator and throwing away the result. Consider using an explicit for loop to exhaust the iterator [INFO] [stderr] --> src/parse/callgrind.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | func.drain(idx..).collect::(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unused_collect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_collect [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse/cachegrind.rs:85:56 [INFO] [stderr] | [INFO] [stderr] 85 | let mut out_split: Vec<&'b str> = output.split("\n").collect(); [INFO] [stderr] | ^^^^ help: try using a char instead: `'\n'` [INFO] [stderr] | [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: trivial regex [INFO] [stderr] --> src/parse/cachegrind.rs:92:56 [INFO] [stderr] | [INFO] [stderr] 92 | static ref ERROR_REGEX : Regex = Regex::new(r"Valgrind's memory management: out of memory").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: consider using `str::contains` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivial_regex [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/parse/cachegrind.rs:100:12 [INFO] [stderr] | [INFO] [stderr] 100 | if errs.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!errs.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/parse/cachegrind.rs:115:42 [INFO] [stderr] | [INFO] [stderr] 115 | .split(" ") [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [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 creates an owned instance just for comparison [INFO] [stderr] --> src/parse/cachegrind.rs:118:30 [INFO] [stderr] | [INFO] [stderr] 118 | elems.retain(|x| x.to_string() != ""); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/parse/cachegrind.rs:142:53 [INFO] [stderr] | [INFO] [stderr] 142 | let path = elems[elems.len() - 1].split("/").collect::>(); [INFO] [stderr] | ^^^ help: try using a char instead: `'/'` [INFO] [stderr] | [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: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/parse/cachegrind.rs:146:40 [INFO] [stderr] | [INFO] [stderr] 146 | let idx = func.rfind("::").unwrap_or(func.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| func.len())` [INFO] [stderr] | [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: unused return value of `std::iter::Iterator::collect` that must be used [INFO] [stderr] --> src/parse/cachegrind.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | func.drain(idx..).collect::(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you really need to exhaust the iterator, consider `.for_each(drop)` instead [INFO] [stderr] [INFO] [stderr] warning: you are collect()ing an iterator and throwing away the result. Consider using an explicit for loop to exhaust the iterator [INFO] [stderr] --> src/parse/cachegrind.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | func.drain(idx..).collect::(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_collect [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `cargo-profiler`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "174132b4dc40c0cdef3ca7eba7d48aabfc4535aaa9a631193da6db8d61250bd5"` [INFO] running `"docker" "rm" "-f" "174132b4dc40c0cdef3ca7eba7d48aabfc4535aaa9a631193da6db8d61250bd5"` [INFO] [stdout] 174132b4dc40c0cdef3ca7eba7d48aabfc4535aaa9a631193da6db8d61250bd5