[INFO] updating cached repository Miloas/project-euler-rust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Miloas/project-euler-rust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Miloas/project-euler-rust" "work/ex/clippy-test-run/sources/stable/gh/Miloas/project-euler-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/Miloas/project-euler-rust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Miloas/project-euler-rust" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Miloas/project-euler-rust"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Miloas/project-euler-rust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d46a8a4089bc70628bd3ba75f6f313e9ee4e347c [INFO] sha for GitHub repo Miloas/project-euler-rust: d46a8a4089bc70628bd3ba75f6f313e9ee4e347c [INFO] validating manifest of Miloas/project-euler-rust 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 Miloas/project-euler-rust 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 Miloas/project-euler-rust [INFO] finished frobbing Miloas/project-euler-rust [INFO] frobbed toml for Miloas/project-euler-rust written to work/ex/clippy-test-run/sources/stable/gh/Miloas/project-euler-rust/Cargo.toml [INFO] started frobbing Miloas/project-euler-rust [INFO] finished frobbing Miloas/project-euler-rust [INFO] frobbed toml for Miloas/project-euler-rust written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/Miloas/project-euler-rust/Cargo.toml [INFO] crate Miloas/project-euler-rust 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 Miloas/project-euler-rust against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-4/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/Miloas/project-euler-rust:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 4d174e4d3c71fe9e4cc4e5472131b531216ad60af551a08c90d5af75fdd65b97 [INFO] running `"docker" "start" "-a" "4d174e4d3c71fe9e4cc4e5472131b531216ad60af551a08c90d5af75fdd65b97"` [INFO] [stderr] Checking project-euler-rust v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | let r = a % b; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:35:19 [INFO] [stderr] | [INFO] [stderr] 35 | let (mut a, mut b, c, mut ret) = (x, y, z, 0); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:35:22 [INFO] [stderr] | [INFO] [stderr] 35 | let (mut a, mut b, c, mut ret) = (x, y, z, 0); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:59:19 [INFO] [stderr] | [INFO] [stderr] 59 | let (mut a, mut b, c, mut ret) = (x, y, z, 1); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:59:22 [INFO] [stderr] | [INFO] [stderr] 59 | let (mut a, mut b, c, mut ret) = (x, y, z, 1); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:83:21 [INFO] [stderr] | [INFO] [stderr] 83 | let (mut ret, mut i)= (pow_mod(a, x, n), 1); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | let a = _rand(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:138:11 [INFO] [stderr] | [INFO] [stderr] 138 | let mut a = _rand() % (n - 1) + 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:139:11 [INFO] [stderr] | [INFO] [stderr] 139 | let mut b = a; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | let p = gcd(n + b - a, n); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | let r = a % b; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:35:19 [INFO] [stderr] | [INFO] [stderr] 35 | let (mut a, mut b, c, mut ret) = (x, y, z, 0); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:35:22 [INFO] [stderr] | [INFO] [stderr] 35 | let (mut a, mut b, c, mut ret) = (x, y, z, 0); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:59:19 [INFO] [stderr] | [INFO] [stderr] 59 | let (mut a, mut b, c, mut ret) = (x, y, z, 1); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:59:22 [INFO] [stderr] | [INFO] [stderr] 59 | let (mut a, mut b, c, mut ret) = (x, y, z, 1); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:83:21 [INFO] [stderr] | [INFO] [stderr] 83 | let (mut ret, mut i)= (pow_mod(a, x, n), 1); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:119:9 [INFO] [stderr] | [INFO] [stderr] 119 | let a = _rand(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:138:11 [INFO] [stderr] | [INFO] [stderr] 138 | let mut a = _rand() % (n - 1) + 1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:139:11 [INFO] [stderr] | [INFO] [stderr] 139 | let mut b = a; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 7th binding whose name is just one char [INFO] [stderr] --> src/lib/index.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | let p = gcd(n + b - a, n); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/lib/index.rs:93:3 [INFO] [stderr] | [INFO] [stderr] 93 | / if ret != 1 { [INFO] [stderr] 94 | | true [INFO] [stderr] 95 | | } else { [INFO] [stderr] 96 | | false [INFO] [stderr] 97 | | } [INFO] [stderr] | |___^ help: you can reduce it to: `ret != 1` [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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/lib/index.rs:210:40 [INFO] [stderr] | [INFO] [stderr] 210 | let m = if n < 25 { 16 } else { n * ((n as f64).ln() as i32) + 2 * n * ((n as f64).ln().ln() as i32) }; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(n)` [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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/lib/index.rs:210:75 [INFO] [stderr] | [INFO] [stderr] 210 | let m = if n < 25 { 16 } else { n * ((n as f64).ln() as i32) + 2 * n * ((n as f64).ln().ln() as i32) }; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(n)` [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: long literal lacking separators [INFO] [stderr] --> src/lib/index.rs:130:33 [INFO] [stderr] | [INFO] [stderr] 130 | assert_eq!(true, miller_rabin(19930507)); [INFO] [stderr] | ^^^^^^^^ help: consider: `19_930_507` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/lib/index.rs:131:34 [INFO] [stderr] | [INFO] [stderr] 131 | assert_eq!(false, miller_rabin(19920809)); [INFO] [stderr] | ^^^^^^^^ help: consider: `19_920_809` [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/lib/index.rs:184:26 [INFO] [stderr] | [INFO] [stderr] 184 | assert_eq!(find_factor(19920809), [47, 423847]); [INFO] [stderr] | ^^^^^^^^ help: consider: `19_920_809` [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/lib/index.rs:184:42 [INFO] [stderr] | [INFO] [stderr] 184 | assert_eq!(find_factor(19920809), [47, 423847]); [INFO] [stderr] | ^^^^^^ help: consider: `423_847` [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-then-else expression returns a bool literal [INFO] [stderr] --> src/lib/index.rs:93:3 [INFO] [stderr] | [INFO] [stderr] 93 | / if ret != 1 { [INFO] [stderr] 94 | | true [INFO] [stderr] 95 | | } else { [INFO] [stderr] 96 | | false [INFO] [stderr] 97 | | } [INFO] [stderr] | |___^ help: you can reduce it to: `ret != 1` [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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/lib/index.rs:210:40 [INFO] [stderr] | [INFO] [stderr] 210 | let m = if n < 25 { 16 } else { n * ((n as f64).ln() as i32) + 2 * n * ((n as f64).ln().ln() as i32) }; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(n)` [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: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/lib/index.rs:210:75 [INFO] [stderr] | [INFO] [stderr] 210 | let m = if n < 25 { 16 } else { n * ((n as f64).ln() as i32) + 2 * n * ((n as f64).ln().ln() as i32) }; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(n)` [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: long literal lacking separators [INFO] [stderr] --> src/solver/p004.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | let a = 900009 + i * 10010 + j * 1100; [INFO] [stderr] | ^^^^^^ help: consider: `900_009` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/solver/p008.rs:2:13 [INFO] [stderr] | [INFO] [stderr] 2 | const S: &'static str = r" [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/solver/p011.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | const S: &'static str = r" [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:44:6 [INFO] [stderr] | [INFO] [stderr] 44 | if x as i32 - 1 >= 0 && x + 1 < vvi.len() && x + 2 < vvi.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::int_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 44 | if x as i32 > 0 && x + 1 < vvi.len() && x + 2 < vvi.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:52:6 [INFO] [stderr] | [INFO] [stderr] 52 | if y as i32 - 1 >= 0 && y + 1 < vvi[0].len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 52 | if y as i32 > 0 && y + 1 < vvi[0].len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:60:6 [INFO] [stderr] | [INFO] [stderr] 60 | if x as i32 - 1 >= 0 && y as i32 - 1 >= 0 && x + 1 < vvi.len() && y + 1 < vvi[0].len() && x + 2 < vvi.len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 60 | if x as i32 > 0 && y as i32 - 1 >= 0 && x + 1 < vvi.len() && y + 1 < vvi[0].len() && x + 2 < vvi.len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:60:27 [INFO] [stderr] | [INFO] [stderr] 60 | if x as i32 - 1 >= 0 && y as i32 - 1 >= 0 && x + 1 < vvi.len() && y + 1 < vvi[0].len() && x + 2 < vvi.len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 60 | if x as i32 - 1 >= 0 && y as i32 > 0 && x + 1 < vvi.len() && y + 1 < vvi[0].len() && x + 2 < vvi.len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:68:6 [INFO] [stderr] | [INFO] [stderr] 68 | if x as i32 - 1 >= 0 && y + 1 < vvi[0].len() && x + 1 < vvi.len() && y as i32 - 1 >=0 && x + 2 < vvi.len() && y as i32 - 2 >= 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 68 | if x as i32 > 0 && y + 1 < vvi[0].len() && x + 1 < vvi.len() && y as i32 - 1 >=0 && x + 2 < vvi.len() && y as i32 - 2 >= 0 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:68:72 [INFO] [stderr] | [INFO] [stderr] 68 | if x as i32 - 1 >= 0 && y + 1 < vvi[0].len() && x + 1 < vvi.len() && y as i32 - 1 >=0 && x + 2 < vvi.len() && y as i32 - 2 >= 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 68 | if x as i32 - 1 >= 0 && y + 1 < vvi[0].len() && x + 1 < vvi.len() && y as i32 > 0 && x + 2 < vvi.len() && y as i32 - 2 >= 0 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/solver/p004.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | let a = 900009 + i * 10010 + j * 1100; [INFO] [stderr] | ^^^^^^ help: consider: `900_009` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/solver/p008.rs:2:13 [INFO] [stderr] | [INFO] [stderr] 2 | const S: &'static str = r" [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/solver/p011.rs:4:15 [INFO] [stderr] | [INFO] [stderr] 4 | const S: &'static str = r" [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:44:6 [INFO] [stderr] | [INFO] [stderr] 44 | if x as i32 - 1 >= 0 && x + 1 < vvi.len() && x + 2 < vvi.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::int_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 44 | if x as i32 > 0 && x + 1 < vvi.len() && x + 2 < vvi.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:52:6 [INFO] [stderr] | [INFO] [stderr] 52 | if y as i32 - 1 >= 0 && y + 1 < vvi[0].len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 52 | if y as i32 > 0 && y + 1 < vvi[0].len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:60:6 [INFO] [stderr] | [INFO] [stderr] 60 | if x as i32 - 1 >= 0 && y as i32 - 1 >= 0 && x + 1 < vvi.len() && y + 1 < vvi[0].len() && x + 2 < vvi.len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 60 | if x as i32 > 0 && y as i32 - 1 >= 0 && x + 1 < vvi.len() && y + 1 < vvi[0].len() && x + 2 < vvi.len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:60:27 [INFO] [stderr] | [INFO] [stderr] 60 | if x as i32 - 1 >= 0 && y as i32 - 1 >= 0 && x + 1 < vvi.len() && y + 1 < vvi[0].len() && x + 2 < vvi.len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 60 | if x as i32 - 1 >= 0 && y as i32 > 0 && x + 1 < vvi.len() && y + 1 < vvi[0].len() && x + 2 < vvi.len() && y + 2 < vvi[0].len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:68:6 [INFO] [stderr] | [INFO] [stderr] 68 | if x as i32 - 1 >= 0 && y + 1 < vvi[0].len() && x + 1 < vvi.len() && y as i32 - 1 >=0 && x + 2 < vvi.len() && y as i32 - 2 >= 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 68 | if x as i32 > 0 && y + 1 < vvi[0].len() && x + 1 < vvi.len() && y as i32 - 1 >=0 && x + 2 < vvi.len() && y as i32 - 2 >= 0 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: Unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stderr] --> src/solver/p011.rs:68:72 [INFO] [stderr] | [INFO] [stderr] 68 | if x as i32 - 1 >= 0 && y + 1 < vvi[0].len() && x + 1 < vvi.len() && y as i32 - 1 >=0 && x + 2 < vvi.len() && y as i32 - 2 >= 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stderr] help: change `>= y + 1` to `> y` as shown [INFO] [stderr] | [INFO] [stderr] 68 | if x as i32 - 1 >= 0 && y + 1 < vvi[0].len() && x + 1 < vvi.len() && y as i32 > 0 && x + 2 < vvi.len() && y as i32 - 2 >= 0 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: useless use of `vec!` [INFO] [stderr] --> src/solver/p004.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | for k in vec![1, 3, 5, 7] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[1, 3, 5, 7]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/solver/p005.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | for b in 2..(x + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `2..=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: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/solver/p005.rs:8:17 [INFO] [stderr] | [INFO] [stderr] 8 | a = _lcm(a, b as i64); [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(b)` [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: useless use of `vec!` [INFO] [stderr] --> src/solver/p004.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | for k in vec![1, 3, 5, 7] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: you can use a slice directly: `&[1, 3, 5, 7]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_vec)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/solver/p005.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | for b in 2..(x + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `2..=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: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/solver/p005.rs:8:17 [INFO] [stderr] | [INFO] [stderr] 8 | a = _lcm(a, b as i64); [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(b)` [INFO] [stderr] | [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] --> src/solver/p008.rs:27:14 [INFO] [stderr] | [INFO] [stderr] 27 | .map(|n| n as u64) [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(n)` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [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 `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/solver/p008.rs:30:26 [INFO] [stderr] | [INFO] [stderr] 30 | .map(|win| win.iter().fold(1u64, |p, &a| p * a)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.product()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_fold)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> src/solver/p008.rs:27:14 [INFO] [stderr] | [INFO] [stderr] 27 | .map(|n| n as u64) [INFO] [stderr] | ^^^^^^^^ help: try: `u64::from(n)` [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 i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/solver/p010.rs:4:28 [INFO] [stderr] | [INFO] [stderr] 4 | let vi = lib::primes(n / (n as f64).ln() as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(n)` [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 `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/solver/p008.rs:30:26 [INFO] [stderr] | [INFO] [stderr] 30 | .map(|win| win.iter().fold(1u64, |p, &a| p * a)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.product()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_fold)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [INFO] [stderr] [INFO] [stderr] warning: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/solver/p010.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | if x < n as i64 { [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(n)` [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/solver/p011.rs:42:14 [INFO] [stderr] | [INFO] [stderr] 42 | fn cal0(vvi: &Vec>, x: usize, y: usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/solver/p011.rs:50:14 [INFO] [stderr] | [INFO] [stderr] 50 | fn cal1(vvi: &Vec>, x: usize, y: usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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/solver/p011.rs:58:14 [INFO] [stderr] | [INFO] [stderr] 58 | fn cal2(vvi: &Vec>, x: usize, y: usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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/solver/p011.rs:66:14 [INFO] [stderr] | [INFO] [stderr] 66 | fn cal3(vvi: &Vec>, x: usize, y: usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/solver/p010.rs:4:28 [INFO] [stderr] | [INFO] [stderr] 4 | let vi = lib::primes(n / (n as f64).ln() as i32); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(n)` [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/solver/p010.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | if x < n as i64 { [INFO] [stderr] | ^^^^^^^^ help: try: `i64::from(n)` [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/solver/p011.rs:42:14 [INFO] [stderr] | [INFO] [stderr] 42 | fn cal0(vvi: &Vec>, x: usize, y: usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/solver/p011.rs:50:14 [INFO] [stderr] | [INFO] [stderr] 50 | fn cal1(vvi: &Vec>, x: usize, y: usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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/solver/p011.rs:58:14 [INFO] [stderr] | [INFO] [stderr] 58 | fn cal2(vvi: &Vec>, x: usize, y: usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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/solver/p011.rs:66:14 [INFO] [stderr] | [INFO] [stderr] 66 | fn cal3(vvi: &Vec>, x: usize, y: usize) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: change this to: `&[Vec]` [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] Finished dev [unoptimized + debuginfo] target(s) in 1.38s [INFO] running `"docker" "inspect" "4d174e4d3c71fe9e4cc4e5472131b531216ad60af551a08c90d5af75fdd65b97"` [INFO] running `"docker" "rm" "-f" "4d174e4d3c71fe9e4cc4e5472131b531216ad60af551a08c90d5af75fdd65b97"` [INFO] [stdout] 4d174e4d3c71fe9e4cc4e5472131b531216ad60af551a08c90d5af75fdd65b97