[INFO] crate random-world 0.2.1 is already in cache [INFO] extracting crate random-world 0.2.1 into work/ex/clippy-test-run/sources/stable/reg/random-world/0.2.1 [INFO] extracting crate random-world 0.2.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/random-world/0.2.1 [INFO] validating manifest of random-world-0.2.1 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 random-world-0.2.1 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 random-world-0.2.1 [INFO] finished frobbing random-world-0.2.1 [INFO] frobbed toml for random-world-0.2.1 written to work/ex/clippy-test-run/sources/stable/reg/random-world/0.2.1/Cargo.toml [INFO] started frobbing random-world-0.2.1 [INFO] finished frobbing random-world-0.2.1 [INFO] frobbed toml for random-world-0.2.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/random-world/0.2.1/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting random-world-0.2.1 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/random-world/0.2.1:/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] 76f43a95c0d3f6d18a085ea35f0c60c1c12840075cafc187ee7fa812e1527fb6 [INFO] running `"docker" "start" "-a" "76f43a95c0d3f6d18a085ea35f0c60c1c12840075cafc187ee7fa812e1527fb6"` [INFO] [stderr] Checking quadrature v0.1.2 [INFO] [stderr] Compiling extprim v1.6.0 [INFO] [stderr] Checking csv-core v0.1.5 [INFO] [stderr] Checking statrs v0.9.0 [INFO] [stderr] Checking rulinalg v0.3.7 [INFO] [stderr] Checking docopt v0.8.3 [INFO] [stderr] Checking csv v1.0.5 [INFO] [stderr] Checking rusty-machine v0.5.4 [INFO] [stderr] Checking pcg_rand v0.7.1 [INFO] [stderr] Checking random-world v0.2.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | ncm: ncm, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ncm` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | epsilon: epsilon, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `epsilon` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | n_labels: n_labels, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `n_labels` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | ncm: ncm, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ncm` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | epsilon: epsilon, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `epsilon` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | n_labels: n_labels, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `n_labels` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ncm/knn.rs:46:14 [INFO] [stderr] | [INFO] [stderr] 46 | KNN {k: k, distance: euclidean_distance} [INFO] [stderr] | ^^^^ help: replace it with: `k` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/exchangeability/martingales.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | update_function: update_function, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `update_function` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/exchangeability/martingales.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | pvalues: pvalues, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pvalues` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | ncm: ncm, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ncm` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:68:13 [INFO] [stderr] | [INFO] [stderr] 68 | epsilon: epsilon, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `epsilon` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:70:13 [INFO] [stderr] | [INFO] [stderr] 70 | n_labels: n_labels, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `n_labels` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:107:13 [INFO] [stderr] | [INFO] [stderr] 107 | ncm: ncm, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ncm` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | epsilon: epsilon, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `epsilon` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/cp/cp.rs:110:13 [INFO] [stderr] | [INFO] [stderr] 110 | n_labels: n_labels, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `n_labels` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/ncm/knn.rs:46:14 [INFO] [stderr] | [INFO] [stderr] 46 | KNN {k: k, distance: euclidean_distance} [INFO] [stderr] | ^^^^ help: replace it with: `k` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/exchangeability/martingales.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | update_function: update_function, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `update_function` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/exchangeability/martingales.rs:149:13 [INFO] [stderr] | [INFO] [stderr] 149 | pvalues: pvalues, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `pvalues` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:71:1 [INFO] [stderr] | [INFO] [stderr] 71 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/cp/mod.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub mod cp; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/ncm/knn.rs:84:39 [INFO] [stderr] | [INFO] [stderr] 84 | .into_shape((inputs.cols())) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/ncm/knn.rs:84:39 [INFO] [stderr] | [INFO] [stderr] 84 | .into_shape((inputs.cols())) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/exchangeability/martingales.rs:268:13 [INFO] [stderr] | [INFO] [stderr] 268 | let q = 2.5066282746310002; // That's sqrt(2*pi) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `2.506_628_274_631_000_2` [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: module has the same name as its containing module [INFO] [stderr] --> src/cp/mod.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub mod cp; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/cp/cp.rs:593:31 [INFO] [stderr] | [INFO] [stderr] 593 | assert!(r == vec![0., 0.07996389124884251, 0.6688798670240814, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.079_963_891_248_842_51` [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/cp/cp.rs:593:52 [INFO] [stderr] | [INFO] [stderr] 593 | assert!(r == vec![0., 0.07996389124884251, 0.6688798670240814, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.668_879_867_024_081_4` [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/cp/cp.rs:594:27 [INFO] [stderr] | [INFO] [stderr] 594 | 0.5106323435126732, 0.5024848655054046]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.510_632_343_512_673_2` [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/cp/cp.rs:594:47 [INFO] [stderr] | [INFO] [stderr] 594 | 0.5106323435126732, 0.5024848655054046]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.502_484_865_505_404_6` [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 method argument [INFO] [stderr] --> src/ncm/knn.rs:84:39 [INFO] [stderr] | [INFO] [stderr] 84 | .into_shape((inputs.cols())) [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: Consider removing unnecessary double parentheses [INFO] [stderr] --> src/ncm/knn.rs:84:39 [INFO] [stderr] | [INFO] [stderr] 84 | .into_shape((inputs.cols())) [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_parens)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_parens [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/ncm/knn.rs:123:40 [INFO] [stderr] | [INFO] [stderr] 123 | let expected_scores = vec![2., 2.414213562373095, 2.414213562373095, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `2.414_213_562_373_095` [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/ncm/knn.rs:123:59 [INFO] [stderr] | [INFO] [stderr] 123 | let expected_scores = vec![2., 2.414213562373095, 2.414213562373095, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `2.414_213_562_373_095` [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/ncm/knn.rs:124:36 [INFO] [stderr] | [INFO] [stderr] 124 | 4.47213595499958]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider: `4.472_135_954_999_58` [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/exchangeability/martingales.rs:268:13 [INFO] [stderr] | [INFO] [stderr] 268 | let q = 2.5066282746310002; // That's sqrt(2*pi) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `2.506_628_274_631_000_2` [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/exchangeability/martingales.rs:285:48 [INFO] [stderr] | [INFO] [stderr] 285 | assert_relative_eq!(kde(0., &v, None), 0.08980564883842916); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider: `0.089_805_648_838_429_16` [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/exchangeability/martingales.rs:294:53 [INFO] [stderr] | [INFO] [stderr] 294 | assert_relative_eq!(kde(0., &v, bandwidth), 0.5699175434306182); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0.569_917_543_430_618_2` [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/exchangeability/martingales.rs:305:37 [INFO] [stderr] | [INFO] [stderr] 305 | assert_relative_eq!(update, 1.398942285770281); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider: `1.398_942_285_770_281` [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: variable does not need to be mutable [INFO] [stderr] --> src/cp/cp.rs:311:13 [INFO] [stderr] | [INFO] [stderr] 311 | let mut train_inputs = match self.train_inputs { [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/cp/cp.rs:322:39 [INFO] [stderr] | [INFO] [stderr] 322 | x.clone().into_shape((1, x.len())) [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/cp/cp.rs:441:49 [INFO] [stderr] | [INFO] [stderr] 441 | for (y, train_inputs_y) in train_inputs.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/cp/cp.rs:473:30 [INFO] [stderr] | [INFO] [stderr] 473 | _ if score == x_score => eq += 1., [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(score - x_score).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/cp/cp.rs:473:30 [INFO] [stderr] | [INFO] [stderr] 473 | _ if score == x_score => eq += 1., [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: an inclusive range would be more readable [INFO] [stderr] --> src/ncm/knn.rs:83:37 [INFO] [stderr] | [INFO] [stderr] 83 | let input = inputs.slice(s![ii..ii+1, ..]) [INFO] [stderr] | ^^^^^^^^ help: use: `ii..=ii` [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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/utils.rs:13:25 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn load_data(fname: &String) -> Result<(Array2, Array1), Box> { [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: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/utils.rs:28:38 [INFO] [stderr] | [INFO] [stderr] 28 | .map(|x| x.trim() [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 29 | | .parse::().ok() [INFO] [stderr] 30 | | .expect("Failed to parse"))); [INFO] [stderr] | |_______________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/utils.rs:60:64 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn store_predictions(predictions: ArrayView2, fname: &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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/utils.rs:88:28 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn load_pvalues(fname: &String) -> Result, Box> { [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: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/utils.rs:100:39 [INFO] [stderr] | [INFO] [stderr] 100 | .map(|x| x.trim() [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 101 | | .parse::() [INFO] [stderr] 102 | | .ok() [INFO] [stderr] 103 | | .expect("Failed to parse"))); [INFO] [stderr] | |_________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/exchangeability/martingales.rs:142:23 [INFO] [stderr] | [INFO] [stderr] 142 | let pvalues = match store_pvalues { [INFO] [stderr] | _______________________^ [INFO] [stderr] 143 | | true => Some(vec![]), [INFO] [stderr] 144 | | false => None, [INFO] [stderr] 145 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if store_pvalues { Some(vec![]) } else { None }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/exchangeability/martingales.rs:233:22 [INFO] [stderr] | [INFO] [stderr] 233 | for p in pvalues.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `random-world`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/cp/cp.rs:311:13 [INFO] [stderr] | [INFO] [stderr] 311 | let mut train_inputs = match self.train_inputs { [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/cp/cp.rs:322:39 [INFO] [stderr] | [INFO] [stderr] 322 | x.clone().into_shape((1, x.len())) [INFO] [stderr] | ^^^^^^^^^ help: try removing the `clone` call: `x` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the Vec [INFO] [stderr] --> src/cp/cp.rs:441:49 [INFO] [stderr] | [INFO] [stderr] 441 | for (y, train_inputs_y) in train_inputs.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/cp/cp.rs:473:30 [INFO] [stderr] | [INFO] [stderr] 473 | _ if score == x_score => eq += 1., [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(score - x_score).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/cp/cp.rs:473:30 [INFO] [stderr] | [INFO] [stderr] 473 | _ if score == x_score => eq += 1., [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: an inclusive range would be more readable [INFO] [stderr] --> src/ncm/knn.rs:83:37 [INFO] [stderr] | [INFO] [stderr] 83 | let input = inputs.slice(s![ii..ii+1, ..]) [INFO] [stderr] | ^^^^^^^^ help: use: `ii..=ii` [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: identical conversion [INFO] [stderr] --> src/ncm/knn.rs:126:22 [INFO] [stderr] | [INFO] [stderr] 126 | let scores = (0..4).into_iter() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `(0..4)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/utils.rs:13:25 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn load_data(fname: &String) -> Result<(Array2, Array1), Box> { [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: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/utils.rs:28:38 [INFO] [stderr] | [INFO] [stderr] 28 | .map(|x| x.trim() [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 29 | | .parse::().ok() [INFO] [stderr] 30 | | .expect("Failed to parse"))); [INFO] [stderr] | |_______________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/utils.rs:60:64 [INFO] [stderr] | [INFO] [stderr] 60 | pub fn store_predictions(predictions: ArrayView2, fname: &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: writing `&String` instead of `&str` involves a new object where a slice will do. [INFO] [stderr] --> src/utils.rs:88:28 [INFO] [stderr] | [INFO] [stderr] 88 | pub fn load_pvalues(fname: &String) -> Result, Box> { [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: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/utils.rs:100:39 [INFO] [stderr] | [INFO] [stderr] 100 | .map(|x| x.trim() [INFO] [stderr] | _______________________________________^ [INFO] [stderr] 101 | | .parse::() [INFO] [stderr] 102 | | .ok() [INFO] [stderr] 103 | | .expect("Failed to parse"))); [INFO] [stderr] | |_________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to match on a boolean expression [INFO] [stderr] --> src/exchangeability/martingales.rs:142:23 [INFO] [stderr] | [INFO] [stderr] 142 | let pvalues = match store_pvalues { [INFO] [stderr] | _______________________^ [INFO] [stderr] 143 | | true => Some(vec![]), [INFO] [stderr] 144 | | false => None, [INFO] [stderr] 145 | | }; [INFO] [stderr] | |_________^ help: consider using an if/else expression: `if store_pvalues { Some(vec![]) } else { None }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_bool [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/exchangeability/martingales.rs:233:22 [INFO] [stderr] | [INFO] [stderr] 233 | for p in pvalues.into_iter() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `random-world`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "76f43a95c0d3f6d18a085ea35f0c60c1c12840075cafc187ee7fa812e1527fb6"` [INFO] running `"docker" "rm" "-f" "76f43a95c0d3f6d18a085ea35f0c60c1c12840075cafc187ee7fa812e1527fb6"` [INFO] [stdout] 76f43a95c0d3f6d18a085ea35f0c60c1c12840075cafc187ee7fa812e1527fb6