[INFO] crate reikna 0.10.0 is already in cache [INFO] extracting crate reikna 0.10.0 into work/ex/clippy-test-run/sources/stable/reg/reikna/0.10.0 [INFO] extracting crate reikna 0.10.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/reikna/0.10.0 [INFO] validating manifest of reikna-0.10.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 reikna-0.10.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 reikna-0.10.0 [INFO] finished frobbing reikna-0.10.0 [INFO] frobbed toml for reikna-0.10.0 written to work/ex/clippy-test-run/sources/stable/reg/reikna/0.10.0/Cargo.toml [INFO] started frobbing reikna-0.10.0 [INFO] finished frobbing reikna-0.10.0 [INFO] frobbed toml for reikna-0.10.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/reikna/0.10.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 reikna-0.10.0 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/reikna/0.10.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 -Dclippy::into_iter_on_array" "-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] 15ca09c7704acc279826418eacd55d1e6d6ad2422ac939c0fffa8e36289b23bf [INFO] running `"docker" "start" "-a" "15ca09c7704acc279826418eacd55d1e6d6ad2422ac939c0fffa8e36289b23bf"` [INFO] [stderr] Checking reikna v0.10.0 (/opt/crater/workdir) [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/factor.rs:247:13 [INFO] [stderr] | [INFO] [stderr] 247 | let mut y: u64 = entropy & 0xf; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/factor.rs:252:13 [INFO] [stderr] | [INFO] [stderr] 252 | let mut x = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/factor.rs:254:9 [INFO] [stderr] | [INFO] [stderr] 254 | let f = |x: u64| (x.wrapping_mul(x) + c) % val; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/factor.rs:263:17 [INFO] [stderr] | [INFO] [stderr] 263 | let mut k = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/prime.rs:528:45 [INFO] [stderr] | [INFO] [stderr] 528 | Bitset { data: vec![0; size_bytes], size: size } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/factor.rs:247:13 [INFO] [stderr] | [INFO] [stderr] 247 | let mut y: u64 = entropy & 0xf; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/factor.rs:252:13 [INFO] [stderr] | [INFO] [stderr] 252 | let mut x = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/factor.rs:254:9 [INFO] [stderr] | [INFO] [stderr] 254 | let f = |x: u64| (x.wrapping_mul(x) + c) % val; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 8th binding whose name is just one char [INFO] [stderr] --> src/factor.rs:263:17 [INFO] [stderr] | [INFO] [stderr] 263 | let mut k = 0; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/prime.rs:528:45 [INFO] [stderr] | [INFO] [stderr] 528 | Bitset { data: vec![0; size_bytes], size: size } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `size` [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: unused macro definition [INFO] [stderr] --> src/macros.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | / macro_rules! assert_fp { [INFO] [stderr] 2 | | ($a:expr, $b:expr) => (assert!(($a - $b).abs() < 0.001)); [INFO] [stderr] 3 | | ($a:expr, $b:expr, $c:expr) => (assert!(($a - $b).abs() < $c)); [INFO] [stderr] 4 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/factor.rs:215:38 [INFO] [stderr] | [INFO] [stderr] 215 | if (root - root.round()).abs() > 0.000000001 { [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.000_000_001` [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: operator precedence can trip the unwary [INFO] [stderr] --> src/prime.rs:538:31 [INFO] [stderr] | [INFO] [stderr] 538 | self.data[pos / 8] & (0x01 << pos % 8) != 0x00 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x01 << (pos % 8)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/prime.rs:542:31 [INFO] [stderr] | [INFO] [stderr] 542 | self.data[pos / 8] ^= 0x01 << pos % 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x01 << (pos % 8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/prime_count.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | pub const PI_SYMBOL: &'static str = "π"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/totient.rs:12:24 [INFO] [stderr] | [INFO] [stderr] 12 | pub const PHI_SYMBOL: &'static str = "Φ"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/factor.rs:215:38 [INFO] [stderr] | [INFO] [stderr] 215 | if (root - root.round()).abs() > 0.000000001 { [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `0.000_000_001` [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/continued_fraction.rs:46:8 [INFO] [stderr] | [INFO] [stderr] 46 | if a0 == a0.floor() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(a0 - a0.floor()).abs() < error` [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/continued_fraction.rs:46:8 [INFO] [stderr] | [INFO] [stderr] 46 | if a0 == a0.floor() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/factor.rs:419:24 [INFO] [stderr] | [INFO] [stderr] 419 | assert_eq!(gcd(5125215, 890898), 3); [INFO] [stderr] | ^^^^^^^ help: consider: `5_125_215` [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/factor.rs:419:33 [INFO] [stderr] | [INFO] [stderr] 419 | assert_eq!(gcd(5125215, 890898), 3); [INFO] [stderr] | ^^^^^^ help: consider: `890_898` [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/factor.rs:420:24 [INFO] [stderr] | [INFO] [stderr] 420 | assert_eq!(gcd(5125215, 890898), 3); [INFO] [stderr] | ^^^^^^^ help: consider: `5_125_215` [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/factor.rs:420:33 [INFO] [stderr] | [INFO] [stderr] 420 | assert_eq!(gcd(5125215, 890898), 3); [INFO] [stderr] | ^^^^^^ help: consider: `890_898` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/continued_fraction.rs:130:41 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn expand_fraction_ntimes(fraction: &ContinuedFraction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/continued_fraction.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | assert!(fraction.len() != 0, "cannot expand empty continued fraction!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!fraction.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: manual implementation of an assign operation [INFO] [stderr] --> src/continued_fraction.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | num = frac[i] * den + num; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num += frac[i] * den` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/continued_fraction.rs:175:34 [INFO] [stderr] | [INFO] [stderr] 175 | pub fn expand_fraction(fraction: &ContinuedFraction) -> (u64, u64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [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/continued_fraction.rs:208:36 [INFO] [stderr] | [INFO] [stderr] 208 | pub fn expand_f64_ntimes(fraction: &ContinuedFraction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [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: length comparison to zero [INFO] [stderr] --> src/continued_fraction.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | assert!(fraction.len() != 0, "cannot expand empty continued fraction!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!fraction.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: manual implementation of an assign operation [INFO] [stderr] --> src/continued_fraction.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | num = frac[i] as f64 * den + num; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num += frac[i] as f64 * den` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/continued_fraction.rs:261:29 [INFO] [stderr] | [INFO] [stderr] 261 | pub fn expand_f64(fraction: &ContinuedFraction) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [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/continued_fraction.rs:283:28 [INFO] [stderr] | [INFO] [stderr] 283 | pub fn to_string(fraction: &ContinuedFraction) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [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: digits grouped inconsistently by underscores [INFO] [stderr] --> src/factor.rs:490:33 [INFO] [stderr] | [INFO] [stderr] 490 | assert_eq!(perfect_cube(11_529_2150_460_6846_976), true); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `1_152_921_504_606_846_976` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::inconsistent_digit_grouping)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: digits grouped inconsistently by underscores [INFO] [stderr] --> src/factor.rs:491:33 [INFO] [stderr] | [INFO] [stderr] 491 | assert_eq!(perfect_cube(11_529_2150_460_6846_975), false); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `1_152_921_504_606_846_975` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/continued_fraction.rs:284:8 [INFO] [stderr] | [INFO] [stderr] 284 | if fraction.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fraction.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: long literal lacking separators [INFO] [stderr] --> src/factor.rs:500:30 [INFO] [stderr] | [INFO] [stderr] 500 | 653123, [INFO] [stderr] | ^^^^^^ help: consider: `653_123` [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/factor.rs:501:30 [INFO] [stderr] | [INFO] [stderr] 501 | 4593140, [INFO] [stderr] | ^^^^^^^ help: consider: `4_593_140` [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/factor.rs:502:30 [INFO] [stderr] | [INFO] [stderr] 502 | 13461780, [INFO] [stderr] | ^^^^^^^^ help: consider: `13_461_780` [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/factor.rs:503:30 [INFO] [stderr] | [INFO] [stderr] 503 | 982357223, [INFO] [stderr] | ^^^^^^^^^ help: consider: `982_357_223` [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/factor.rs:504:30 [INFO] [stderr] | [INFO] [stderr] 504 | 72314573234, [INFO] [stderr] | ^^^^^^^^^^^ help: consider: `72_314_573_234` [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/factor.rs:505:30 [INFO] [stderr] | [INFO] [stderr] 505 | 517825353462, [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `517_825_353_462` [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/factor.rs:506:30 [INFO] [stderr] | [INFO] [stderr] 506 | 8735263124568, [INFO] [stderr] | ^^^^^^^^^^^^^ help: consider: `8_735_263_124_568` [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/factor.rs:507:30 [INFO] [stderr] | [INFO] [stderr] 507 | 128735128735049, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider: `128_735_128_735_049` [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/factor.rs:508:30 [INFO] [stderr] | [INFO] [stderr] 508 | 1302131490435579, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider: `1_302_131_490_435_579` [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/factor.rs:509:30 [INFO] [stderr] | [INFO] [stderr] 509 | 90977992317385808, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `90_977_992_317_385_808` [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: the loop variable `i` is used to index `fraction` [INFO] [stderr] --> src/continued_fraction.rs:292:18 [INFO] [stderr] | [INFO] [stderr] 292 | for i in 1..fraction.len() { [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] 292 | for (i, ) in fraction.iter().enumerate().skip(1) { [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/factor.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn gcd_all(set: &Vec) -> u64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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: long literal lacking separators [INFO] [stderr] --> src/partition.rs:119:31 [INFO] [stderr] | [INFO] [stderr] 119 | assert_eq!(part(100), 190569292); [INFO] [stderr] | ^^^^^^^^^ help: consider: `190_569_292` [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/partition.rs:122:46 [INFO] [stderr] | [INFO] [stderr] 122 | assert_eq!(part_wc(100, &mut cache), 190569292); [INFO] [stderr] | ^^^^^^^^^ help: consider: `190_569_292` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/factor.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | pub fn lcm_all(set: &Vec) -> u64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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: operator precedence can trip the unwary [INFO] [stderr] --> src/prime.rs:538:31 [INFO] [stderr] | [INFO] [stderr] 538 | self.data[pos / 8] & (0x01 << pos % 8) != 0x00 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x01 << (pos % 8)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/prime.rs:542:31 [INFO] [stderr] | [INFO] [stderr] 542 | self.data[pos / 8] ^= 0x01 << pos % 8; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `0x01 << (pos % 8)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/factor.rs:270:17 [INFO] [stderr] | [INFO] [stderr] 270 | / match x > y { [INFO] [stderr] 271 | | true => q = q.wrapping_mul(x - y) % val, [INFO] [stderr] 272 | | false => q = q.wrapping_mul(y - x) % val, [INFO] [stderr] 273 | | } [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if x > y { q = q.wrapping_mul(x - y) % val } else { q = q.wrapping_mul(y - x) % val }` [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] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/factor.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | / match x > y_old { [INFO] [stderr] 288 | | true => fac = gcd(x - y_old, val), [INFO] [stderr] 289 | | false => fac = gcd(y_old - x, val), [INFO] [stderr] 290 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if x > y_old { fac = gcd(x - y_old, val) } else { fac = gcd(y_old - x, val) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [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/factor.rs:342:37 [INFO] [stderr] | [INFO] [stderr] 342 | sprimes: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/prime.rs:595:43 [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] 595 | assert_eq!(segmented_eratosthenes(100000), atkin(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] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/prime.rs:595:58 [INFO] [stderr] | [INFO] [stderr] 595 | assert_eq!(segmented_eratosthenes(100000), atkin(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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/prime_count.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | pub const PI_SYMBOL: &'static str = "π"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/totient.rs:12:24 [INFO] [stderr] | [INFO] [stderr] 12 | pub const PHI_SYMBOL: &'static str = "Φ"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/prime.rs:52:14 [INFO] [stderr] | [INFO] [stderr] 52 | for x in 1..(limit + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use: `1..=limit` [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: an inclusive range would be more readable [INFO] [stderr] --> src/prime.rs:53:18 [INFO] [stderr] | [INFO] [stderr] 53 | for y in 1..(limit + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use: `1..=limit` [INFO] [stderr] | [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: an inclusive range would be more readable [INFO] [stderr] --> src/prime.rs:99:14 [INFO] [stderr] | [INFO] [stderr] 99 | for i in 7..(limit + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use: `7..=limit` [INFO] [stderr] | [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: an inclusive range would be more readable [INFO] [stderr] --> src/prime.rs:147:16 [INFO] [stderr] | [INFO] [stderr] 147 | for pos in 2..(max + 1) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `2..=max` [INFO] [stderr] | [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: you probably are missing some parameter in your format string [INFO] [stderr] --> src/prime.rs:345:12 [INFO] [stderr] | [INFO] [stderr] 345 | panic!("Nth prime of N = {} is larger than u64::MAX!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::panic_params)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#panic_params [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/prime.rs:441:45 [INFO] [stderr] | [INFO] [stderr] 441 | pub fn factorize_wp(mut value: u64, primes: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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/prime.rs:553:18 [INFO] [stderr] | [INFO] [stderr] 553 | for i in 0..self.size + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `0..=self.size` [INFO] [stderr] | [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/prime_count.rs:71:30 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn prime_count_all(data: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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: length comparison to zero [INFO] [stderr] --> src/prime_count.rs:72:8 [INFO] [stderr] | [INFO] [stderr] 72 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `data` [INFO] [stderr] --> src/prime_count.rs:81:14 [INFO] [stderr] | [INFO] [stderr] 81 | for i in 0..data.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [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] 81 | for (i, ) in data.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `data` [INFO] [stderr] --> src/prime_count.rs:91:14 [INFO] [stderr] | [INFO] [stderr] 91 | for i in 0..data.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [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] 91 | for (i, ) in data.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/prime_count.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | / match data[i] < 6 { [INFO] [stderr] 98 | | true => counts.push(prime_count(data[i])), [INFO] [stderr] 99 | | false => counts.push(lehmer(data[i], &primes, &mut phi_cache)), [INFO] [stderr] 100 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if data[i] < 6 { counts.push(prime_count(data[i])) } else { counts.push(lehmer(data[i], &primes, &mut phi_cache)) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [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/prime_count.rs:121:27 [INFO] [stderr] | [INFO] [stderr] 121 | fn lehmer(x: u64, primes: &Vec, phi_cache: &mut CacheT) -> u64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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/prime_count.rs:159:32 [INFO] [stderr] | [INFO] [stderr] 159 | fn phi(m: u64, n: u64, primes: &Vec, cache: &mut CacheT) -> u64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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/prime_count.rs:186:27 [INFO] [stderr] | [INFO] [stderr] 186 | fn num_below(x: u64, vec: &Vec) -> u64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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: the loop variable `i` is used to index `vec` [INFO] [stderr] --> src/prime_count.rs:187:14 [INFO] [stderr] | [INFO] [stderr] 187 | for i in 0..vec.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [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] 187 | for (i, ) in vec.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/totient.rs:70:8 [INFO] [stderr] | [INFO] [stderr] 70 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `reikna`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/continued_fraction.rs:46:8 [INFO] [stderr] | [INFO] [stderr] 46 | if a0 == a0.floor() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(a0 - a0.floor()).abs() < error` [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/continued_fraction.rs:46:8 [INFO] [stderr] | [INFO] [stderr] 46 | if a0 == a0.floor() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [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/continued_fraction.rs:130:41 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn expand_fraction_ntimes(fraction: &ContinuedFraction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/continued_fraction.rs:132:13 [INFO] [stderr] | [INFO] [stderr] 132 | assert!(fraction.len() != 0, "cannot expand empty continued fraction!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!fraction.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: manual implementation of an assign operation [INFO] [stderr] --> src/continued_fraction.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | num = frac[i] * den + num; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num += frac[i] * den` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/continued_fraction.rs:175:34 [INFO] [stderr] | [INFO] [stderr] 175 | pub fn expand_fraction(fraction: &ContinuedFraction) -> (u64, u64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [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/continued_fraction.rs:208:36 [INFO] [stderr] | [INFO] [stderr] 208 | pub fn expand_f64_ntimes(fraction: &ContinuedFraction, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [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: length comparison to zero [INFO] [stderr] --> src/continued_fraction.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | assert!(fraction.len() != 0, "cannot expand empty continued fraction!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!fraction.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: manual implementation of an assign operation [INFO] [stderr] --> src/continued_fraction.rs:226:9 [INFO] [stderr] | [INFO] [stderr] 226 | num = frac[i] as f64 * den + num; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `num += frac[i] as f64 * den` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [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/continued_fraction.rs:261:29 [INFO] [stderr] | [INFO] [stderr] 261 | pub fn expand_f64(fraction: &ContinuedFraction) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [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/continued_fraction.rs:283:28 [INFO] [stderr] | [INFO] [stderr] 283 | pub fn to_string(fraction: &ContinuedFraction) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [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: length comparison to zero [INFO] [stderr] --> src/continued_fraction.rs:284:8 [INFO] [stderr] | [INFO] [stderr] 284 | if fraction.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `fraction.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: the loop variable `i` is used to index `fraction` [INFO] [stderr] --> src/continued_fraction.rs:292:18 [INFO] [stderr] | [INFO] [stderr] 292 | for i in 1..fraction.len() { [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] 292 | for (i, ) in fraction.iter().enumerate().skip(1) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/derivative.rs:241:9 [INFO] [stderr] | [INFO] [stderr] 241 | assert_eq!(f_deriv(0.0), f_deriv_2(0.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:241:9 [INFO] [stderr] | [INFO] [stderr] 241 | assert_eq!(f_deriv(0.0), f_deriv_2(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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/derivative.rs:242:9 [INFO] [stderr] | [INFO] [stderr] 242 | assert_eq!(f_deriv(10.4), f_deriv_2(10.4)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:242:9 [INFO] [stderr] | [INFO] [stderr] 242 | assert_eq!(f_deriv(10.4), f_deriv_2(10.4)); [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/derivative.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | assert_eq!(f_deriv(56.8), f_deriv_2(56.8)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:243:9 [INFO] [stderr] | [INFO] [stderr] 243 | assert_eq!(f_deriv(56.8), f_deriv_2(56.8)); [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/derivative.rs:245:9 [INFO] [stderr] | [INFO] [stderr] 245 | assert_eq!(f_s_deriv(0.0), f_s_deriv_2(0.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:245:9 [INFO] [stderr] | [INFO] [stderr] 245 | assert_eq!(f_s_deriv(0.0), f_s_deriv_2(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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/derivative.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | assert_eq!(f_s_deriv(40.4), f_s_deriv_2(40.4)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:246:9 [INFO] [stderr] | [INFO] [stderr] 246 | assert_eq!(f_s_deriv(40.4), f_s_deriv_2(40.4)); [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/derivative.rs:247:9 [INFO] [stderr] | [INFO] [stderr] 247 | assert_eq!(f_s_deriv(12.3), f_s_deriv_2(12.3)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:247:9 [INFO] [stderr] | [INFO] [stderr] 247 | assert_eq!(f_s_deriv(12.3), f_s_deriv_2(12.3)); [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/derivative.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | assert_eq!(f_deriv(0.0), slope_at(&f, 0.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:249:9 [INFO] [stderr] | [INFO] [stderr] 249 | assert_eq!(f_deriv(0.0), slope_at(&f, 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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/derivative.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | assert_eq!(f_deriv(10.4), slope_at(&f, 10.4)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:250:9 [INFO] [stderr] | [INFO] [stderr] 250 | assert_eq!(f_deriv(10.4), slope_at(&f, 10.4)); [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/derivative.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | assert_eq!(f_deriv(56.8), slope_at(&f, 56.8)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:251:9 [INFO] [stderr] | [INFO] [stderr] 251 | assert_eq!(f_deriv(56.8), slope_at(&f, 56.8)); [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/derivative.rs:253:9 [INFO] [stderr] | [INFO] [stderr] 253 | assert_eq!(f_s_deriv(0.0), concavity_at(&f, 0.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:253:9 [INFO] [stderr] | [INFO] [stderr] 253 | assert_eq!(f_s_deriv(0.0), concavity_at(&f, 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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/derivative.rs:254:9 [INFO] [stderr] | [INFO] [stderr] 254 | assert_eq!(f_s_deriv(40.4), concavity_at(&f, 40.4)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:254:9 [INFO] [stderr] | [INFO] [stderr] 254 | assert_eq!(f_s_deriv(40.4), concavity_at(&f, 40.4)); [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/derivative.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | assert_eq!(f_s_deriv(12.3), concavity_at(&f, 12.3)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/derivative.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | assert_eq!(f_s_deriv(12.3), concavity_at(&f, 12.3)); [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/factor.rs:52:21 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn gcd_all(set: &Vec) -> u64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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/factor.rs:118:21 [INFO] [stderr] | [INFO] [stderr] 118 | pub fn lcm_all(set: &Vec) -> u64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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 seem to be trying to match on a boolean expression [INFO] [stderr] --> src/factor.rs:270:17 [INFO] [stderr] | [INFO] [stderr] 270 | / match x > y { [INFO] [stderr] 271 | | true => q = q.wrapping_mul(x - y) % val, [INFO] [stderr] 272 | | false => q = q.wrapping_mul(y - x) % val, [INFO] [stderr] 273 | | } [INFO] [stderr] | |_________________^ help: consider using an if/else expression: `if x > y { q = q.wrapping_mul(x - y) % val } else { q = q.wrapping_mul(y - x) % val }` [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] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/factor.rs:287:9 [INFO] [stderr] | [INFO] [stderr] 287 | / match x > y_old { [INFO] [stderr] 288 | | true => fac = gcd(x - y_old, val), [INFO] [stderr] 289 | | false => fac = gcd(y_old - x, val), [INFO] [stderr] 290 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if x > y_old { fac = gcd(x - y_old, val) } else { fac = gcd(y_old - x, val) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [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/factor.rs:342:37 [INFO] [stderr] | [INFO] [stderr] 342 | sprimes: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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/prime.rs:52:14 [INFO] [stderr] | [INFO] [stderr] 52 | for x in 1..(limit + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use: `1..=limit` [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: an inclusive range would be more readable [INFO] [stderr] --> src/prime.rs:53:18 [INFO] [stderr] | [INFO] [stderr] 53 | for y in 1..(limit + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use: `1..=limit` [INFO] [stderr] | [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: an inclusive range would be more readable [INFO] [stderr] --> src/prime.rs:99:14 [INFO] [stderr] | [INFO] [stderr] 99 | for i in 7..(limit + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use: `7..=limit` [INFO] [stderr] | [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: an inclusive range would be more readable [INFO] [stderr] --> src/prime.rs:147:16 [INFO] [stderr] | [INFO] [stderr] 147 | for pos in 2..(max + 1) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `2..=max` [INFO] [stderr] | [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: you probably are missing some parameter in your format string [INFO] [stderr] --> src/prime.rs:345:12 [INFO] [stderr] | [INFO] [stderr] 345 | panic!("Nth prime of N = {} is larger than u64::MAX!"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::panic_params)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#panic_params [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/prime.rs:441:45 [INFO] [stderr] | [INFO] [stderr] 441 | pub fn factorize_wp(mut value: u64, primes: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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/prime.rs:553:18 [INFO] [stderr] | [INFO] [stderr] 553 | for i in 0..self.size + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `0..=self.size` [INFO] [stderr] | [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/prime_count.rs:71:30 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn prime_count_all(data: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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: length comparison to zero [INFO] [stderr] --> src/prime_count.rs:72:8 [INFO] [stderr] | [INFO] [stderr] 72 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `data` [INFO] [stderr] --> src/prime_count.rs:81:14 [INFO] [stderr] | [INFO] [stderr] 81 | for i in 0..data.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [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] 81 | for (i, ) in data.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `data` [INFO] [stderr] --> src/prime_count.rs:91:14 [INFO] [stderr] | [INFO] [stderr] 91 | for i in 0..data.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [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] 91 | for (i, ) in data.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/prime_count.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | / match data[i] < 6 { [INFO] [stderr] 98 | | true => counts.push(prime_count(data[i])), [INFO] [stderr] 99 | | false => counts.push(lehmer(data[i], &primes, &mut phi_cache)), [INFO] [stderr] 100 | | } [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if data[i] < 6 { counts.push(prime_count(data[i])) } else { counts.push(lehmer(data[i], &primes, &mut phi_cache)) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [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/prime_count.rs:121:27 [INFO] [stderr] | [INFO] [stderr] 121 | fn lehmer(x: u64, primes: &Vec, phi_cache: &mut CacheT) -> u64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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/prime_count.rs:159:32 [INFO] [stderr] | [INFO] [stderr] 159 | fn phi(m: u64, n: u64, primes: &Vec, cache: &mut CacheT) -> u64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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/prime_count.rs:186:27 [INFO] [stderr] | [INFO] [stderr] 186 | fn num_below(x: u64, vec: &Vec) -> u64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u64]` [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: the loop variable `i` is used to index `vec` [INFO] [stderr] --> src/prime_count.rs:187:14 [INFO] [stderr] | [INFO] [stderr] 187 | for i in 0..vec.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [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] 187 | for (i, ) in vec.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/totient.rs:70:8 [INFO] [stderr] | [INFO] [stderr] 70 | if data.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `data.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: aborting due to 13 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `reikna`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "15ca09c7704acc279826418eacd55d1e6d6ad2422ac939c0fffa8e36289b23bf"` [INFO] running `"docker" "rm" "-f" "15ca09c7704acc279826418eacd55d1e6d6ad2422ac939c0fffa8e36289b23bf"` [INFO] [stdout] 15ca09c7704acc279826418eacd55d1e6d6ad2422ac939c0fffa8e36289b23bf