[INFO] updating cached repository hgentry/euler [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/hgentry/euler [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/hgentry/euler" "work/ex/clippy-test-run/sources/stable/gh/hgentry/euler"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/hgentry/euler'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/hgentry/euler" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/hgentry/euler"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/hgentry/euler'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] f23f520d8658f312214641f5f5b601460e946eb4 [INFO] sha for GitHub repo hgentry/euler: f23f520d8658f312214641f5f5b601460e946eb4 [INFO] validating manifest of hgentry/euler 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 hgentry/euler 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 hgentry/euler [INFO] finished frobbing hgentry/euler [INFO] frobbed toml for hgentry/euler written to work/ex/clippy-test-run/sources/stable/gh/hgentry/euler/Cargo.toml [INFO] started frobbing hgentry/euler [INFO] finished frobbing hgentry/euler [INFO] frobbed toml for hgentry/euler written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/hgentry/euler/Cargo.toml [INFO] crate hgentry/euler has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting hgentry/euler 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-0/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/gh/hgentry/euler:/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] e82a10d1c8d2e7e7873a32c3ed58bde90482f7327a241934fc2f53d2d339d4cb [INFO] running `"docker" "start" "-a" "e82a10d1c8d2e7e7873a32c3ed58bde90482f7327a241934fc2f53d2d339d4cb"` [INFO] [stderr] Checking ord_subset v3.1.0 [INFO] [stderr] Checking euler v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p1.rs:12:2 [INFO] [stderr] | [INFO] [stderr] 12 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [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: unneeded return statement [INFO] [stderr] --> src/problems/p2.rs:15:2 [INFO] [stderr] | [INFO] [stderr] 15 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p2.rs:6:14 [INFO] [stderr] | [INFO] [stderr] 6 | while a2 <= 4000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `4_000_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: unneeded return statement [INFO] [stderr] --> src/problems/p3.rs:17:2 [INFO] [stderr] | [INFO] [stderr] 17 | return best; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `best` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p3.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | let big = 600851475143; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `600_851_475_143` [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: this if statement can be collapsed [INFO] [stderr] --> src/problems/p3.rs:9:3 [INFO] [stderr] | [INFO] [stderr] 9 | if big % i == 0 { [INFO] [stderr] | _________^ [INFO] [stderr] 10 | | if utils::primes::is_prime(i) { [INFO] [stderr] 11 | | best = i; [INFO] [stderr] 12 | | } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 9 | if big % i == 0 && utils::primes::is_prime(i) { [INFO] [stderr] 10 | best = i; [INFO] [stderr] 11 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p4.rs:18:2 [INFO] [stderr] | [INFO] [stderr] 18 | return best; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `best` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/problems/p4.rs:8:4 [INFO] [stderr] | [INFO] [stderr] 8 | if current > best { [INFO] [stderr] | _____________^ [INFO] [stderr] 9 | | if is_palindrome(current) { [INFO] [stderr] 10 | | best = current; [INFO] [stderr] 11 | | } [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 8 | if current > best && is_palindrome(current) { [INFO] [stderr] 9 | best = current; [INFO] [stderr] 10 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p8.rs:18:2 [INFO] [stderr] | [INFO] [stderr] 18 | return best; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `best` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p9.rs:12:2 [INFO] [stderr] | [INFO] [stderr] 12 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/problems/p9.rs:5:4 [INFO] [stderr] | [INFO] [stderr] 5 | if c == c.round() { [INFO] [stderr] | _____________^ [INFO] [stderr] 6 | | if a + b + (c as i64) == 1000 { [INFO] [stderr] 7 | | return a*b*(c as i64); [INFO] [stderr] 8 | | } [INFO] [stderr] 9 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 5 | if c == c.round() && a + b + (c as i64) == 1000 { [INFO] [stderr] 6 | return a*b*(c as i64); [INFO] [stderr] 7 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p10.rs:5:22 [INFO] [stderr] | [INFO] [stderr] 5 | while checking < 2000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `2_000_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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/problems/p10.rs:14:20 [INFO] [stderr] | [INFO] [stderr] 14 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 15 | | if checking % p == 0 { [INFO] [stderr] 16 | | break; [INFO] [stderr] 17 | | } [INFO] [stderr] 18 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 14 | } else if checking % p == 0 { [INFO] [stderr] 15 | break; [INFO] [stderr] 16 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p13.rs:140:2 [INFO] [stderr] | [INFO] [stderr] 140 | return result.parse::().unwrap();; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `result.parse::().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p14.rs:5:14 [INFO] [stderr] | [INFO] [stderr] 5 | for i in 1..1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: unneeded return statement [INFO] [stderr] --> src/problems/p16.rs:11:2 [INFO] [stderr] | [INFO] [stderr] 11 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p17.rs:13:2 [INFO] [stderr] | [INFO] [stderr] 13 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p17.rs:114:2 [INFO] [stderr] | [INFO] [stderr] 114 | return "".to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `"".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p20.rs:11:2 [INFO] [stderr] | [INFO] [stderr] 11 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p22.rs:16:2 [INFO] [stderr] | [INFO] [stderr] 16 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p22.rs:29:2 [INFO] [stderr] | [INFO] [stderr] 29 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p23.rs:36:2 [INFO] [stderr] | [INFO] [stderr] 36 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p24.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | let mut count = 725761; [INFO] [stderr] | ^^^^^^ help: consider: `725_761` [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/problems/p24.rs:10:20 [INFO] [stderr] | [INFO] [stderr] 10 | while count != 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: long literal lacking separators [INFO] [stderr] --> src/problems/p24.rs:13:20 [INFO] [stderr] | [INFO] [stderr] 13 | if count < 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: long literal lacking separators [INFO] [stderr] --> src/problems/p24.rs:34:27 [INFO] [stderr] | [INFO] [stderr] 34 | } else if count > 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: unneeded return statement [INFO] [stderr] --> src/problems/p25.rs:20:2 [INFO] [stderr] | [INFO] [stderr] 20 | return index; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p26.rs:31:2 [INFO] [stderr] | [INFO] [stderr] 31 | return maxindex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `maxindex` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p27.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | return best; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `best` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p30.rs:5:14 [INFO] [stderr] | [INFO] [stderr] 5 | for i in 2..250000 { [INFO] [stderr] | ^^^^^^ help: consider: `250_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: unneeded return statement [INFO] [stderr] --> src/problems/p31.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | return ways; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `ways` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/problems/p32.rs:42:20 [INFO] [stderr] | [INFO] [stderr] 42 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 43 | | if !list.contains(&n) { [INFO] [stderr] 44 | | sum += n; [INFO] [stderr] 45 | | list.push(n); [INFO] [stderr] 46 | | } [INFO] [stderr] 47 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 42 | } else if !list.contains(&n) { [INFO] [stderr] 43 | sum += n; [INFO] [stderr] 44 | list.push(n); [INFO] [stderr] 45 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p34.rs:3:50 [INFO] [stderr] | [INFO] [stderr] 3 | 5040, 40320, 362880]; [INFO] [stderr] | ^^^^^^ help: consider: `362_880` [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/problems/p34.rs:5:14 [INFO] [stderr] | [INFO] [stderr] 5 | for i in 3..3628800 { [INFO] [stderr] | ^^^^^^^ help: consider: `3_628_800` [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/problems/p35.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | while checking < 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/problems/p35.rs:24:20 [INFO] [stderr] | [INFO] [stderr] 24 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 25 | | if checking % p == 0 { [INFO] [stderr] 26 | | break; [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 24 | } else if checking % p == 0 { [INFO] [stderr] 25 | break; [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p36.rs:12:17 [INFO] [stderr] | [INFO] [stderr] 12 | for i in 1..1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/problems/p37.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | if(left_truncatable(p)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p37.rs:54:2 [INFO] [stderr] | [INFO] [stderr] 54 | return !failed; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `!failed` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p38.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | return max; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `max` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `utils::primes` [INFO] [stderr] --> src/problems/p40.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use utils::primes; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p40.rs:8:17 [INFO] [stderr] | [INFO] [stderr] 8 | while length < 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: unneeded return statement [INFO] [stderr] --> src/problems/p1.rs:12:2 [INFO] [stderr] | [INFO] [stderr] 12 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [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: unneeded return statement [INFO] [stderr] --> src/problems/p2.rs:15:2 [INFO] [stderr] | [INFO] [stderr] 15 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p2.rs:6:14 [INFO] [stderr] | [INFO] [stderr] 6 | while a2 <= 4000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `4_000_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: unneeded return statement [INFO] [stderr] --> src/problems/p3.rs:17:2 [INFO] [stderr] | [INFO] [stderr] 17 | return best; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `best` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p3.rs:4:12 [INFO] [stderr] | [INFO] [stderr] 4 | let big = 600851475143; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `600_851_475_143` [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: this if statement can be collapsed [INFO] [stderr] --> src/problems/p3.rs:9:3 [INFO] [stderr] | [INFO] [stderr] 9 | if big % i == 0 { [INFO] [stderr] | _________^ [INFO] [stderr] 10 | | if utils::primes::is_prime(i) { [INFO] [stderr] 11 | | best = i; [INFO] [stderr] 12 | | } [INFO] [stderr] 13 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 9 | if big % i == 0 && utils::primes::is_prime(i) { [INFO] [stderr] 10 | best = i; [INFO] [stderr] 11 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p4.rs:18:2 [INFO] [stderr] | [INFO] [stderr] 18 | return best; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `best` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/problems/p4.rs:8:4 [INFO] [stderr] | [INFO] [stderr] 8 | if current > best { [INFO] [stderr] | _____________^ [INFO] [stderr] 9 | | if is_palindrome(current) { [INFO] [stderr] 10 | | best = current; [INFO] [stderr] 11 | | } [INFO] [stderr] 12 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 8 | if current > best && is_palindrome(current) { [INFO] [stderr] 9 | best = current; [INFO] [stderr] 10 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p8.rs:18:2 [INFO] [stderr] | [INFO] [stderr] 18 | return best; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `best` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p9.rs:12:2 [INFO] [stderr] | [INFO] [stderr] 12 | return 0; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/problems/p9.rs:5:4 [INFO] [stderr] | [INFO] [stderr] 5 | if c == c.round() { [INFO] [stderr] | _____________^ [INFO] [stderr] 6 | | if a + b + (c as i64) == 1000 { [INFO] [stderr] 7 | | return a*b*(c as i64); [INFO] [stderr] 8 | | } [INFO] [stderr] 9 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 5 | if c == c.round() && a + b + (c as i64) == 1000 { [INFO] [stderr] 6 | return a*b*(c as i64); [INFO] [stderr] 7 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p10.rs:5:22 [INFO] [stderr] | [INFO] [stderr] 5 | while checking < 2000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `2_000_000` [INFO] [stderr] | [INFO] [stderr] warning: unused import: `utils::primes` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] --> src/problems/p42.rs:1:5 [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] | [INFO] [stderr] --> src/problems/p10.rs:14:20 [INFO] [stderr] 1 | use utils::primes; [INFO] [stderr] | [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 14 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 15 | | if checking % p == 0 { [INFO] [stderr] 16 | | break; [INFO] [stderr] 17 | | } [INFO] [stderr] 18 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 14 | } else if checking % p == 0 { [INFO] [stderr] 15 | break; [INFO] [stderr] 16 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p13.rs:140:2 [INFO] [stderr] | [INFO] [stderr] 140 | return result.parse::().unwrap();; [INFO] [stderr] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `result.parse::().unwrap()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p14.rs:5:14 [INFO] [stderr] | [INFO] [stderr] 5 | for i in 1..1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: unneeded return statement [INFO] [stderr] --> src/problems/p16.rs:11:2 [INFO] [stderr] | [INFO] [stderr] 11 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p17.rs:13:2 [INFO] [stderr] | [INFO] [stderr] 13 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p17.rs:114:2 [INFO] [stderr] | [INFO] [stderr] 114 | return "".to_string(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `"".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p20.rs:11:2 [INFO] [stderr] | [INFO] [stderr] 11 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p22.rs:16:2 [INFO] [stderr] | [INFO] [stderr] 16 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p22.rs:29:2 [INFO] [stderr] | [INFO] [stderr] 29 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p23.rs:36:2 [INFO] [stderr] | [INFO] [stderr] 36 | return sum; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `sum` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p24.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | let mut count = 725761; [INFO] [stderr] | ^^^^^^ help: consider: `725_761` [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/problems/p24.rs:10:20 [INFO] [stderr] | [INFO] [stderr] 10 | while count != 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: long literal lacking separators [INFO] [stderr] --> src/problems/p24.rs:13:20 [INFO] [stderr] | [INFO] [stderr] 13 | if count < 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: long literal lacking separators [INFO] [stderr] --> src/problems/p24.rs:34:27 [INFO] [stderr] | [INFO] [stderr] 34 | } else if count > 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: unneeded return statement [INFO] [stderr] --> src/problems/p25.rs:20:2 [INFO] [stderr] | [INFO] [stderr] 20 | return index; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `index` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p26.rs:31:2 [INFO] [stderr] | [INFO] [stderr] 31 | return maxindex; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `maxindex` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p27.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | return best; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `best` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p30.rs:5:14 [INFO] [stderr] | [INFO] [stderr] 5 | for i in 2..250000 { [INFO] [stderr] | ^^^^^^ help: consider: `250_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: unused import: `utils::vec` [INFO] [stderr] --> src/problems/p43.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use utils::vec; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p31.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | return ways; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `ways` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::BTreeMap` [INFO] [stderr] --> src/problems/p615.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::BTreeMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/problems/p615.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/problems/p32.rs:42:20 [INFO] [stderr] | [INFO] [stderr] 42 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 43 | | if !list.contains(&n) { [INFO] [stderr] 44 | | sum += n; [INFO] [stderr] 45 | | list.push(n); [INFO] [stderr] 46 | | } [INFO] [stderr] 47 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/problems/p615.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 42 | } else if !list.contains(&n) { [INFO] [stderr] 43 | sum += n; [INFO] [stderr] 44 | list.push(n); [INFO] [stderr] 45 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p615.rs:14:36 [INFO] [stderr] | [INFO] [stderr] 14 | let primes = primes_as_changesets(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: long literal lacking separators [INFO] [stderr] --> src/problems/p34.rs:3:50 [INFO] [stderr] | [INFO] [stderr] 3 | 5040, 40320, 362880]; [INFO] [stderr] | ^^^^^^ help: consider: `362_880` [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/problems/p34.rs:5:14 [INFO] [stderr] | [INFO] [stderr] 5 | for i in 3..3628800 { [INFO] [stderr] | ^^^^^^^ help: consider: `3_628_800` [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/problems/p35.rs:15:22 [INFO] [stderr] | [INFO] [stderr] 15 | while checking < 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/problems/p35.rs:24:20 [INFO] [stderr] | [INFO] [stderr] 24 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 25 | | if checking % p == 0 { [INFO] [stderr] 26 | | break; [INFO] [stderr] 27 | | } [INFO] [stderr] 28 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] --> src/utils/math.rs:20:2 [INFO] [stderr] | [INFO] [stderr] 20 | return f; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `f` [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 24 | } else if checking % p == 0 { [INFO] [stderr] 25 | break; [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/math.rs:54:2 [INFO] [stderr] | [INFO] [stderr] 54 | return v; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `v` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p36.rs:12:17 [INFO] [stderr] | [INFO] [stderr] 12 | for i in 1..1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/problems/p37.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | if(left_truncatable(p)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p37.rs:54:2 [INFO] [stderr] | [INFO] [stderr] 54 | return !failed; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove `return` as shown: `!failed` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/problems/p38.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | return max; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `max` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `utils::primes` [INFO] [stderr] --> src/problems/p40.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use utils::primes; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p40.rs:8:17 [INFO] [stderr] | [INFO] [stderr] 8 | while length < 1000000 { [INFO] [stderr] | ^^^^^^^ help: consider: `1_000_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: unused import: `utils::primes` [INFO] [stderr] --> src/problems/p42.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use utils::primes; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `utils::vec` [INFO] [stderr] --> src/problems/p43.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use utils::vec; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::BTreeMap` [INFO] [stderr] --> src/problems/p615.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::BTreeMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/problems/p615.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::rc::Rc` [INFO] [stderr] --> src/problems/p615.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::rc::Rc; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problems/p615.rs:14:36 [INFO] [stderr] | [INFO] [stderr] 14 | let primes = primes_as_changesets(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: unneeded return statement [INFO] [stderr] --> src/utils/math.rs:20:2 [INFO] [stderr] | [INFO] [stderr] 20 | return f; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `f` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/math.rs:54:2 [INFO] [stderr] | [INFO] [stderr] 54 | return v; [INFO] [stderr] | ^^^^^^^^^ help: remove `return` as shown: `v` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/math.rs:221:3 [INFO] [stderr] | [INFO] [stderr] 221 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/primes.rs:13:2 [INFO] [stderr] | [INFO] [stderr] 13 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/strings.rs:21:2 [INFO] [stderr] | [INFO] [stderr] 21 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/math.rs:221:3 [INFO] [stderr] | [INFO] [stderr] 221 | return false; [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `false` [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/primes.rs:13:2 [INFO] [stderr] | [INFO] [stderr] 13 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/utils/strings.rs:21:2 [INFO] [stderr] | [INFO] [stderr] 21 | return res; [INFO] [stderr] | ^^^^^^^^^^^ help: remove `return` as shown: `res` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/problem.rs:61:67 [INFO] [stderr] | [INFO] [stderr] 61 | let duration = (end - start).num_nanoseconds().unwrap() as f64 /1000000000.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [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/problem.rs:61:67 [INFO] [stderr] | [INFO] [stderr] 61 | let duration = (end - start).num_nanoseconds().unwrap() as f64 /1000000000.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [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/main.rs:30:66 [INFO] [stderr] | [INFO] [stderr] 30 | let duration = (end - start).num_nanoseconds().unwrap() as f64 /1000000000.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [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/main.rs:30:66 [INFO] [stderr] | [INFO] [stderr] 30 | let duration = (end - start).num_nanoseconds().unwrap() as f64 /1000000000.0; [INFO] [stderr] | ^^^^^^^^^^^^ help: consider: `1_000_000_000.0` [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: unused variable: `i` [INFO] [stderr] --> src/problems/p43.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | Some(i) => {}, [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/problems/p43.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | Some(i) => {}, [INFO] [stderr] | ^ help: consider using `_i` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/problems/p42.rs:6:6 [INFO] [stderr] | [INFO] [stderr] 6 | let mut list : Vec = strings::process_list(s); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/problems/p43.rs:10:7 [INFO] [stderr] | [INFO] [stderr] 10 | let mut sv = to_vec(seventeen); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/problems/p42.rs:6:6 [INFO] [stderr] | [INFO] [stderr] 6 | let mut list : Vec = strings::process_list(s); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/problems/p43.rs:10:7 [INFO] [stderr] | [INFO] [stderr] 10 | let mut sv = to_vec(seventeen); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/utils/math.rs:97:25 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn next_permutation(mut input: &Vec) -> Vec { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/utils/math.rs:161:25 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn prev_permutation(mut input: &Vec) -> Vec { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/utils/math.rs:97:25 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn next_permutation(mut input: &Vec) -> Vec { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/utils/math.rs:161:25 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn prev_permutation(mut input: &Vec) -> Vec { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `right_truncatable` [INFO] [stderr] --> src/problems/p37.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn right_truncatable(p: i64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `next_permutation` [INFO] [stderr] --> src/utils/math.rs:97:1 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn next_permutation(mut input: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `list_primes` [INFO] [stderr] --> src/utils/primes.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn list_primes(max: i64) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `char_as_val` [INFO] [stderr] --> src/utils/strings.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn char_as_val(c: char) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `subvec` [INFO] [stderr] --> src/utils/vec.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn subvec(v: &Vec, a: usize, b: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `right_truncatable` [INFO] [stderr] --> src/problems/p37.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn right_truncatable(p: i64) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `next_permutation` [INFO] [stderr] --> src/utils/math.rs:97:1 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn next_permutation(mut input: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `list_primes` [INFO] [stderr] --> src/utils/primes.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn list_primes(max: i64) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `char_as_val` [INFO] [stderr] --> src/utils/strings.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn char_as_val(c: char) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `subvec` [INFO] [stderr] --> src/utils/vec.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn subvec(v: &Vec, a: usize, b: usize) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p2.rs:11:3 [INFO] [stderr] | [INFO] [stderr] 11 | a2 = a1 + a2; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `a2 += a1` [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: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p2.rs:11:3 [INFO] [stderr] | [INFO] [stderr] 11 | a2 = a1 + a2; [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `a2 += a1` [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: an inclusive range would be more readable [INFO] [stderr] --> src/problems/p6.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | for i in 1..x+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=x` [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/problems/p6.rs:17:11 [INFO] [stderr] | [INFO] [stderr] 17 | for i in 1..x+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=x` [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/problems/p6.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | for i in 1..x+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=x` [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/problems/p6.rs:17:11 [INFO] [stderr] | [INFO] [stderr] 17 | for i in 1..x+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=x` [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/problems/p8.rs:9:18 [INFO] [stderr] | [INFO] [stderr] 9 | let c = &nums[i+j..i+j+1]; [INFO] [stderr] | ^^^^^^^^^^ help: use: `i+j..=i+j` [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/problems/p9.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | if c == c.round() { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(c - c.round()).abs() < error` [INFO] [stderr] --> src/problems/p8.rs:9:18 [INFO] [stderr] | [INFO] [stderr] 9 | let c = &nums[i+j..i+j+1]; [INFO] [stderr] | ^^^^^^^^^^ help: use: `i+j..=i+j` [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/problems/p9.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | if c == c.round() { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/problems/p9.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | if c == c.round() { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(c - c.round()).abs() < error` [INFO] [stderr] | [INFO] [stderr] warning: the loop variable `i` is used to index `primes` [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] --> src/problems/p10.rs:9:15 [INFO] [stderr] | [INFO] [stderr] 9 | for i in 0..len { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/problems/p9.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | if c == c.round() { [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] | [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] 9 | for (i, ) in primes.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `primes` [INFO] [stderr] --> src/problems/p10.rs:9:15 [INFO] [stderr] | [INFO] [stderr] 9 | for i in 0..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] 9 | for (i, ) in primes.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the variable `lines` is used as a loop counter. Consider using `for (lines, item) in vinput.enumerate()` or similar iterators [INFO] [stderr] --> src/problems/p11.rs:29:14 [INFO] [stderr] | [INFO] [stderr] 29 | for line in vinput { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the variable `lines` is used as a loop counter. Consider using `for (lines, item) in vinput.enumerate()` or similar iterators [INFO] [stderr] --> src/problems/p11.rs:29:14 [INFO] [stderr] | [INFO] [stderr] 29 | for line in vinput { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the variable `lines` is used as a loop counter. Consider using `for (lines, item) in vinput.enumerate()` or similar iterators [INFO] [stderr] --> src/problems/p13.rs:110:14 [INFO] [stderr] | [INFO] [stderr] 110 | for line in vinput { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p13.rs:114:19 [INFO] [stderr] | [INFO] [stderr] 114 | let tmp: i64 = c.to_digit(10).unwrap() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(c.to_digit(10).unwrap())` [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: the variable `lines` is used as a loop counter. Consider using `for (lines, item) in vinput.enumerate()` or similar iterators [INFO] [stderr] --> src/problems/p13.rs:110:14 [INFO] [stderr] | [INFO] [stderr] 110 | for line in vinput { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/problems/p13.rs:133:11 [INFO] [stderr] | [INFO] [stderr] 133 | for i in 2..width+1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `2..=width` [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: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p13.rs:114:19 [INFO] [stderr] | [INFO] [stderr] 114 | let tmp: i64 = c.to_digit(10).unwrap() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(c.to_digit(10).unwrap())` [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: an inclusive range would be more readable [INFO] [stderr] --> src/problems/p13.rs:133:11 [INFO] [stderr] | [INFO] [stderr] 133 | for i in 2..width+1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `2..=width` [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: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p14.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | iter = iter/2; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `iter /= 2` [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: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p14.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | iter = iter/2; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `iter /= 2` [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: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p16.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | sum += c.to_digit(10).unwrap() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p16.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | sum += c.to_digit(10).unwrap() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/problems/p18.rs:35:11 [INFO] [stderr] | [INFO] [stderr] 35 | for i in 2..lines+1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `2..=lines` [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/problems/p18.rs:35:11 [INFO] [stderr] | [INFO] [stderr] 35 | for i in 2..lines+1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `2..=lines` [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: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p20.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | sum += c.to_digit(10).unwrap() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `list` [INFO] [stderr] --> src/problems/p22.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | for i in 0..list.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] 9 | for (i, ) in list.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `list`. [INFO] [stderr] --> src/problems/p22.rs:23:11 [INFO] [stderr] | [INFO] [stderr] 23 | for i in 0..list.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] 23 | for in &mut list { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p20.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | sum += c.to_digit(10).unwrap() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(c.to_digit(10).unwrap())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `f`. [INFO] [stderr] --> src/problems/p23.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 12 | for j in 0..f.len()-1 { [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] 12 | for in f.iter().take(f.len()-1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `list` [INFO] [stderr] --> src/problems/p22.rs:9:11 [INFO] [stderr] | [INFO] [stderr] 9 | for i in 0..list.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] 9 | for (i, ) in list.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p24.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | tmp_perm[0] = tmp_perm[0] % 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tmp_perm[0] %= 10` [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: the loop variable `i` is only used to index `list`. [INFO] [stderr] --> src/problems/p22.rs:23:11 [INFO] [stderr] | [INFO] [stderr] 23 | for i in 0..list.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] 23 | for in &mut list { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p24.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | tmp_perm[0] = tmp_perm[0] % 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tmp_perm[0] %= 10` [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/problems/p24.rs:62:28 [INFO] [stderr] | [INFO] [stderr] 62 | fn print_perm(permutation: &Vec) -> i64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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: the loop variable `j` is only used to index `f`. [INFO] [stderr] --> src/problems/p23.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 12 | for j in 0..f.len()-1 { [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] 12 | for in f.iter().take(f.len()-1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/problems/p27.rs:11:8 [INFO] [stderr] | [INFO] [stderr] 11 | if p >= 2 && (n>=2 && b % n != 0 || n < 2) && utils::primes::is_prime(p) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 11 | if !(n>=2 && b % n == 0 || !utils::primes::is_prime(p) || p < 2) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 11 | if (n < 2 || b % n != 0) && utils::primes::is_prime(p) && p >= 2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p24.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | tmp_perm[0] = tmp_perm[0] % 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tmp_perm[0] %= 10` [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: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p24.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | tmp_perm[0] = tmp_perm[0] % 10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `tmp_perm[0] %= 10` [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: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p28.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | sum as i64 [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(sum)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [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/problems/p24.rs:62:28 [INFO] [stderr] | [INFO] [stderr] 62 | fn print_perm(permutation: &Vec) -> i64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p29.rs:9:32 [INFO] [stderr] | [INFO] [stderr] 9 | distinct_pows.push(i as i64); [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this boolean expression can be simplified [INFO] [stderr] --> src/problems/p27.rs:11:8 [INFO] [stderr] | [INFO] [stderr] 11 | if p >= 2 && (n>=2 && b % n != 0 || n < 2) && utils::primes::is_prime(p) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::nonminimal_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 11 | if !(n>=2 && b % n == 0 || !utils::primes::is_prime(p) || p < 2) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 11 | if (n < 2 || b % n != 0) && utils::primes::is_prime(p) && p >= 2 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p30.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | n = n/10; [INFO] [stderr] | ^^^^^^^^ help: replace it with: `n /= 10` [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: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p28.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | sum as i64 [INFO] [stderr] | ^^^^^^^^^^ help: try: `i64::from(sum)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p32.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | k_p = k_p / 10; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `k_p /= 10` [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: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p29.rs:9:32 [INFO] [stderr] | [INFO] [stderr] 9 | distinct_pows.push(i as i64); [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p32.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | i_p = i_p / 10; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `i_p /= 10` [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: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p30.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | n = n/10; [INFO] [stderr] | ^^^^^^^^ help: replace it with: `n /= 10` [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: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p32.rs:25:21 [INFO] [stderr] | [INFO] [stderr] 25 | k_p = k_p / 10; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `k_p /= 10` [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: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p34.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | n = n/10; [INFO] [stderr] | ^^^^^^^^ help: replace it with: `n /= 10` [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: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p32.rs:61:13 [INFO] [stderr] | [INFO] [stderr] 61 | i_p = i_p / 10; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `i_p /= 10` [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: the loop variable `i` is used to index `primes` [INFO] [stderr] --> src/problems/p35.rs:19:15 [INFO] [stderr] | [INFO] [stderr] 19 | for i in 0..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] 19 | for (i, ) in primes.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p35.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | count as i64 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(count)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p34.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | n = n/10; [INFO] [stderr] | ^^^^^^^^ help: replace it with: `n /= 10` [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: the loop variable `i` is used to index `primes` [INFO] [stderr] --> src/problems/p35.rs:19:15 [INFO] [stderr] | [INFO] [stderr] 19 | for i in 0..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] 19 | for (i, ) in primes.iter().enumerate().take(len) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p37.rs:32:2 [INFO] [stderr] | [INFO] [stderr] 32 | x = x/10; [INFO] [stderr] | ^^^^^^^^ help: replace it with: `x /= 10` [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: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p37.rs:39:3 [INFO] [stderr] | [INFO] [stderr] 39 | x = x/10; [INFO] [stderr] | ^^^^^^^^ help: replace it with: `x /= 10` [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: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/problems/p35.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | count as i64 [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(count)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/problems/p38.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | for k in 1..j+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=j` [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/problems/p39.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | if c == c.floor() && a + b + (c.floor() as usize) < 1000 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(c - c.floor()).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/problems/p39.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | if c == c.floor() && a + b + (c.floor() as usize) < 1000 { [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: the loop variable `i` is used to index `triples` [INFO] [stderr] --> src/problems/p39.rs:13:14 [INFO] [stderr] | [INFO] [stderr] 13 | for i in 0..1001 { [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] 13 | for (i, ) in triples.iter().enumerate().take(1001) { [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/problems/p41.rs:11:19 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn to_num(v : &Vec) -> i64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p37.rs:32:2 [INFO] [stderr] | [INFO] [stderr] 32 | x = x/10; [INFO] [stderr] | ^^^^^^^^ help: replace it with: `x /= 10` [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: manual implementation of an assign operation [INFO] [stderr] --> src/problems/p37.rs:39:3 [INFO] [stderr] | [INFO] [stderr] 39 | x = x/10; [INFO] [stderr] | ^^^^^^^^ help: replace it with: `x /= 10` [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: an inclusive range would be more readable [INFO] [stderr] --> src/problems/p38.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | for k in 1..j+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=j` [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/problems/p39.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | if c == c.floor() && a + b + (c.floor() as usize) < 1000 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider comparing them within some error: `(c - c.floor()).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/problems/p39.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | if c == c.floor() && a + b + (c.floor() as usize) < 1000 { [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: the loop variable `i` is used to index `triples` [INFO] [stderr] --> src/problems/p39.rs:13:14 [INFO] [stderr] | [INFO] [stderr] 13 | for i in 0..1001 { [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] 13 | for (i, ) in triples.iter().enumerate().take(1001) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/problems/p615.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 44 | for j in 0..i+1 { [INFO] [stderr] | ^^^^^^ help: use: `0..=i` [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: length comparison to zero [INFO] [stderr] --> src/problems/p615.rs:47:7 [INFO] [stderr] | [INFO] [stderr] 47 | if sets[j].post.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!sets[j].post.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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/problems/p615.rs:80:32 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn calculate_modifier(pre: &Vec, post: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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/problems/p615.rs:80:49 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn calculate_modifier(pre: &Vec, post: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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/problems/p615.rs:118:51 [INFO] [stderr] | [INFO] [stderr] 118 | pub fn generate_post_changesets(max: i64, primes: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[ChangeSet]` [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/problems/p41.rs:11:19 [INFO] [stderr] | [INFO] [stderr] 11 | pub fn to_num(v : &Vec) -> i64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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/problems/p615.rs:120:11 [INFO] [stderr] | [INFO] [stderr] 120 | for i 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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/problems/p615.rs:131:46 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn list_factors(to_factor: i64, primes: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[ChangeSet]` [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/utils/math.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | for i in 1.. x+1 { [INFO] [stderr] | ^^^^^^^ help: use: `1..=x` [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/utils/math.rs:17:11 [INFO] [stderr] | [INFO] [stderr] 17 | for i in 1..n-k+1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=n-k` [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/utils/math.rs:25:11 [INFO] [stderr] | [INFO] [stderr] 25 | for i in n-k+1..n+1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `n-k+1..=n` [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/utils/math.rs:33:11 [INFO] [stderr] | [INFO] [stderr] 33 | for i in n-k+1..n+1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `n-k+1..=n` [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: manual implementation of an assign operation [INFO] [stderr] --> src/utils/math.rs:34:3 [INFO] [stderr] | [INFO] [stderr] 34 | f = f*i; [INFO] [stderr] | ^^^^^^^ help: replace it with: `f *= i` [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: an inclusive range would be more readable [INFO] [stderr] --> src/utils/math.rs:79:11 [INFO] [stderr] | [INFO] [stderr] 79 | for _ in 1..e+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=e` [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: manual implementation of an assign operation [INFO] [stderr] --> src/utils/math.rs:80:3 [INFO] [stderr] | [INFO] [stderr] 80 | pow = pow * x; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pow *= x` [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: an inclusive range would be more readable [INFO] [stderr] --> src/utils/math.rs:87:11 [INFO] [stderr] | [INFO] [stderr] 87 | for _ in 1..e+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=e` [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/utils/math.rs:97:36 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn next_permutation(mut input: &Vec) -> Vec { [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 97 | pub fn next_permutation(mut input: &[i64]) -> Vec { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `input.clone()` to [INFO] [stderr] | [INFO] [stderr] 98 | let mut v = input.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/problems/p615.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 44 | for j in 0..i+1 { [INFO] [stderr] | ^^^^^^ help: use: `0..=i` [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: length comparison to zero [INFO] [stderr] --> src/problems/p615.rs:47:7 [INFO] [stderr] | [INFO] [stderr] 47 | if sets[j].post.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!sets[j].post.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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/problems/p615.rs:80:32 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn calculate_modifier(pre: &Vec, post: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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/problems/p615.rs:80:49 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn calculate_modifier(pre: &Vec, post: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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/utils/math.rs:161:36 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn prev_permutation(mut input: &Vec) -> Vec { [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 161 | pub fn prev_permutation(mut input: &[i64]) -> Vec { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `input.clone()` to [INFO] [stderr] | [INFO] [stderr] 162 | let mut v = input.to_owned(); [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/problems/p615.rs:118:51 [INFO] [stderr] | [INFO] [stderr] 118 | pub fn generate_post_changesets(max: i64, primes: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[ChangeSet]` [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/utils/math.rs:193:42 [INFO] [stderr] | [INFO] [stderr] 193 | pub fn is_pandigital(mut x: i64, digits: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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/problems/p615.rs:120:11 [INFO] [stderr] | [INFO] [stderr] 120 | for i 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: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/utils/math.rs:203:2 [INFO] [stderr] | [INFO] [stderr] 203 | if arr.len() == digits.len() { [INFO] [stderr] | _____^ [INFO] [stderr] 204 | | true [INFO] [stderr] 205 | | } else { [INFO] [stderr] 206 | | false [INFO] [stderr] 207 | | } [INFO] [stderr] | |_____^ help: you can reduce it to: `arr.len() == digits.len()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_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/problems/p615.rs:131:46 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn list_factors(to_factor: i64, primes: &Vec) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change this to: `&[ChangeSet]` [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/utils/math.rs:218:6 [INFO] [stderr] | [INFO] [stderr] 218 | if roots[0] == roots[0].floor() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(roots[0] - roots[0].floor()).abs() < error` [INFO] [stderr] | [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/utils/math.rs:8:11 [INFO] [stderr] | [INFO] [stderr] 8 | for i in 1.. x+1 { [INFO] [stderr] | ^^^^^^^ help: use: `1..=x` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] [INFO] [stderr] --> src/utils/math.rs:218:6 [INFO] [stderr] | [INFO] [stderr] 218 | if roots[0] == roots[0].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/utils/math.rs:225:19 [INFO] [stderr] | [INFO] [stderr] 225 | pub fn to_num(v : &Vec) -> i64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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/utils/math.rs:17:11 [INFO] [stderr] | [INFO] [stderr] 17 | for i in 1..n-k+1 { [INFO] [stderr] | ^^^^^^^^ help: use: `1..=n-k` [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/utils/math.rs:25:11 [INFO] [stderr] | [INFO] [stderr] 25 | for i in n-k+1..n+1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `n-k+1..=n` [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/utils/primes.rs:20:11 [INFO] [stderr] | [INFO] [stderr] 20 | for i in 2..(max as f64).sqrt().floor() as i64 + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `2..=(max as f64).sqrt().floor() as i64` [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/utils/math.rs:33:11 [INFO] [stderr] | [INFO] [stderr] 33 | for i in n-k+1..n+1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `n-k+1..=n` [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: manual implementation of an assign operation [INFO] [stderr] --> src/utils/math.rs:34:3 [INFO] [stderr] | [INFO] [stderr] 34 | f = f*i; [INFO] [stderr] | ^^^^^^^ help: replace it with: `f *= i` [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: an inclusive range would be more readable [INFO] [stderr] --> src/utils/primes.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 21 | for j in 2..max/i+1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `2..=max/i` [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: the loop variable `i` is used to index `sieve` [INFO] [stderr] --> src/utils/primes.rs:26:11 [INFO] [stderr] | [INFO] [stderr] 26 | for i in 2..max as usize + 1 { [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] 26 | for (i, ) in sieve.iter().enumerate().take(max as usize + 1).skip(2) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/utils/primes.rs:26:11 [INFO] [stderr] | [INFO] [stderr] 26 | for i in 2..max as usize + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use: `2..=max as usize` [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/utils/math.rs:79:11 [INFO] [stderr] | [INFO] [stderr] 79 | for _ in 1..e+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=e` [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: the loop variable `i` is only used to index `list`. [INFO] [stderr] --> src/utils/strings.rs:15:11 [INFO] [stderr] | [INFO] [stderr] 15 | for i in 0..list.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] 15 | for in &mut list { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/utils/math.rs:80:3 [INFO] [stderr] | [INFO] [stderr] 80 | pow = pow * x; [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `pow *= x` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/utils/strings.rs:24:23 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn wordscore(str: &String) -> i64 { [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/utils/vec.rs:3:27 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn subvec(v: &Vec, a: usize, b: usize) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&[T]` [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 only used to index `v`. [INFO] [stderr] --> src/utils/vec.rs:5:11 [INFO] [stderr] | [INFO] [stderr] 5 | for i in a..b { [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] 5 | for in v.iter().take(b).skip(a) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/utils/math.rs:87:11 [INFO] [stderr] | [INFO] [stderr] 87 | for _ in 1..e+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=e` [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/utils/math.rs:97:36 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn next_permutation(mut input: &Vec) -> Vec { [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 97 | pub fn next_permutation(mut input: &[i64]) -> Vec { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `input.clone()` to [INFO] [stderr] | [INFO] [stderr] 98 | let mut v = input.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/scheduler.rs:31:28 [INFO] [stderr] | [INFO] [stderr] 31 | if (*data).to_solve.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!(*data).to_solve.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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/utils/math.rs:161:36 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn prev_permutation(mut input: &Vec) -> Vec { [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 161 | pub fn prev_permutation(mut input: &[i64]) -> Vec { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `input.clone()` to [INFO] [stderr] | [INFO] [stderr] 162 | let mut v = input.to_owned(); [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/utils/math.rs:193:42 [INFO] [stderr] | [INFO] [stderr] 193 | pub fn is_pandigital(mut x: i64, digits: &Vec) -> bool { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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 if-then-else expression returns a bool literal [INFO] [stderr] --> src/utils/math.rs:203:2 [INFO] [stderr] | [INFO] [stderr] 203 | if arr.len() == digits.len() { [INFO] [stderr] | _____^ [INFO] [stderr] 204 | | true [INFO] [stderr] 205 | | } else { [INFO] [stderr] 206 | | false [INFO] [stderr] 207 | | } [INFO] [stderr] | |_____^ help: you can reduce it to: `arr.len() == digits.len()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/utils/math.rs:218:6 [INFO] [stderr] | [INFO] [stderr] 218 | if roots[0] == roots[0].floor() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(roots[0] - roots[0].floor()).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/utils/math.rs:218:6 [INFO] [stderr] | [INFO] [stderr] 218 | if roots[0] == roots[0].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/utils/math.rs:225:19 [INFO] [stderr] | [INFO] [stderr] 225 | pub fn to_num(v : &Vec) -> i64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[i64]` [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/utils/primes.rs:20:11 [INFO] [stderr] | [INFO] [stderr] 20 | for i in 2..(max as f64).sqrt().floor() as i64 + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `2..=(max as f64).sqrt().floor() as i64` [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/utils/primes.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 21 | for j in 2..max/i+1 { [INFO] [stderr] | ^^^^^^^^^^ help: use: `2..=max/i` [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: the loop variable `i` is used to index `sieve` [INFO] [stderr] --> src/utils/primes.rs:26:11 [INFO] [stderr] | [INFO] [stderr] 26 | for i in 2..max as usize + 1 { [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] 26 | for (i, ) in sieve.iter().enumerate().take(max as usize + 1).skip(2) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/utils/primes.rs:26:11 [INFO] [stderr] | [INFO] [stderr] 26 | for i in 2..max as usize + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use: `2..=max as usize` [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: the loop variable `i` is only used to index `list`. [INFO] [stderr] --> src/utils/strings.rs:15:11 [INFO] [stderr] | [INFO] [stderr] 15 | for i in 0..list.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] 15 | for in &mut list { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/utils/strings.rs:24:23 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn wordscore(str: &String) -> i64 { [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/utils/vec.rs:3:27 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn subvec(v: &Vec, a: usize, b: usize) -> Vec { [INFO] [stderr] | ^^^^^^^ help: change this to: `&[T]` [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 only used to index `v`. [INFO] [stderr] --> src/utils/vec.rs:5:11 [INFO] [stderr] | [INFO] [stderr] 5 | for i in a..b { [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] 5 | for in v.iter().take(b).skip(a) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: Could not compile `euler`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/scheduler.rs:31:28 [INFO] [stderr] | [INFO] [stderr] 31 | if (*data).to_solve.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!(*data).to_solve.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 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `euler`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "e82a10d1c8d2e7e7873a32c3ed58bde90482f7327a241934fc2f53d2d339d4cb"` [INFO] running `"docker" "rm" "-f" "e82a10d1c8d2e7e7873a32c3ed58bde90482f7327a241934fc2f53d2d339d4cb"` [INFO] [stdout] e82a10d1c8d2e7e7873a32c3ed58bde90482f7327a241934fc2f53d2d339d4cb