[INFO] crate ndarray 0.12.1 is already in cache [INFO] extracting crate ndarray 0.12.1 into work/ex/clippy-test-run/sources/stable/reg/ndarray/0.12.1 [INFO] extracting crate ndarray 0.12.1 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ndarray/0.12.1 [INFO] validating manifest of ndarray-0.12.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 ndarray-0.12.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 ndarray-0.12.1 [INFO] finished frobbing ndarray-0.12.1 [INFO] frobbed toml for ndarray-0.12.1 written to work/ex/clippy-test-run/sources/stable/reg/ndarray/0.12.1/Cargo.toml [INFO] started frobbing ndarray-0.12.1 [INFO] finished frobbing ndarray-0.12.1 [INFO] frobbed toml for ndarray-0.12.1 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/ndarray/0.12.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 ndarray-0.12.1 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/reg/ndarray/0.12.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] bb61b8840033698e4c1a19cd84fa8562625ff64eccdb0e3d45ad2dde50329b81 [INFO] running `"docker" "start" "-a" "bb61b8840033698e4c1a19cd84fa8562625ff64eccdb0e3d45ad2dde50329b81"` [INFO] [stderr] Compiling ndarray v0.12.1 (/opt/crater/workdir) [INFO] [stderr] Checking quickcheck v0.7.2 [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/data_traits.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/dimension/dim.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/dimension/dimension_trait.rs:629:13 [INFO] [stderr] | [INFO] [stderr] 629 | let s = get!(strides, 0); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/dimension/dimension_trait.rs:630:13 [INFO] [stderr] | [INFO] [stderr] 630 | let t = get!(strides, 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/dimension/dimension_trait.rs:707:13 [INFO] [stderr] | [INFO] [stderr] 707 | let t = get!(strides, 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/dimension/dimension_trait.rs:708:13 [INFO] [stderr] | [INFO] [stderr] 708 | let u = get!(strides, 2); [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/dimension/dimension_trait.rs:720:13 [INFO] [stderr] | [INFO] [stderr] 720 | let j = get!(index, 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/dimension/dimension_trait.rs:721:13 [INFO] [stderr] | [INFO] [stderr] 721 | let k = get!(index, 2); [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/dimension/dimension_trait.rs:722:13 [INFO] [stderr] | [INFO] [stderr] 722 | let s = get!(strides, 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: 8th binding whose name is just one char [INFO] [stderr] --> src/dimension/dimension_trait.rs:723:13 [INFO] [stderr] | [INFO] [stderr] 723 | let t = get!(strides, 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: 9th binding whose name is just one char [INFO] [stderr] --> src/dimension/dimension_trait.rs:724:13 [INFO] [stderr] | [INFO] [stderr] 724 | let u = get!(strides, 2); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dimension/axes.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | strides: strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strides` [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/slice.rs:320:13 [INFO] [stderr] | [INFO] [stderr] 320 | out_dim: out_dim, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `out_dim` [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/slice.rs:321:13 [INFO] [stderr] | [INFO] [stderr] 321 | indices: indices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `indices` [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/slice.rs:342:13 [INFO] [stderr] | [INFO] [stderr] 342 | indices: indices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `indices` [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/indexes.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | dim: dim, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/indexes.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/indexes.rs:171:20 [INFO] [stderr] | [INFO] [stderr] 171 | IndexPtr { index: index } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/indexes.rs:217:9 [INFO] [stderr] | [INFO] [stderr] 217 | dim: dim, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/iterators/chunks.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | chunk: chunk, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `chunk` [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/iterators/chunks.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | inner_strides: inner_strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inner_strides` [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/iterators/chunks.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 145 | chunk: chunk, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `chunk` [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/iterators/chunks.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | inner_strides: inner_strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inner_strides` [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/iterators/windows.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | window: window, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `window` [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/iterators/mod.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | ptr: ptr, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ptr` [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/iterators/mod.rs:674:13 [INFO] [stderr] | [INFO] [stderr] 674 | stride: stride, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stride` [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/iterators/mod.rs:1087:9 [INFO] [stderr] | [INFO] [stderr] 1087 | stride: stride, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stride` [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/iterators/mod.rs:1088:9 [INFO] [stderr] | [INFO] [stderr] 1088 | inner_dim: inner_dim, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inner_dim` [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/iterators/mod.rs:1100:13 [INFO] [stderr] | [INFO] [stderr] 1100 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/iterators/mod.rs:1101:13 [INFO] [stderr] | [INFO] [stderr] 1101 | n_whole_chunks: n_whole_chunks, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `n_whole_chunks` [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/iterators/mod.rs:1102:13 [INFO] [stderr] | [INFO] [stderr] 1102 | last_dim: last_dim, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `last_dim` [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/iterators/mod.rs:1189:13 [INFO] [stderr] | [INFO] [stderr] 1189 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/iterators/mod.rs:1191:13 [INFO] [stderr] | [INFO] [stderr] 1191 | last_dim: last_dim, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `last_dim` [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/linspace.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | step: step, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `step` [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/linspace.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | step: step, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `step` [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/impl_clone.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/impl_clone.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | ptr: ptr, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ptr` [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/impl_constructors.rs:345:13 [INFO] [stderr] | [INFO] [stderr] 345 | strides: strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strides` [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/impl_constructors.rs:346:13 [INFO] [stderr] | [INFO] [stderr] 346 | dim: dim [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/impl_methods.rs:197:13 [INFO] [stderr] | [INFO] [stderr] 197 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/impl_methods.rs:1338:21 [INFO] [stderr] | [INFO] [stderr] 1338 | dim: dim, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/impl_methods.rs:1339:21 [INFO] [stderr] | [INFO] [stderr] 1339 | strides: strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strides` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/linalg/impl_linalg.rs:259:27 [INFO] [stderr] | [INFO] [stderr] 259 | let ((m, k), (k2, n)) = (a.dim(), b.dim()); [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/linalg/impl_linalg.rs:268:17 [INFO] [stderr] | [INFO] [stderr] 268 | let mut v = Vec::with_capacity(m * 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: 7th binding whose name is just one char [INFO] [stderr] --> src/linalg/impl_linalg.rs:269:17 [INFO] [stderr] | [INFO] [stderr] 269 | let mut c; [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/linalg/impl_linalg.rs:507:17 [INFO] [stderr] | [INFO] [stderr] 507 | let mut i = 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/linalg/impl_linalg.rs:508:17 [INFO] [stderr] | [INFO] [stderr] 508 | let mut j = 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/linalg/impl_linalg.rs:548:14 [INFO] [stderr] | [INFO] [stderr] 548 | let ((m, k), (k2, n)) = (a.dim(), b.dim()); [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/linalg/impl_linalg.rs:548:23 [INFO] [stderr] | [INFO] [stderr] 548 | let ((m, k), (k2, n)) = (a.dim(), b.dim()); [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/linalg/impl_linalg.rs:577:14 [INFO] [stderr] | [INFO] [stderr] 577 | let ((m, k), k2) = (a.dim(), x.dim()); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/impl_views.rs:554:13 [INFO] [stderr] | [INFO] [stderr] 554 | dim: dim, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/impl_views.rs:555:13 [INFO] [stderr] | [INFO] [stderr] 555 | strides: strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strides` [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/impl_views.rs:601:13 [INFO] [stderr] | [INFO] [stderr] 601 | ptr: ptr, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ptr` [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/impl_views.rs:602:13 [INFO] [stderr] | [INFO] [stderr] 602 | dim: dim, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/impl_views.rs:603:13 [INFO] [stderr] | [INFO] [stderr] 603 | strides: strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strides` [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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/dimension/dynindeximpl.rs:236:23 [INFO] [stderr] | [INFO] [stderr] 236 | const ZEROS: &'static [usize] = &[0; 4]; [INFO] [stderr] | -^^^^^^^-------- help: consider removing `'static`: `&[usize]` [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: redundant field names in struct initialization [INFO] [stderr] --> src/data_traits.rs:97:13 [INFO] [stderr] | [INFO] [stderr] 97 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/dimension/dim.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/dimension/dimension_trait.rs:629:13 [INFO] [stderr] | [INFO] [stderr] 629 | let s = get!(strides, 0); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/dimension/dimension_trait.rs:630:13 [INFO] [stderr] | [INFO] [stderr] 630 | let t = get!(strides, 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/dimension/dimension_trait.rs:707:13 [INFO] [stderr] | [INFO] [stderr] 707 | let t = get!(strides, 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/dimension/dimension_trait.rs:708:13 [INFO] [stderr] | [INFO] [stderr] 708 | let u = get!(strides, 2); [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/dimension/dimension_trait.rs:720:13 [INFO] [stderr] | [INFO] [stderr] 720 | let j = get!(index, 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/dimension/dimension_trait.rs:721:13 [INFO] [stderr] | [INFO] [stderr] 721 | let k = get!(index, 2); [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/dimension/dimension_trait.rs:722:13 [INFO] [stderr] | [INFO] [stderr] 722 | let s = get!(strides, 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: 8th binding whose name is just one char [INFO] [stderr] --> src/dimension/dimension_trait.rs:723:13 [INFO] [stderr] | [INFO] [stderr] 723 | let t = get!(strides, 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: 9th binding whose name is just one char [INFO] [stderr] --> src/dimension/dimension_trait.rs:724:13 [INFO] [stderr] | [INFO] [stderr] 724 | let u = get!(strides, 2); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/dimension/axes.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | strides: strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strides` [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/slice.rs:320:13 [INFO] [stderr] | [INFO] [stderr] 320 | out_dim: out_dim, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `out_dim` [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/slice.rs:321:13 [INFO] [stderr] | [INFO] [stderr] 321 | indices: indices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `indices` [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/slice.rs:342:13 [INFO] [stderr] | [INFO] [stderr] 342 | indices: indices, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `indices` [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/indexes.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | dim: dim, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/indexes.rs:93:13 [INFO] [stderr] | [INFO] [stderr] 93 | index: index, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/indexes.rs:171:20 [INFO] [stderr] | [INFO] [stderr] 171 | IndexPtr { index: index } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `index` [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/indexes.rs:217:9 [INFO] [stderr] | [INFO] [stderr] 217 | dim: dim, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/iterators/chunks.rs:62:13 [INFO] [stderr] | [INFO] [stderr] 62 | chunk: chunk, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `chunk` [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/iterators/chunks.rs:63:13 [INFO] [stderr] | [INFO] [stderr] 63 | inner_strides: inner_strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inner_strides` [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/iterators/chunks.rs:145:13 [INFO] [stderr] | [INFO] [stderr] 145 | chunk: chunk, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `chunk` [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/iterators/chunks.rs:146:13 [INFO] [stderr] | [INFO] [stderr] 146 | inner_strides: inner_strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inner_strides` [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/iterators/windows.rs:40:17 [INFO] [stderr] | [INFO] [stderr] 40 | window: window, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `window` [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/iterators/mod.rs:64:13 [INFO] [stderr] | [INFO] [stderr] 64 | ptr: ptr, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ptr` [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/iterators/mod.rs:674:13 [INFO] [stderr] | [INFO] [stderr] 674 | stride: stride, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stride` [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/iterators/mod.rs:1087:9 [INFO] [stderr] | [INFO] [stderr] 1087 | stride: stride, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `stride` [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/iterators/mod.rs:1088:9 [INFO] [stderr] | [INFO] [stderr] 1088 | inner_dim: inner_dim, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `inner_dim` [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/iterators/mod.rs:1100:13 [INFO] [stderr] | [INFO] [stderr] 1100 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/iterators/mod.rs:1101:13 [INFO] [stderr] | [INFO] [stderr] 1101 | n_whole_chunks: n_whole_chunks, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `n_whole_chunks` [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/iterators/mod.rs:1102:13 [INFO] [stderr] | [INFO] [stderr] 1102 | last_dim: last_dim, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `last_dim` [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/iterators/mod.rs:1189:13 [INFO] [stderr] | [INFO] [stderr] 1189 | iter: iter, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `iter` [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/iterators/mod.rs:1191:13 [INFO] [stderr] | [INFO] [stderr] 1191 | last_dim: last_dim, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `last_dim` [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/linspace.rs:83:9 [INFO] [stderr] | [INFO] [stderr] 83 | step: step, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `step` [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/linspace.rs:104:9 [INFO] [stderr] | [INFO] [stderr] 104 | step: step, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `step` [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/impl_clone.rs:16:17 [INFO] [stderr] | [INFO] [stderr] 16 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [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/impl_clone.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | ptr: ptr, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ptr` [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/impl_constructors.rs:345:13 [INFO] [stderr] | [INFO] [stderr] 345 | strides: strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strides` [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/impl_constructors.rs:346:13 [INFO] [stderr] | [INFO] [stderr] 346 | dim: dim [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/impl_methods.rs:197:13 [INFO] [stderr] | [INFO] [stderr] 197 | data: data, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `data` [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/layout/layoutfmt.rs:14:22 [INFO] [stderr] | [INFO] [stderr] 14 | const LAYOUT_NAMES: &'static [&'static str] = &["C", "F"]; [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'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] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/layout/layoutfmt.rs:14:32 [INFO] [stderr] | [INFO] [stderr] 14 | const LAYOUT_NAMES: &'static [&'static str] = &["C", "F"]; [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: redundant field names in struct initialization [INFO] [stderr] --> src/impl_methods.rs:1338:21 [INFO] [stderr] | [INFO] [stderr] 1338 | dim: dim, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/impl_methods.rs:1339:21 [INFO] [stderr] | [INFO] [stderr] 1339 | strides: strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strides` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/linalg/impl_linalg.rs:259:27 [INFO] [stderr] | [INFO] [stderr] 259 | let ((m, k), (k2, n)) = (a.dim(), b.dim()); [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/linalg/impl_linalg.rs:268:17 [INFO] [stderr] | [INFO] [stderr] 268 | let mut v = Vec::with_capacity(m * 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: 7th binding whose name is just one char [INFO] [stderr] --> src/linalg/impl_linalg.rs:269:17 [INFO] [stderr] | [INFO] [stderr] 269 | let mut c; [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/linalg/impl_linalg.rs:507:17 [INFO] [stderr] | [INFO] [stderr] 507 | let mut i = 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/linalg/impl_linalg.rs:508:17 [INFO] [stderr] | [INFO] [stderr] 508 | let mut j = 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/linalg/impl_linalg.rs:548:14 [INFO] [stderr] | [INFO] [stderr] 548 | let ((m, k), (k2, n)) = (a.dim(), b.dim()); [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/linalg/impl_linalg.rs:548:23 [INFO] [stderr] | [INFO] [stderr] 548 | let ((m, k), (k2, n)) = (a.dim(), b.dim()); [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/linalg/impl_linalg.rs:577:14 [INFO] [stderr] | [INFO] [stderr] 577 | let ((m, k), k2) = (a.dim(), x.dim()); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/impl_views.rs:554:13 [INFO] [stderr] | [INFO] [stderr] 554 | dim: dim, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/impl_views.rs:555:13 [INFO] [stderr] | [INFO] [stderr] 555 | strides: strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strides` [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/impl_views.rs:601:13 [INFO] [stderr] | [INFO] [stderr] 601 | ptr: ptr, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ptr` [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/impl_views.rs:602:13 [INFO] [stderr] | [INFO] [stderr] 602 | dim: dim, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `dim` [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/impl_views.rs:603:13 [INFO] [stderr] | [INFO] [stderr] 603 | strides: strides, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `strides` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/linalg/impl_linalg.rs:581:12 [INFO] [stderr] | [INFO] [stderr] 581 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 582 | | #[cfg(feature = "blas")] [INFO] [stderr] 583 | | macro_rules! gemv { [INFO] [stderr] 584 | | ($ty:ty, $gemv:ident) => { [INFO] [stderr] ... | [INFO] [stderr] 638 | | } [INFO] [stderr] 639 | | } [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] 581 | } else if beta.is_zero() { [INFO] [stderr] 582 | Zip::from(a.outer_iter()) [INFO] [stderr] 583 | .and(y) [INFO] [stderr] 584 | .apply(|row, elt| { [INFO] [stderr] 585 | *elt = row.dot(x) * alpha; [INFO] [stderr] 586 | }); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/dimension/dynindeximpl.rs:236:23 [INFO] [stderr] | [INFO] [stderr] 236 | const ZEROS: &'static [usize] = &[0; 4]; [INFO] [stderr] | -^^^^^^^-------- help: consider removing `'static`: `&[usize]` [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/layout/layoutfmt.rs:14:22 [INFO] [stderr] | [INFO] [stderr] 14 | const LAYOUT_NAMES: &'static [&'static str] = &["C", "F"]; [INFO] [stderr] | -^^^^^^^--------------- help: consider removing `'static`: `&[&'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: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/layout/layoutfmt.rs:14:32 [INFO] [stderr] | [INFO] [stderr] 14 | const LAYOUT_NAMES: &'static [&'static str] = &["C", "F"]; [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/linalg/impl_linalg.rs:581:12 [INFO] [stderr] | [INFO] [stderr] 581 | } else { [INFO] [stderr] | ____________^ [INFO] [stderr] 582 | | #[cfg(feature = "blas")] [INFO] [stderr] 583 | | macro_rules! gemv { [INFO] [stderr] 584 | | ($ty:ty, $gemv:ident) => { [INFO] [stderr] ... | [INFO] [stderr] 638 | | } [INFO] [stderr] 639 | | } [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] 581 | } else if beta.is_zero() { [INFO] [stderr] 582 | Zip::from(a.outer_iter()) [INFO] [stderr] 583 | .and(y) [INFO] [stderr] 584 | .apply(|row, elt| { [INFO] [stderr] 585 | *elt = row.dot(x) * alpha; [INFO] [stderr] 586 | }); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/arraytraits.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | debug_bounds_check!(_a, *_index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/arraytraits.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/arraytraits.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] error: you are deriving `Hash` but have implemented `PartialEq` explicitly [INFO] [stderr] --> src/dimension/axis.rs:18:19 [INFO] [stderr] | [INFO] [stderr] 18 | #[derive(Eq, Ord, Hash, Debug)] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/dimension/axis.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / impl $traitname for $typename { [INFO] [stderr] 32 | | #[inline(always)] [INFO] [stderr] 33 | | fn $method(&self, rhs: &Self) -> $ret { [INFO] [stderr] 34 | | (self.0).$method(&rhs.0) [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] ... [INFO] [stderr] 40 | derive_cmp!{PartialEq for Axis, eq -> bool} [INFO] [stderr] | ------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/dimension/axis.rs:24:18 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn index(&self) -> usize { self.0 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/dimension/dim.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | / impl hash::Hash for Dim [INFO] [stderr] 74 | | where Dim: Dimension, [INFO] [stderr] 75 | | { [INFO] [stderr] 76 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 77 | | self.slice().hash(state); [INFO] [stderr] 78 | | } [INFO] [stderr] 79 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/dimension/dim.rs:39:23 [INFO] [stderr] | [INFO] [stderr] 39 | #[derive(Copy, Clone, PartialEq, Eq, Default)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/dimension/dimension_trait.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | / while let Some(rs) = it.next() { [INFO] [stderr] 126 | | *rs = 1; [INFO] [stderr] 127 | | break; [INFO] [stderr] 128 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/dimension/dimension_trait.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | / while let Some(rs) = it.next() { [INFO] [stderr] 152 | | *rs = 1; [INFO] [stderr] 153 | | break; [INFO] [stderr] 154 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=0` [INFO] [stderr] ... [INFO] [stderr] 392 | impl_insert_axis_array!(0); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=1` [INFO] [stderr] ... [INFO] [stderr] 492 | impl_insert_axis_array!(1); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=2` [INFO] [stderr] ... [INFO] [stderr] 638 | impl_insert_axis_array!(2); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=3` [INFO] [stderr] ... [INFO] [stderr] 754 | impl_insert_axis_array!(3); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=4` [INFO] [stderr] ... [INFO] [stderr] 797 | impl_insert_axis_array!(4); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=5` [INFO] [stderr] ... [INFO] [stderr] 800 | impl_insert_axis_array!(5); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/dimension/dynindeximpl.rs:62:22 [INFO] [stderr] | [INFO] [stderr] 62 | for i in 0..x.len() { [INFO] [stderr] | ^^^^^^^^^^ help: try replacing the loop by: `arr[..x.len()].clone_from_slice(&x[..])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dynindeximpl.rs:137:21 [INFO] [stderr] | [INFO] [stderr] 137 | out[i+1..len+1].copy_from_slice(&self[i..len]); [INFO] [stderr] | ^^^^^^^^^^ help: use: `i+1..=len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/dimension/dynindeximpl.rs:221:18 [INFO] [stderr] | [INFO] [stderr] 221 | self[..].into_iter() [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: this loop never actually loops [INFO] [stderr] --> src/dimension/remove_axis.rs:52:25 [INFO] [stderr] | [INFO] [stderr] 52 | / for rr in it.by_ref() { [INFO] [stderr] 53 | | *rr = d; [INFO] [stderr] 54 | | break [INFO] [stderr] 55 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] ... [INFO] [stderr] 65 | impl_remove_axis_array!(3, 4, 5, 6); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: item `dimension::axes::AxisDescription` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/dimension/axes.rs:49:1 [INFO] [stderr] | [INFO] [stderr] 49 | / impl AxisDescription { [INFO] [stderr] 50 | | /// Return axis [INFO] [stderr] 51 | | #[inline(always)] [INFO] [stderr] 52 | | pub fn axis(self) -> Axis { self.0 } [INFO] [stderr] ... | [INFO] [stderr] 58 | | pub fn stride(self) -> Ixs { self.2 } [INFO] [stderr] 59 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `axis` which has no body [INFO] [stderr] --> src/dimension/mod.rs:263:5 [INFO] [stderr] | [INFO] [stderr] 263 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 264 | | fn axis(&self, axis: Axis) -> Ix; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `set_axis` which has no body [INFO] [stderr] --> src/dimension/mod.rs:269:5 [INFO] [stderr] | [INFO] [stderr] 269 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 270 | | fn set_axis(&mut self, axis: Axis, value: Ix); [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/slice.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | / match self { [INFO] [stderr] 114 | | &SliceOrIndex::Slice { .. } => true, [INFO] [stderr] 115 | | _ => false, [INFO] [stderr] 116 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 113 | match *self { [INFO] [stderr] 114 | SliceOrIndex::Slice { .. } => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/slice.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | / match self { [INFO] [stderr] 122 | | &SliceOrIndex::Index(_) => true, [INFO] [stderr] 123 | | _ => false, [INFO] [stderr] 124 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 121 | match *self { [INFO] [stderr] 122 | SliceOrIndex::Index(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/layout/mod.rs:59:25 [INFO] [stderr] | [INFO] [stderr] 59 | pub const CORDER: u32 = 1 << 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/indexes.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 138 | self.dim.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.dim` [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: the loop variable `i` is used to index `chunk` [INFO] [stderr] --> src/iterators/chunks.rs:54:18 [INFO] [stderr] | [INFO] [stderr] 54 | for i in 0..a.ndim() { [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] 54 | for (i, ) in chunk.iter().enumerate().take(a.ndim()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `chunk` [INFO] [stderr] --> src/iterators/chunks.rs:137:18 [INFO] [stderr] | [INFO] [stderr] 137 | for i in 0..a.ndim() { [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] 137 | for (i, ) in chunk.iter().enumerate().take(a.ndim()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/iterators/mod.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | / loop { [INFO] [stderr] 98 | | if let Some(mut index) = self.index.clone() { [INFO] [stderr] 99 | | let stride = self.strides.last_elem() as isize; [INFO] [stderr] 100 | | let elem_index = index.last_elem(); [INFO] [stderr] ... | [INFO] [stderr] 113 | | }; [INFO] [stderr] 114 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(mut index) = self.index.clone() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter_mut() and will not move the slice [INFO] [stderr] --> src/iterators/mod.rs:294:48 [INFO] [stderr] | [INFO] [stderr] 294 | Ok(x) => ElementsRepr::Slice(x.into_iter()), [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter_mut` [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] warning: the loop variable `i` is used to index `xs` [INFO] [stderr] --> src/numeric_util.rs:44:14 [INFO] [stderr] | [INFO] [stderr] 44 | for i in 0..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] 44 | for (i, ) in xs.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `xs` [INFO] [stderr] --> src/numeric_util.rs:86:14 [INFO] [stderr] | [INFO] [stderr] 86 | for i in 0..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] 86 | for (i, ) in xs.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/stacking.rs:37:8 [INFO] [stderr] | [INFO] [stderr] 37 | if arrays.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `arrays.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `contiguous_stride` which has no body [INFO] [stderr] --> src/zip/mod.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | #[inline(always)] [INFO] [stderr] | _____-^^^^^^^^^^^^^^^^ [INFO] [stderr] 176 | | fn contiguous_stride(&self) -> Self::Stride; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_iter` on this type; consider implementing the `std::iter::FromIterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/impl_constructors.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn from_iter(iterable: I) -> Self [INFO] [stderr] 65 | | where I: IntoIterator [INFO] [stderr] 66 | | { [INFO] [stderr] 67 | | Self::from_vec(iterable.into_iter().collect()) [INFO] [stderr] 68 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/impl_constructors.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | Err(_) => panic!( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 194 | let size = size_of_shape_checked_unwrap!(&shape.dim); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/impl_constructors.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | Err(_) => panic!( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 227 | let size = size_of_shape_checked_unwrap!(&shape.dim); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/impl_constructors.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | Err(_) => panic!( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 243 | let _ = size_of_shape_checked_unwrap!(&shape.dim); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/impl_constructors.rs:249:35 [INFO] [stderr] | [INFO] [stderr] 249 | let v = to_vec_mapped(indexes::indices_iter_f(dim).into_iter(), f); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `indexes::indices_iter_f(dim)` [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: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/impl_constructors.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | Err(_) => panic!( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 401 | let size = size_of_shape_checked_unwrap!(&shape.dim); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] error: unsafe vector initialization [INFO] [stderr] --> src/impl_constructors.rs:403:9 [INFO] [stderr] | [INFO] [stderr] 402 | let mut v = Vec::with_capacity(size); [INFO] [stderr] | ------------------------ help: consider replace allocation with: `vec![0; size]` [INFO] [stderr] 403 | v.set_len(size); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unsafe_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unsafe_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/impl_methods.rs:334:50 [INFO] [stderr] | [INFO] [stderr] 334 | .filter_map(|(d, s, slice_or_index)| match slice_or_index { [INFO] [stderr] | __________________________________________________^ [INFO] [stderr] 335 | | &SliceOrIndex::Slice {..} => Some((d, s)), [INFO] [stderr] 336 | | &SliceOrIndex::Index(_) => None, [INFO] [stderr] 337 | | }) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 334 | .filter_map(|(d, s, slice_or_index)| match *slice_or_index { [INFO] [stderr] 335 | SliceOrIndex::Slice {..} => Some((d, s)), [INFO] [stderr] 336 | SliceOrIndex::Index(_) => None, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/impl_methods.rs:372:48 [INFO] [stderr] | [INFO] [stderr] 372 | .for_each(|(axis, slice_or_index)| match slice_or_index { [INFO] [stderr] | ________________________________________________^ [INFO] [stderr] 373 | | &SliceOrIndex::Slice { start, end, step } => { [INFO] [stderr] 374 | | self.slice_axis_inplace(Axis(axis), Slice { start, end, step }) [INFO] [stderr] 375 | | } [INFO] [stderr] ... | [INFO] [stderr] 379 | | } [INFO] [stderr] 380 | | }); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 372 | .for_each(|(axis, slice_or_index)| match *slice_or_index { [INFO] [stderr] 373 | SliceOrIndex::Slice { start, end, step } => { [INFO] [stderr] 374 | self.slice_axis_inplace(Axis(axis), Slice { start, end, step }) [INFO] [stderr] 375 | } [INFO] [stderr] 376 | SliceOrIndex::Index(index) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/impl_methods.rs:1055:33 [INFO] [stderr] | [INFO] [stderr] 1055 | .iter() [INFO] [stderr] | _________________________________^ [INFO] [stderr] 1056 | | .fold(0, |sum, s| sum + s); [INFO] [stderr] | |___________________________________________________^ help: try: `.sum()` [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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/impl_methods.rs:1292:21 [INFO] [stderr] | [INFO] [stderr] 1292 | let v = self.iter().map(|x| x.clone()).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/impl_methods.rs:1644:13 [INFO] [stderr] | [INFO] [stderr] 1644 | ptr.offset(slc.len() as isize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ptr.add(slc.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `slc`. [INFO] [stderr] --> src/lib.rs:1231:22 [INFO] [stderr] | [INFO] [stderr] 1231 | for i in 0..slc.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] 1231 | for in &mut slc { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/impl_1d.rs:24:33 [INFO] [stderr] | [INFO] [stderr] 24 | ::iterators::to_vec(self.iter().map(|x| x.clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/numeric/impl_numeric.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | sum / &aview0(&cnt) [INFO] [stderr] | ^^^^^^------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `aview0(&cnt)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/linalg/impl_linalg.rs:82:23 [INFO] [stderr] | [INFO] [stderr] 82 | sum = sum.clone() + self.uget(i).clone() * rhs.uget(i).clone(); [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `sum` [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/linalg/impl_linalg.rs:82:37 [INFO] [stderr] | [INFO] [stderr] 82 | sum = sum.clone() + self.uget(i).clone() * rhs.uget(i).clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.uget(i)` [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/linalg/impl_linalg.rs:82:60 [INFO] [stderr] | [INFO] [stderr] 82 | sum = sum.clone() + self.uget(i).clone() * rhs.uget(i).clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*rhs.uget(i)` [INFO] [stderr] | [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: length comparison to zero [INFO] [stderr] --> src/linalg/impl_linalg.rs:498:12 [INFO] [stderr] | [INFO] [stderr] 498 | if c.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `c.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/impl_views.rs:183:23 [INFO] [stderr] | [INFO] [stderr] 183 | pub fn into_slice(&self) -> Option<&'a [A]> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/impl_views.rs:298:9 [INFO] [stderr] | [INFO] [stderr] 298 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/impl_views.rs:324:9 [INFO] [stderr] | [INFO] [stderr] 324 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/impl_views.rs:500:9 [INFO] [stderr] | [INFO] [stderr] 500 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/impl_views.rs:518:9 [INFO] [stderr] | [INFO] [stderr] 518 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/impl_views.rs:537:9 [INFO] [stderr] | [INFO] [stderr] 537 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] error: aborting due to 9 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `ndarray`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/arraytraits.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | debug_bounds_check!(_a, *_index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/arraytraits.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/arraytraits.rs:74:9 [INFO] [stderr] | [INFO] [stderr] 74 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] error: you are deriving `Hash` but have implemented `PartialEq` explicitly [INFO] [stderr] --> src/dimension/axis.rs:18:19 [INFO] [stderr] | [INFO] [stderr] 18 | #[derive(Eq, Ord, Hash, Debug)] [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/dimension/axis.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | / impl $traitname for $typename { [INFO] [stderr] 32 | | #[inline(always)] [INFO] [stderr] 33 | | fn $method(&self, rhs: &Self) -> $ret { [INFO] [stderr] 34 | | (self.0).$method(&rhs.0) [INFO] [stderr] 35 | | } [INFO] [stderr] 36 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] ... [INFO] [stderr] 40 | derive_cmp!{PartialEq for Axis, eq -> bool} [INFO] [stderr] | ------------------------------------------- in this macro invocation [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/dimension/axis.rs:24:18 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn index(&self) -> usize { self.0 } [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/dimension/dim.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | / impl hash::Hash for Dim [INFO] [stderr] 74 | | where Dim: Dimension, [INFO] [stderr] 75 | | { [INFO] [stderr] 76 | | fn hash(&self, state: &mut H) { [INFO] [stderr] 77 | | self.slice().hash(state); [INFO] [stderr] 78 | | } [INFO] [stderr] 79 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/dimension/dim.rs:39:23 [INFO] [stderr] | [INFO] [stderr] 39 | #[derive(Copy, Clone, PartialEq, Eq, Default)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/dimension/dimension_trait.rs:125:13 [INFO] [stderr] | [INFO] [stderr] 125 | / while let Some(rs) = it.next() { [INFO] [stderr] 126 | | *rs = 1; [INFO] [stderr] 127 | | break; [INFO] [stderr] 128 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::never_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] error: this loop never actually loops [INFO] [stderr] --> src/dimension/dimension_trait.rs:151:13 [INFO] [stderr] | [INFO] [stderr] 151 | / while let Some(rs) = it.next() { [INFO] [stderr] 152 | | *rs = 1; [INFO] [stderr] 153 | | break; [INFO] [stderr] 154 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=0` [INFO] [stderr] ... [INFO] [stderr] 392 | impl_insert_axis_array!(0); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=1` [INFO] [stderr] ... [INFO] [stderr] 492 | impl_insert_axis_array!(1); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=2` [INFO] [stderr] ... [INFO] [stderr] 638 | impl_insert_axis_array!(2); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=3` [INFO] [stderr] ... [INFO] [stderr] 754 | impl_insert_axis_array!(3); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=4` [INFO] [stderr] ... [INFO] [stderr] 797 | impl_insert_axis_array!(4); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dimension_trait.rs:359:17 [INFO] [stderr] | [INFO] [stderr] 359 | out[axis.index()+1..$n+1].copy_from_slice(&self.slice()[axis.index()..$n]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use: `axis.index()+1..=5` [INFO] [stderr] ... [INFO] [stderr] 800 | impl_insert_axis_array!(5); [INFO] [stderr] | --------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/dimension/dynindeximpl.rs:62:22 [INFO] [stderr] | [INFO] [stderr] 62 | for i in 0..x.len() { [INFO] [stderr] | ^^^^^^^^^^ help: try replacing the loop by: `arr[..x.len()].clone_from_slice(&x[..])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/dimension/dynindeximpl.rs:137:21 [INFO] [stderr] | [INFO] [stderr] 137 | out[i+1..len+1].copy_from_slice(&self[i..len]); [INFO] [stderr] | ^^^^^^^^^^ help: use: `i+1..=len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/dimension/dynindeximpl.rs:221:18 [INFO] [stderr] | [INFO] [stderr] 221 | self[..].into_iter() [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: this loop never actually loops [INFO] [stderr] --> src/dimension/remove_axis.rs:52:25 [INFO] [stderr] | [INFO] [stderr] 52 | / for rr in it.by_ref() { [INFO] [stderr] 53 | | *rr = d; [INFO] [stderr] 54 | | break [INFO] [stderr] 55 | | } [INFO] [stderr] | |_________________________^ [INFO] [stderr] ... [INFO] [stderr] 65 | impl_remove_axis_array!(3, 4, 5, 6); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#never_loop [INFO] [stderr] [INFO] [stderr] warning: item `dimension::axes::AxisDescription` has a public `len` method but no corresponding `is_empty` method [INFO] [stderr] --> src/dimension/axes.rs:49:1 [INFO] [stderr] | [INFO] [stderr] 49 | / impl AxisDescription { [INFO] [stderr] 50 | | /// Return axis [INFO] [stderr] 51 | | #[inline(always)] [INFO] [stderr] 52 | | pub fn axis(self) -> Axis { self.0 } [INFO] [stderr] ... | [INFO] [stderr] 58 | | pub fn stride(self) -> Ixs { self.2 } [INFO] [stderr] 59 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_without_is_empty)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_without_is_empty [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `axis` which has no body [INFO] [stderr] --> src/dimension/mod.rs:263:5 [INFO] [stderr] | [INFO] [stderr] 263 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 264 | | fn axis(&self, axis: Axis) -> Ix; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::inline_fn_without_body)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `set_axis` which has no body [INFO] [stderr] --> src/dimension/mod.rs:269:5 [INFO] [stderr] | [INFO] [stderr] 269 | #[inline] [INFO] [stderr] | _____-^^^^^^^^ [INFO] [stderr] 270 | | fn set_axis(&mut self, axis: Axis, value: Ix); [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/slice.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | / match self { [INFO] [stderr] 114 | | &SliceOrIndex::Slice { .. } => true, [INFO] [stderr] 115 | | _ => false, [INFO] [stderr] 116 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 113 | match *self { [INFO] [stderr] 114 | SliceOrIndex::Slice { .. } => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/slice.rs:121:9 [INFO] [stderr] | [INFO] [stderr] 121 | / match self { [INFO] [stderr] 122 | | &SliceOrIndex::Index(_) => true, [INFO] [stderr] 123 | | _ => false, [INFO] [stderr] 124 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 121 | match *self { [INFO] [stderr] 122 | SliceOrIndex::Index(_) => true, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1` [INFO] [stderr] --> src/layout/mod.rs:59:25 [INFO] [stderr] | [INFO] [stderr] 59 | pub const CORDER: u32 = 1 << 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/indexes.rs:138:9 [INFO] [stderr] | [INFO] [stderr] 138 | self.dim.clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.dim` [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: the loop variable `i` is used to index `chunk` [INFO] [stderr] --> src/iterators/chunks.rs:54:18 [INFO] [stderr] | [INFO] [stderr] 54 | for i in 0..a.ndim() { [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] 54 | for (i, ) in chunk.iter().enumerate().take(a.ndim()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `chunk` [INFO] [stderr] --> src/iterators/chunks.rs:137:18 [INFO] [stderr] | [INFO] [stderr] 137 | for i in 0..a.ndim() { [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] 137 | for (i, ) in chunk.iter().enumerate().take(a.ndim()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/iterators/mod.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | / loop { [INFO] [stderr] 98 | | if let Some(mut index) = self.index.clone() { [INFO] [stderr] 99 | | let stride = self.strides.last_elem() as isize; [INFO] [stderr] 100 | | let elem_index = index.last_elem(); [INFO] [stderr] ... | [INFO] [stderr] 113 | | }; [INFO] [stderr] 114 | | } [INFO] [stderr] | |_________^ help: try: `while let Some(mut index) = self.index.clone() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter_mut() and will not move the slice [INFO] [stderr] --> src/iterators/mod.rs:294:48 [INFO] [stderr] | [INFO] [stderr] 294 | Ok(x) => ElementsRepr::Slice(x.into_iter()), [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter_mut` [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] warning: the loop variable `i` is used to index `xs` [INFO] [stderr] --> src/numeric_util.rs:44:14 [INFO] [stderr] | [INFO] [stderr] 44 | for i in 0..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] 44 | for (i, ) in xs.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `xs` [INFO] [stderr] --> src/numeric_util.rs:86:14 [INFO] [stderr] | [INFO] [stderr] 86 | for i in 0..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] 86 | for (i, ) in xs.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/stacking.rs:37:8 [INFO] [stderr] | [INFO] [stderr] 37 | if arrays.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `arrays.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: use of `#[inline]` on trait method `contiguous_stride` which has no body [INFO] [stderr] --> src/zip/mod.rs:175:5 [INFO] [stderr] | [INFO] [stderr] 175 | #[inline(always)] [INFO] [stderr] | _____-^^^^^^^^^^^^^^^^ [INFO] [stderr] 176 | | fn contiguous_stride(&self) -> Self::Stride; [INFO] [stderr] | |____- help: remove [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inline_fn_without_body [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_iter` on this type; consider implementing the `std::iter::FromIterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/impl_constructors.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | / pub fn from_iter(iterable: I) -> Self [INFO] [stderr] 65 | | where I: IntoIterator [INFO] [stderr] 66 | | { [INFO] [stderr] 67 | | Self::from_vec(iterable.into_iter().collect()) [INFO] [stderr] 68 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/impl_constructors.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | Err(_) => panic!( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 194 | let size = size_of_shape_checked_unwrap!(&shape.dim); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/impl_constructors.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | Err(_) => panic!( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 227 | let size = size_of_shape_checked_unwrap!(&shape.dim); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/impl_constructors.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | Err(_) => panic!( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 243 | let _ = size_of_shape_checked_unwrap!(&shape.dim); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/impl_constructors.rs:249:35 [INFO] [stderr] | [INFO] [stderr] 249 | let v = to_vec_mapped(indexes::indices_iter_f(dim).into_iter(), f); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `.into_iter()`: `indexes::indices_iter_f(dim)` [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: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/impl_constructors.rs:140:13 [INFO] [stderr] | [INFO] [stderr] 140 | Err(_) => panic!( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 401 | let size = size_of_shape_checked_unwrap!(&shape.dim); [INFO] [stderr] | ----------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] error: unsafe vector initialization [INFO] [stderr] --> src/impl_constructors.rs:403:9 [INFO] [stderr] | [INFO] [stderr] 402 | let mut v = Vec::with_capacity(size); [INFO] [stderr] | ------------------------ help: consider replace allocation with: `vec![0; size]` [INFO] [stderr] 403 | v.set_len(size); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unsafe_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unsafe_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/impl_methods.rs:334:50 [INFO] [stderr] | [INFO] [stderr] 334 | .filter_map(|(d, s, slice_or_index)| match slice_or_index { [INFO] [stderr] | __________________________________________________^ [INFO] [stderr] 335 | | &SliceOrIndex::Slice {..} => Some((d, s)), [INFO] [stderr] 336 | | &SliceOrIndex::Index(_) => None, [INFO] [stderr] 337 | | }) [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 334 | .filter_map(|(d, s, slice_or_index)| match *slice_or_index { [INFO] [stderr] 335 | SliceOrIndex::Slice {..} => Some((d, s)), [INFO] [stderr] 336 | SliceOrIndex::Index(_) => None, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/impl_methods.rs:372:48 [INFO] [stderr] | [INFO] [stderr] 372 | .for_each(|(axis, slice_or_index)| match slice_or_index { [INFO] [stderr] | ________________________________________________^ [INFO] [stderr] 373 | | &SliceOrIndex::Slice { start, end, step } => { [INFO] [stderr] 374 | | self.slice_axis_inplace(Axis(axis), Slice { start, end, step }) [INFO] [stderr] 375 | | } [INFO] [stderr] ... | [INFO] [stderr] 379 | | } [INFO] [stderr] 380 | | }); [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 372 | .for_each(|(axis, slice_or_index)| match *slice_or_index { [INFO] [stderr] 373 | SliceOrIndex::Slice { start, end, step } => { [INFO] [stderr] 374 | self.slice_axis_inplace(Axis(axis), Slice { start, end, step }) [INFO] [stderr] 375 | } [INFO] [stderr] 376 | SliceOrIndex::Index(index) => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this `.fold` can be written more succinctly using another method [INFO] [stderr] --> src/impl_methods.rs:1055:33 [INFO] [stderr] | [INFO] [stderr] 1055 | .iter() [INFO] [stderr] | _________________________________^ [INFO] [stderr] 1056 | | .fold(0, |sum, s| sum + s); [INFO] [stderr] | |___________________________________________________^ help: try: `.sum()` [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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/impl_methods.rs:1292:21 [INFO] [stderr] | [INFO] [stderr] 1292 | let v = self.iter().map(|x| x.clone()).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/impl_methods.rs:1644:13 [INFO] [stderr] | [INFO] [stderr] 1644 | ptr.offset(slc.len() as isize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ptr.add(slc.len())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `slc`. [INFO] [stderr] --> src/lib.rs:1231:22 [INFO] [stderr] | [INFO] [stderr] 1231 | for i in 0..slc.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] 1231 | for in &mut slc { [INFO] [stderr] | ^^^^^^ ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/impl_1d.rs:24:33 [INFO] [stderr] | [INFO] [stderr] 24 | ::iterators::to_vec(self.iter().map(|x| x.clone())) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `self.iter().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: taken reference of right operand [INFO] [stderr] --> src/numeric/impl_numeric.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | sum / &aview0(&cnt) [INFO] [stderr] | ^^^^^^------------- [INFO] [stderr] | | [INFO] [stderr] | help: use the right value directly: `aview0(&cnt)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::op_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/linalg/impl_linalg.rs:82:23 [INFO] [stderr] | [INFO] [stderr] 82 | sum = sum.clone() + self.uget(i).clone() * rhs.uget(i).clone(); [INFO] [stderr] | ^^^^^^^^^^^ help: try removing the `clone` call: `sum` [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/linalg/impl_linalg.rs:82:37 [INFO] [stderr] | [INFO] [stderr] 82 | sum = sum.clone() + self.uget(i).clone() * rhs.uget(i).clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.uget(i)` [INFO] [stderr] | [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/linalg/impl_linalg.rs:82:60 [INFO] [stderr] | [INFO] [stderr] 82 | sum = sum.clone() + self.uget(i).clone() * rhs.uget(i).clone(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*rhs.uget(i)` [INFO] [stderr] | [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: length comparison to zero [INFO] [stderr] --> src/linalg/impl_linalg.rs:498:12 [INFO] [stderr] | [INFO] [stderr] 498 | if c.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `c.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: methods called `into_*` usually take self by value; consider choosing a less ambiguous name [INFO] [stderr] --> src/impl_views.rs:183:23 [INFO] [stderr] | [INFO] [stderr] 183 | pub fn into_slice(&self) -> Option<&'a [A]> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/impl_views.rs:298:9 [INFO] [stderr] | [INFO] [stderr] 298 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/impl_views.rs:324:9 [INFO] [stderr] | [INFO] [stderr] 324 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/impl_views.rs:500:9 [INFO] [stderr] | [INFO] [stderr] 500 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/impl_views.rs:518:9 [INFO] [stderr] | [INFO] [stderr] 518 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_none()` [INFO] [stderr] --> src/macro_utils.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | if let None = $index.index_checked(&$self_.dim, &$self_.strides) { [INFO] [stderr] | _________- ^^^^ [INFO] [stderr] 64 | | panic!("ndarray: index {:?} is out of bounds for array of shape {:?}", [INFO] [stderr] 65 | | $index, $self_.shape()); [INFO] [stderr] 66 | | } [INFO] [stderr] | |_________- help: try this: `if $index.index_checked(&$self_.dim, &$self_.strides).is_none()` [INFO] [stderr] | [INFO] [stderr] ::: src/impl_views.rs:537:9 [INFO] [stderr] | [INFO] [stderr] 537 | debug_bounds_check!(self, index); [INFO] [stderr] | --------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] error: aborting due to 9 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `ndarray`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "bb61b8840033698e4c1a19cd84fa8562625ff64eccdb0e3d45ad2dde50329b81"` [INFO] running `"docker" "rm" "-f" "bb61b8840033698e4c1a19cd84fa8562625ff64eccdb0e3d45ad2dde50329b81"` [INFO] [stdout] bb61b8840033698e4c1a19cd84fa8562625ff64eccdb0e3d45ad2dde50329b81