[INFO] updating cached repository mariogeiger/activities [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/mariogeiger/activities [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/mariogeiger/activities" "work/ex/clippy-test-run/sources/stable/gh/mariogeiger/activities"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/mariogeiger/activities'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/mariogeiger/activities" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mariogeiger/activities"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mariogeiger/activities'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 76b32ba4fb1af7e3f6809df9b326638a8d111d94 [INFO] sha for GitHub repo mariogeiger/activities: 76b32ba4fb1af7e3f6809df9b326638a8d111d94 [INFO] validating manifest of mariogeiger/activities 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 mariogeiger/activities 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 mariogeiger/activities [INFO] finished frobbing mariogeiger/activities [INFO] frobbed toml for mariogeiger/activities written to work/ex/clippy-test-run/sources/stable/gh/mariogeiger/activities/Cargo.toml [INFO] started frobbing mariogeiger/activities [INFO] finished frobbing mariogeiger/activities [INFO] frobbed toml for mariogeiger/activities written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mariogeiger/activities/Cargo.toml [INFO] crate mariogeiger/activities 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 mariogeiger/activities against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/mariogeiger/activities:/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] adf6501f0e3397cb1b34fa1ed903d2d0bf9e76ca7c2f2f068d061abc0bd04e89 [INFO] running `"docker" "start" "-a" "adf6501f0e3397cb1b34fa1ed903d2d0bf9e76ca7c2f2f068d061abc0bd04e89"` [INFO] [stderr] Checking winapi v0.2.7 [INFO] [stderr] Checking libc v0.2.11 [INFO] [stderr] Checking rand v0.3.14 [INFO] [stderr] Checking num_cpus v0.2.12 [INFO] [stderr] Checking kernel32-sys v0.2.2 [INFO] [stderr] Checking time v0.1.35 [INFO] [stderr] Checking activities v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/rwfile.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | write!(buffer, "\n").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/rwfile.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | write!(buffer, "\n").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:218:9 [INFO] [stderr] | [INFO] [stderr] 218 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:143:17 [INFO] [stderr] | [INFO] [stderr] 143 | / if score == shared.best_score { [INFO] [stderr] 144 | | if !shared.best_results.contains(&results) { [INFO] [stderr] 145 | | shared.best_results.push(results); [INFO] [stderr] 146 | | } [INFO] [stderr] 147 | | } [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] 143 | if score == shared.best_score && !shared.best_results.contains(&results) { [INFO] [stderr] 144 | shared.best_results.push(results); [INFO] [stderr] 145 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/main.rs:143:17 [INFO] [stderr] | [INFO] [stderr] 143 | / if score == shared.best_score { [INFO] [stderr] 144 | | if !shared.best_results.contains(&results) { [INFO] [stderr] 145 | | shared.best_results.push(results); [INFO] [stderr] 146 | | } [INFO] [stderr] 147 | | } [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] 143 | if score == shared.best_score && !shared.best_results.contains(&results) { [INFO] [stderr] 144 | shared.best_results.push(results); [INFO] [stderr] 145 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/rwfile.rs:5:29 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn write_file(out_file: &String, results: &Vec>, wishes: &Vec>, ids: &Vec, delimiter: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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/rwfile.rs:5:47 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn write_file(out_file: &String, results: &Vec>, wishes: &Vec>, ids: &Vec, delimiter: &String) { [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/rwfile.rs:5:73 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn write_file(out_file: &String, results: &Vec>, wishes: &Vec>, ids: &Vec, delimiter: &String) { [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/rwfile.rs:5:94 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn write_file(out_file: &String, results: &Vec>, wishes: &Vec>, ids: &Vec, delimiter: &String) { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/rwfile.rs:5:119 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn write_file(out_file: &String, results: &Vec>, wishes: &Vec>, ids: &Vec, delimiter: &String) { [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: the loop variable `k` is only used to index `results`. [INFO] [stderr] --> src/rwfile.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | for k in 0..results.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] 10 | for in &results { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/rwfile.rs:18:27 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn read_file(in_file: &String, delimiter: &String) -> (Vec, Vec, Vec>, Vec) { [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/rwfile.rs:18:47 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn read_file(in_file: &String, delimiter: &String) -> (Vec, Vec, Vec>, Vec) { [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: the loop variable `i` is used to index `copy` [INFO] [stderr] --> src/rwfile.rs:81:18 [INFO] [stderr] | [INFO] [stderr] 81 | for i in 0..n { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 81 | for (i, ) in copy.iter().enumerate().take(n) { [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/main.rs:16:38 [INFO] [stderr] | [INFO] [stderr] 16 | fn min_pos(xs: &Vec) -> usize { [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 used to index `xs` [INFO] [stderr] --> src/main.rs:19:14 [INFO] [stderr] | [INFO] [stderr] 19 | for i in 1..xs.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 xs.iter().enumerate().skip(1) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | fn count(vmin: &Vec, vmax: &Vec, wishes: &Vec>) -> (Vec, bool) { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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/main.rs:29:33 [INFO] [stderr] | [INFO] [stderr] 29 | fn count(vmin: &Vec, vmax: &Vec, wishes: &Vec>) -> (Vec, bool) { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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/main.rs:29:52 [INFO] [stderr] | [INFO] [stderr] 29 | fn count(vmin: &Vec, vmax: &Vec, wishes: &Vec>) -> (Vec, bool) { [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/main.rs:52:18 [INFO] [stderr] | [INFO] [stderr] 52 | fn shuffle(vmin: &Vec, vmax: &Vec, mut wishes: Vec>, rand: &mut rand::XorShiftRng) -> Vec [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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/main.rs:52:35 [INFO] [stderr] | [INFO] [stderr] 52 | fn shuffle(vmin: &Vec, vmax: &Vec, mut wishes: Vec>, rand: &mut rand::XorShiftRng) -> Vec [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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 `wishes`. [INFO] [stderr] --> src/main.rs:55:14 [INFO] [stderr] | [INFO] [stderr] 55 | for i in 0..wishes.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] 55 | for in &mut wishes { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `wishes`. [INFO] [stderr] --> src/main.rs:65:18 [INFO] [stderr] | [INFO] [stderr] 65 | for i in 0..wishes.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] 65 | for in &mut wishes { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `cnt` [INFO] [stderr] --> src/main.rs:66:22 [INFO] [stderr] | [INFO] [stderr] 66 | for j in 0..vmin.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] 66 | for (j, ) in cnt.iter().enumerate().take(vmin.len()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:67:58 [INFO] [stderr] | [INFO] [stderr] 67 | wishes[i][j] += 4e-2 * rand.next_f64() * (cnt[j]*cnt[j]*cnt[j]) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(cnt[j]*cnt[j]*cnt[j])` [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 loop variable `i` is only used to index `wishes`. [INFO] [stderr] --> src/main.rs:75:14 [INFO] [stderr] | [INFO] [stderr] 75 | for i in 0..wishes.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] 75 | for in &wishes { [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/main.rs:82:19 [INFO] [stderr] | [INFO] [stderr] 82 | fn action(wishes: &Vec>, results: &Vec) -> 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/main.rs:82:44 [INFO] [stderr] | [INFO] [stderr] 82 | fn action(wishes: &Vec>, results: &Vec) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [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/main.rs:90:26 [INFO] [stderr] | [INFO] [stderr] 90 | fn search_solution(vmin: &Vec, vmax: &Vec, wishes: &Vec>, time: f64) -> 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] 90 | fn search_solution(vmin: &[u32], vmax: &Vec, wishes: &Vec>, time: f64) -> Vec> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `vmin.clone()` to [INFO] [stderr] | [INFO] [stderr] 119| let vmin = vmin.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/main.rs:90:43 [INFO] [stderr] | [INFO] [stderr] 90 | fn search_solution(vmin: &Vec, vmax: &Vec, wishes: &Vec>, time: f64) -> 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] 90 | fn search_solution(vmin: &Vec, vmax: &[u32], wishes: &Vec>, time: f64) -> Vec> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `vmax.clone()` to [INFO] [stderr] | [INFO] [stderr] 120| let vmax = vmax.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/main.rs:90:62 [INFO] [stderr] | [INFO] [stderr] 90 | fn search_solution(vmin: &Vec, vmax: &Vec, wishes: &Vec>, time: f64) -> 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] 90 | fn search_solution(vmin: &Vec, vmax: &Vec, wishes: &[Vec], time: f64) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] help: change `wishes.clone()` to [INFO] [stderr] | [INFO] [stderr] 121| let wishes = wishes.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:94:29 [INFO] [stderr] | [INFO] [stderr] 94 | wishesf[i][j] = wishes[i][j] as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(wishes[i][j])` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/rwfile.rs:5:29 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn write_file(out_file: &String, results: &Vec>, wishes: &Vec>, ids: &Vec, delimiter: &String) { [INFO] [stderr] | ^^^^^^^ help: change this to: `&str` [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/rwfile.rs:5:47 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn write_file(out_file: &String, results: &Vec>, wishes: &Vec>, ids: &Vec, delimiter: &String) { [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/rwfile.rs:5:73 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn write_file(out_file: &String, results: &Vec>, wishes: &Vec>, ids: &Vec, delimiter: &String) { [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/rwfile.rs:5:94 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn write_file(out_file: &String, results: &Vec>, wishes: &Vec>, ids: &Vec, delimiter: &String) { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[String]` [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/rwfile.rs:5:119 [INFO] [stderr] | [INFO] [stderr] 5 | pub fn write_file(out_file: &String, results: &Vec>, wishes: &Vec>, ids: &Vec, delimiter: &String) { [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: the loop variable `k` is only used to index `results`. [INFO] [stderr] --> src/rwfile.rs:10:18 [INFO] [stderr] | [INFO] [stderr] 10 | for k in 0..results.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] 10 | for in &results { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/rwfile.rs:18:27 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn read_file(in_file: &String, delimiter: &String) -> (Vec, Vec, Vec>, Vec) { [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 `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/rwfile.rs:18:47 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn read_file(in_file: &String, delimiter: &String) -> (Vec, Vec, Vec>, Vec) { [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: the loop variable `i` is used to index `copy` [INFO] [stderr] --> src/rwfile.rs:81:18 [INFO] [stderr] | [INFO] [stderr] 81 | for i in 0..n { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 81 | for (i, ) in copy.iter().enumerate().take(n) { [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/main.rs:16:38 [INFO] [stderr] | [INFO] [stderr] 16 | fn min_pos(xs: &Vec) -> usize { [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 used to index `xs` [INFO] [stderr] --> src/main.rs:19:14 [INFO] [stderr] | [INFO] [stderr] 19 | for i in 1..xs.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 xs.iter().enumerate().skip(1) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:29:16 [INFO] [stderr] | [INFO] [stderr] 29 | fn count(vmin: &Vec, vmax: &Vec, wishes: &Vec>) -> (Vec, bool) { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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/main.rs:29:33 [INFO] [stderr] | [INFO] [stderr] 29 | fn count(vmin: &Vec, vmax: &Vec, wishes: &Vec>) -> (Vec, bool) { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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/main.rs:29:52 [INFO] [stderr] | [INFO] [stderr] 29 | fn count(vmin: &Vec, vmax: &Vec, wishes: &Vec>) -> (Vec, bool) { [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/main.rs:52:18 [INFO] [stderr] | [INFO] [stderr] 52 | fn shuffle(vmin: &Vec, vmax: &Vec, mut wishes: Vec>, rand: &mut rand::XorShiftRng) -> Vec [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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/main.rs:52:35 [INFO] [stderr] | [INFO] [stderr] 52 | fn shuffle(vmin: &Vec, vmax: &Vec, mut wishes: Vec>, rand: &mut rand::XorShiftRng) -> Vec [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[u32]` [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 `wishes`. [INFO] [stderr] --> src/main.rs:55:14 [INFO] [stderr] | [INFO] [stderr] 55 | for i in 0..wishes.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] 55 | for in &mut wishes { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `wishes`. [INFO] [stderr] --> src/main.rs:65:18 [INFO] [stderr] | [INFO] [stderr] 65 | for i in 0..wishes.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] 65 | for in &mut wishes { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `cnt` [INFO] [stderr] --> src/main.rs:66:22 [INFO] [stderr] | [INFO] [stderr] 66 | for j in 0..vmin.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] 66 | for (j, ) in cnt.iter().enumerate().take(vmin.len()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:67:58 [INFO] [stderr] | [INFO] [stderr] 67 | wishes[i][j] += 4e-2 * rand.next_f64() * (cnt[j]*cnt[j]*cnt[j]) as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(cnt[j]*cnt[j]*cnt[j])` [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 loop variable `i` is only used to index `wishes`. [INFO] [stderr] --> src/main.rs:75:14 [INFO] [stderr] | [INFO] [stderr] 75 | for i in 0..wishes.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] 75 | for in &wishes { [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/main.rs:82:19 [INFO] [stderr] | [INFO] [stderr] 82 | fn action(wishes: &Vec>, results: &Vec) -> 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/main.rs:82:44 [INFO] [stderr] | [INFO] [stderr] 82 | fn action(wishes: &Vec>, results: &Vec) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [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/main.rs:90:26 [INFO] [stderr] | [INFO] [stderr] 90 | fn search_solution(vmin: &Vec, vmax: &Vec, wishes: &Vec>, time: f64) -> 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] 90 | fn search_solution(vmin: &[u32], vmax: &Vec, wishes: &Vec>, time: f64) -> Vec> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `vmin.clone()` to [INFO] [stderr] | [INFO] [stderr] 119| let vmin = vmin.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/main.rs:90:43 [INFO] [stderr] | [INFO] [stderr] 90 | fn search_solution(vmin: &Vec, vmax: &Vec, wishes: &Vec>, time: f64) -> 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] 90 | fn search_solution(vmin: &Vec, vmax: &[u32], wishes: &Vec>, time: f64) -> Vec> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] help: change `vmax.clone()` to [INFO] [stderr] | [INFO] [stderr] 120| let vmax = vmax.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/main.rs:90:62 [INFO] [stderr] | [INFO] [stderr] 90 | fn search_solution(vmin: &Vec, vmax: &Vec, wishes: &Vec>, time: f64) -> 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] 90 | fn search_solution(vmin: &Vec, vmax: &Vec, wishes: &[Vec], time: f64) -> Vec> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] help: change `wishes.clone()` to [INFO] [stderr] | [INFO] [stderr] 121| let wishes = wishes.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/main.rs:94:29 [INFO] [stderr] | [INFO] [stderr] 94 | wishesf[i][j] = wishes[i][j] as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(wishes[i][j])` [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] Finished dev [unoptimized + debuginfo] target(s) in 4.05s [INFO] running `"docker" "inspect" "adf6501f0e3397cb1b34fa1ed903d2d0bf9e76ca7c2f2f068d061abc0bd04e89"` [INFO] running `"docker" "rm" "-f" "adf6501f0e3397cb1b34fa1ed903d2d0bf9e76ca7c2f2f068d061abc0bd04e89"` [INFO] [stdout] adf6501f0e3397cb1b34fa1ed903d2d0bf9e76ca7c2f2f068d061abc0bd04e89