[INFO] crate hyperfine 1.4.0 is already in cache [INFO] extracting crate hyperfine 1.4.0 into work/ex/clippy-test-run/sources/stable/reg/hyperfine/1.4.0 [INFO] extracting crate hyperfine 1.4.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hyperfine/1.4.0 [INFO] validating manifest of hyperfine-1.4.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 hyperfine-1.4.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 hyperfine-1.4.0 [INFO] finished frobbing hyperfine-1.4.0 [INFO] frobbed toml for hyperfine-1.4.0 written to work/ex/clippy-test-run/sources/stable/reg/hyperfine/1.4.0/Cargo.toml [INFO] started frobbing hyperfine-1.4.0 [INFO] finished frobbing hyperfine-1.4.0 [INFO] frobbed toml for hyperfine-1.4.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/hyperfine/1.4.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 hyperfine-1.4.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/hyperfine/1.4.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] 3fbb3a7334570962befde0f2a3f5f114c00f430bd5895e434863c00f754a7b52 [INFO] running `"docker" "start" "-a" "3fbb3a7334570962befde0f2a3f5f114c00f430bd5895e434863c00f754a7b52"` [INFO] [stderr] Checking clap v2.32.0 [INFO] [stderr] Checking statistical v0.1.1 [INFO] [stderr] Checking indicatif v0.9.0 [INFO] [stderr] Checking hyperfine v1.4.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/hyperfine/types.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | expression: expression, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expression` [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/hyperfine/types.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | expression: expression, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expression` [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/hyperfine/types.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | expression: expression, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expression` [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/hyperfine/types.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | expression: expression, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `expression` [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: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | 2.33269488, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2.332_694_88` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | 1.42195907, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1.421_959_07` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:74:10 [INFO] [stderr] | [INFO] [stderr] 74 | -0.57527698, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.575_276_98` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:75:10 [INFO] [stderr] | [INFO] [stderr] 75 | -0.31293437, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.312_934_37` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | 2.2948158, [INFO] [stderr] | ^^^^^^^^^ help: consider: `2.294_815_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | 0.75813273, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.758_132_73` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:78:10 [INFO] [stderr] | [INFO] [stderr] 78 | -1.0712388, [INFO] [stderr] | ^^^^^^^^^ help: consider: `1.071_238_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:79:10 [INFO] [stderr] | [INFO] [stderr] 79 | -0.96394741, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.963_947_41` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:80:10 [INFO] [stderr] | [INFO] [stderr] 80 | -1.15897446, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1.158_974_46` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:81:9 [INFO] [stderr] | [INFO] [stderr] 81 | 1.10976285, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1.109_762_85` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:87:9 [INFO] [stderr] | [INFO] [stderr] 87 | 2.33269488, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `2.332_694_88` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | 1.42195907, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1.421_959_07` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:89:10 [INFO] [stderr] | [INFO] [stderr] 89 | -0.57527698, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.575_276_98` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:90:10 [INFO] [stderr] | [INFO] [stderr] 90 | -0.31293437, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.312_934_37` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:91:9 [INFO] [stderr] | [INFO] [stderr] 91 | 2.2948158, [INFO] [stderr] | ^^^^^^^^^ help: consider: `2.294_815_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 92 | 0.75813273, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.758_132_73` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:93:10 [INFO] [stderr] | [INFO] [stderr] 93 | -1.0712388, [INFO] [stderr] | ^^^^^^^^^ help: consider: `1.071_238_8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:94:10 [INFO] [stderr] | [INFO] [stderr] 94 | -0.96394741, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.963_947_41` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:95:10 [INFO] [stderr] | [INFO] [stderr] 95 | -1.15897446, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1.158_974_46` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/outlier_detection.rs:96:9 [INFO] [stderr] | [INFO] [stderr] 96 | 1.10976285, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1.109_762_85` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | assert_relative_eq!(0.007655, t_ab.user); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.007_655` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:87:25 [INFO] [stderr] | [INFO] [stderr] 87 | assert_relative_eq!(0.015679, t_ab.system); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.015_679` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:90:26 [INFO] [stderr] | [INFO] [stderr] 90 | assert_relative_eq!(-0.007655, t_ba.user); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.007_655` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:91:26 [INFO] [stderr] | [INFO] [stderr] 91 | assert_relative_eq!(-0.015679, t_ba.system); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.015_679` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/hyperfine/units.rs:40:25 [INFO] [stderr] | [INFO] [stderr] 40 | let value: Second = 123.456789; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `123.456_789` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | return Ok((param_name, param_min..(param_max + 1))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((param_name, param_min..(param_max + 1)))` [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: long literal lacking separators [INFO] [stderr] --> src/main.rs:82:33 [INFO] [stderr] | [INFO] [stderr] 82 | const MAX_PARAMETERS: i32 = 100000; [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:250:5 [INFO] [stderr] | [INFO] [stderr] 250 | commands [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:233:20 [INFO] [stderr] | [INFO] [stderr] 233 | let commands = if let Some(args) = matches.values_of("parameter-scan") { [INFO] [stderr] | ____________________^ [INFO] [stderr] 234 | | match parse_parameter_scan_args(args) { [INFO] [stderr] 235 | | Ok((param_name, param_range)) => { [INFO] [stderr] 236 | | let mut commands = vec![]; [INFO] [stderr] ... | [INFO] [stderr] 248 | | command_strings.map(|c| Command::new(c)).collect() [INFO] [stderr] 249 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/main.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | return Ok((param_name, param_min..(param_max + 1))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok((param_name, param_min..(param_max + 1)))` [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: long literal lacking separators [INFO] [stderr] --> src/main.rs:82:33 [INFO] [stderr] | [INFO] [stderr] 82 | const MAX_PARAMETERS: i32 = 100000; [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/main.rs:250:5 [INFO] [stderr] | [INFO] [stderr] 250 | commands [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/main.rs:233:20 [INFO] [stderr] | [INFO] [stderr] 233 | let commands = if let Some(args) = matches.values_of("parameter-scan") { [INFO] [stderr] | ____________________^ [INFO] [stderr] 234 | | match parse_parameter_scan_args(args) { [INFO] [stderr] 235 | | Ok((param_name, param_range)) => { [INFO] [stderr] 236 | | let mut commands = vec![]; [INFO] [stderr] ... | [INFO] [stderr] 248 | | command_strings.map(|c| Command::new(c)).collect() [INFO] [stderr] 249 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/hyperfine/benchmark.rs:93:12 [INFO] [stderr] | [INFO] [stderr] 93 | style: &OutputStyleOption, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `OutputStyleOption` [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: you don't need to add `&` to all patterns [INFO] [stderr] --> src/hyperfine/benchmark.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | / if let &Some(ref cmd) = command { [INFO] [stderr] 154 | | let res = time_shell_command(shell, cmd, show_output, CmdFailureAction::RaiseError, None); [INFO] [stderr] 155 | | if res.is_err() { [INFO] [stderr] 156 | | return Err(io::Error::new( [INFO] [stderr] ... | [INFO] [stderr] 162 | | return res.map(|r| r.0); [INFO] [stderr] 163 | | } [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] 153 | if let Some(ref cmd) = *command { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/hyperfine/export/mod.rs:31:34 [INFO] [stderr] | [INFO] [stderr] 31 | fn serialize(&self, results: &Vec, unit: Option) -> Result>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[BenchmarkResult]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/hyperfine/export/mod.rs:76:28 [INFO] [stderr] | [INFO] [stderr] 76 | fn write_to_file(filename: &String, content: &Vec) -> Result<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/hyperfine/export/mod.rs:76:46 [INFO] [stderr] | [INFO] [stderr] 76 | fn write_to_file(filename: &String, content: &Vec) -> Result<()> { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/hyperfine/internal.rs:14:57 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn get_progress_bar(length: u64, msg: &str, option: &OutputStyleOption) -> ProgressBar { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `OutputStyleOption` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/hyperfine/internal.rs:49:44 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn write_benchmark_comparison(results: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[BenchmarkResult]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/hyperfine/timer/wallclocktimer.rs:28:37 [INFO] [stderr] | [INFO] [stderr] 28 | duration.as_secs() as f64 + (duration.subsec_nanos() as f64) * 1e-9 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(duration.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:54:20 [INFO] [stderr] | [INFO] [stderr] 54 | user_usec: i64::from(result.ru_utime.tv_sec) * MICROSEC_PER_SEC [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `i64::from()`: `result.ru_utime.tv_sec` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:55:15 [INFO] [stderr] | [INFO] [stderr] 55 | + i64::from(result.ru_utime.tv_usec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `i64::from()`: `result.ru_utime.tv_usec` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:56:22 [INFO] [stderr] | [INFO] [stderr] 56 | system_usec: i64::from(result.ru_stime.tv_sec) * MICROSEC_PER_SEC [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `i64::from()`: `result.ru_stime.tv_sec` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:57:15 [INFO] [stderr] | [INFO] [stderr] 57 | + i64::from(result.ru_stime.tv_usec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `i64::from()`: `result.ru_stime.tv_usec` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/hyperfine/types.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | / pub fn new( [INFO] [stderr] 177 | | command: String, [INFO] [stderr] 178 | | mean: Second, [INFO] [stderr] 179 | | stddev: Second, [INFO] [stderr] ... | [INFO] [stderr] 195 | | } [INFO] [stderr] 196 | | } [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/hyperfine/units.rs:15:23 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn short_name(&self) -> String { [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/hyperfine/units.rs:23:19 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn format(&self, value: Second) -> String { [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/hyperfine/benchmark.rs:93:12 [INFO] [stderr] | [INFO] [stderr] 93 | style: &OutputStyleOption, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `OutputStyleOption` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:60:18 [INFO] [stderr] | [INFO] [stderr] 60 | fn run(commands: &Vec, options: &HyperfineOptions) -> io::Result> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Command]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/hyperfine/benchmark.rs:153:5 [INFO] [stderr] | [INFO] [stderr] 153 | / if let &Some(ref cmd) = command { [INFO] [stderr] 154 | | let res = time_shell_command(shell, cmd, show_output, CmdFailureAction::RaiseError, None); [INFO] [stderr] 155 | | if res.is_err() { [INFO] [stderr] 156 | | return Err(io::Error::new( [INFO] [stderr] ... | [INFO] [stderr] 162 | | return res.map(|r| r.0); [INFO] [stderr] 163 | | } [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] 153 | if let Some(ref cmd) = *command { [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/main.rs:91:28 [INFO] [stderr] | [INFO] [stderr] 91 | return Ok((param_name, param_min..(param_max + 1))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `param_min..=param_max` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:239:25 [INFO] [stderr] | [INFO] [stderr] 239 | for ref cmd in &command_strings { [INFO] [stderr] | ^^^^^^^ ---------------- help: try: `let cmd = &&command_strings;` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/hyperfine/export/mod.rs:31:34 [INFO] [stderr] | [INFO] [stderr] 31 | fn serialize(&self, results: &Vec, unit: Option) -> Result>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[BenchmarkResult]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/hyperfine/export/mod.rs:76:28 [INFO] [stderr] | [INFO] [stderr] 76 | fn write_to_file(filename: &String, content: &Vec) -> Result<()> { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/hyperfine/export/mod.rs:76:46 [INFO] [stderr] | [INFO] [stderr] 76 | fn write_to_file(filename: &String, content: &Vec) -> Result<()> { [INFO] [stderr] | ^^^^^^^^ help: change this to: `&[u8]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/hyperfine/internal.rs:14:57 [INFO] [stderr] | [INFO] [stderr] 14 | pub fn get_progress_bar(length: u64, msg: &str, option: &OutputStyleOption) -> ProgressBar { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider passing by value instead: `OutputStyleOption` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/hyperfine/internal.rs:49:44 [INFO] [stderr] | [INFO] [stderr] 49 | pub fn write_benchmark_comparison(results: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&[BenchmarkResult]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/hyperfine/internal.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | assert_eq!(1.0, max(&[1.0])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/hyperfine/internal.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | assert_eq!(1.0, max(&[1.0])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/hyperfine/internal.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | assert_eq!(-1.0, max(&[-1.0])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/hyperfine/internal.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | assert_eq!(-1.0, max(&[-1.0])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/hyperfine/internal.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | assert_eq!(-1.0, max(&[-2.0, -1.0])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/hyperfine/internal.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | assert_eq!(-1.0, max(&[-2.0, -1.0])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/hyperfine/internal.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | assert_eq!(1.0, max(&[-1.0, 1.0])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/hyperfine/internal.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | assert_eq!(1.0, max(&[-1.0, 1.0])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/hyperfine/internal.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | assert_eq!(1.0, max(&[-1.0, 1.0, 0.0])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/hyperfine/internal.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | assert_eq!(1.0, max(&[-1.0, 1.0, 0.0])); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/hyperfine/timer/wallclocktimer.rs:28:37 [INFO] [stderr] | [INFO] [stderr] 28 | duration.as_secs() as f64 + (duration.subsec_nanos() as f64) * 1e-9 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(duration.subsec_nanos())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:54:20 [INFO] [stderr] | [INFO] [stderr] 54 | user_usec: i64::from(result.ru_utime.tv_sec) * MICROSEC_PER_SEC [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `i64::from()`: `result.ru_utime.tv_sec` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:55:15 [INFO] [stderr] | [INFO] [stderr] 55 | + i64::from(result.ru_utime.tv_usec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `i64::from()`: `result.ru_utime.tv_usec` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:56:22 [INFO] [stderr] | [INFO] [stderr] 56 | system_usec: i64::from(result.ru_stime.tv_sec) * MICROSEC_PER_SEC [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `i64::from()`: `result.ru_stime.tv_sec` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:57:15 [INFO] [stderr] | [INFO] [stderr] 57 | + i64::from(result.ru_stime.tv_usec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `i64::from()`: `result.ru_stime.tv_usec` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | assert_eq!(0.0, t_zero.user); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | assert_eq!(0.0, t_zero.user); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | assert_eq!(0.0, t_zero.system); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/hyperfine/timer/unix_timer.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | assert_eq!(0.0, t_zero.system); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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: this function has too many arguments (8/7) [INFO] [stderr] --> src/hyperfine/types.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | / pub fn new( [INFO] [stderr] 177 | | command: String, [INFO] [stderr] 178 | | mean: Second, [INFO] [stderr] 179 | | stddev: Second, [INFO] [stderr] ... | [INFO] [stderr] 195 | | } [INFO] [stderr] 196 | | } [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: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/hyperfine/units.rs:15:23 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn short_name(&self) -> String { [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/hyperfine/units.rs:23:19 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn format(&self, value: Second) -> String { [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:60:18 [INFO] [stderr] | [INFO] [stderr] 60 | fn run(commands: &Vec, options: &HyperfineOptions) -> io::Result> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: change this to: `&[Command]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/main.rs:91:28 [INFO] [stderr] | [INFO] [stderr] 91 | return Ok((param_name, param_min..(param_max + 1))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `param_min..=param_max` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:239:25 [INFO] [stderr] | [INFO] [stderr] 239 | for ref cmd in &command_strings { [INFO] [stderr] | ^^^^^^^ ---------------- help: try: `let cmd = &&command_strings;` [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] error: aborting due to 7 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `hyperfine`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "3fbb3a7334570962befde0f2a3f5f114c00f430bd5895e434863c00f754a7b52"` [INFO] running `"docker" "rm" "-f" "3fbb3a7334570962befde0f2a3f5f114c00f430bd5895e434863c00f754a7b52"` [INFO] [stdout] 3fbb3a7334570962befde0f2a3f5f114c00f430bd5895e434863c00f754a7b52