[INFO] updating cached repository davidpeklak/rust-algorithms [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/davidpeklak/rust-algorithms [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/davidpeklak/rust-algorithms" "work/ex/clippy-test-run/sources/stable/gh/davidpeklak/rust-algorithms"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/davidpeklak/rust-algorithms'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/davidpeklak/rust-algorithms" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/davidpeklak/rust-algorithms"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/davidpeklak/rust-algorithms'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 7b6394c548baa9475be043e4427a4344c09a7bdc [INFO] sha for GitHub repo davidpeklak/rust-algorithms: 7b6394c548baa9475be043e4427a4344c09a7bdc [INFO] validating manifest of davidpeklak/rust-algorithms 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 davidpeklak/rust-algorithms 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 davidpeklak/rust-algorithms [INFO] finished frobbing davidpeklak/rust-algorithms [INFO] frobbed toml for davidpeklak/rust-algorithms written to work/ex/clippy-test-run/sources/stable/gh/davidpeklak/rust-algorithms/Cargo.toml [INFO] started frobbing davidpeklak/rust-algorithms [INFO] finished frobbing davidpeklak/rust-algorithms [INFO] frobbed toml for davidpeklak/rust-algorithms written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/davidpeklak/rust-algorithms/Cargo.toml [INFO] crate davidpeklak/rust-algorithms has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting davidpeklak/rust-algorithms against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/davidpeklak/rust-algorithms:/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] 818ff1e9696c0669e1b09d89747f4a1ebd0f4e64cd80bcd9370a69467db110f6 [INFO] running `"docker" "start" "-a" "818ff1e9696c0669e1b09d89747f4a1ebd0f4e64cd80bcd9370a69467db110f6"` [INFO] [stderr] Checking stopwatch v0.0.7 [INFO] [stderr] Checking algorithms v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib/percolation.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/lib/percolation.rs:185:13 [INFO] [stderr] | [INFO] [stderr] 185 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `self`. [INFO] [stderr] --> src/lib/quick_find.rs:47:18 [INFO] [stderr] | [INFO] [stderr] 47 | for i in 0..self.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 47 | for in &mut self { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib/quick_union.rs:49:19 [INFO] [stderr] | [INFO] [stderr] 49 | fn find_root(vec: &Vec, elem: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib/weighted_quick_union.rs:69:19 [INFO] [stderr] | [INFO] [stderr] 69 | fn find_root(vec: &Vec, elem: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/percolation.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | self.open_count = self.open_count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.open_count += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/performance.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | size = size * 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `size *= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `self`. [INFO] [stderr] --> src/lib/performance.rs:76:26 [INFO] [stderr] | [INFO] [stderr] 76 | for j in i..size { [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] 76 | for in self.iter_mut().take(size).skip(i) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | fn head<'a>(&'a self) -> Option<&'a Self::Item>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | fn tail<'a>(&'a self) -> Option<&'a LinkedList>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | fn iter<'a>(&'a self) -> LinkedListIter<'a, Self::Item>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / fn head<'a>(&'a self) -> Option<&'a T> { [INFO] [stderr] 53 | | Some(&self.h) [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | / fn tail<'a>(&'a self) -> Option<&'a LinkedList> { [INFO] [stderr] 57 | | Some(&self.t) [INFO] [stderr] 58 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | / fn iter<'a>(&'a self) -> LinkedListIter<'a, T> { [INFO] [stderr] 61 | | LinkedListIter { l: self } [INFO] [stderr] 62 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | / fn head<'a>(&'a self) -> Option<&T> { [INFO] [stderr] 69 | | self.deref().head() [INFO] [stderr] 70 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | / fn tail<'a>(&'a self) -> Option<&LinkedList> { [INFO] [stderr] 73 | | self.deref().tail() [INFO] [stderr] 74 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | / fn iter<'a>(&'a self) -> LinkedListIter<'a, T> { [INFO] [stderr] 77 | | LinkedListIter { l: self } [INFO] [stderr] 78 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / fn head<'a>(&'a self) -> Option<&'a T> { [INFO] [stderr] 85 | | Option::None [INFO] [stderr] 86 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | / fn tail<'a>(&'a self) -> Option<&'a LinkedList> { [INFO] [stderr] 89 | | Option::None [INFO] [stderr] 90 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / fn iter<'a>(&'a self) -> LinkedListIter<'a, T> { [INFO] [stderr] 93 | | LinkedListIter { l: self } [INFO] [stderr] 94 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `deque::Deque` [INFO] [stderr] --> src/lib/deque.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn new() -> Deque { [INFO] [stderr] 38 | | Deque { [INFO] [stderr] 39 | | size: 0, [INFO] [stderr] 40 | | first: None, [INFO] [stderr] 41 | | last: None, [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 30 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/deque.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | / pub fn iter<'a>(&'a self) -> DequeIter<'a, Item> { [INFO] [stderr] 46 | | DequeIter { [INFO] [stderr] 47 | | next: self.first, [INFO] [stderr] 48 | | _deque: &self, [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/deque.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | self.size = self.size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/deque.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | self.size = self.size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/deque.rs:92:17 [INFO] [stderr] | [INFO] [stderr] 92 | self.size = self.size - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/deque.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | self.size = self.size - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib/deque.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | / match first { [INFO] [stderr] 148 | | Some(mut nnn) => unsafe { nnn.as_mut().next = second }, [INFO] [stderr] 149 | | _ => () [INFO] [stderr] 150 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(mut nnn) = first unsafe { nnn.as_mut().next = second }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib/deque.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / match second { [INFO] [stderr] 152 | | Some(mut nnn) => unsafe { nnn.as_mut().prev = first }, [INFO] [stderr] 153 | | _ => () [INFO] [stderr] 154 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(mut nnn) = second unsafe { nnn.as_mut().prev = first }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib/deque.rs:168:15 [INFO] [stderr] | [INFO] [stderr] 168 | match self.next.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.next` [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: manual implementation of an assign operation [INFO] [stderr] --> src/lib/insertion_sort.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 29 | j = j - 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/shell_sort.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | offset = offset + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `offset += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/lib/merge_sort.rs:44:14 [INFO] [stderr] | [INFO] [stderr] 44 | for k in lo..hi { [INFO] [stderr] | ^^^^^^ help: try replacing the loop by: `aux_vec[lo..hi].clone_from_slice(&vec[lo..hi])` [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: the loop variable `k` is only used to index `vec`. [INFO] [stderr] --> src/lib/merge_sort.rs:48:14 [INFO] [stderr] | [INFO] [stderr] 48 | for k in lo..hi { [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] 48 | for in vec.iter_mut().take(hi).skip(lo) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/lib/merge_sort.rs:55:44 [INFO] [stderr] | [INFO] [stderr] 55 | } else if aux_vec[i] <= aux_vec[j] { [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 56 | | vec[k] = aux_vec[i]; [INFO] [stderr] 57 | | i = i + 1; [INFO] [stderr] 58 | | } else { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/lib/merge_sort.rs:52:27 [INFO] [stderr] | [INFO] [stderr] 52 | } else if j >= hi { [INFO] [stderr] | ___________________________^ [INFO] [stderr] 53 | | vec[k] = aux_vec[i]; [INFO] [stderr] 54 | | i = i + 1; [INFO] [stderr] 55 | | } else if aux_vec[i] <= aux_vec[j] { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/merge_sort.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | j = j + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/merge_sort.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/merge_sort.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/merge_sort.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | j = j + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/quick_sort.rs:59:17 [INFO] [stderr] | [INFO] [stderr] 59 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/quick_sort.rs:63:17 [INFO] [stderr] | [INFO] [stderr] 63 | j = j - 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `algorithms`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: the loop variable `i` is only used to index `self`. [INFO] [stderr] --> src/lib/quick_find.rs:47:18 [INFO] [stderr] | [INFO] [stderr] 47 | for i in 0..self.len() { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 47 | for in &mut self { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib/quick_union.rs:49:19 [INFO] [stderr] | [INFO] [stderr] 49 | fn find_root(vec: &Vec, elem: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib/weighted_quick_union.rs:69:19 [INFO] [stderr] | [INFO] [stderr] 69 | fn find_root(vec: &Vec, elem: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/percolation.rs:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | self.open_count = self.open_count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.open_count += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/performance.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | size = size * 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `size *= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `self`. [INFO] [stderr] --> src/lib/performance.rs:76:26 [INFO] [stderr] | [INFO] [stderr] 76 | for j in i..size { [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] 76 | for in self.iter_mut().take(size).skip(i) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | fn head<'a>(&'a self) -> Option<&'a Self::Item>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | fn tail<'a>(&'a self) -> Option<&'a LinkedList>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | fn iter<'a>(&'a self) -> LinkedListIter<'a, Self::Item>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / fn head<'a>(&'a self) -> Option<&'a T> { [INFO] [stderr] 53 | | Some(&self.h) [INFO] [stderr] 54 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | / fn tail<'a>(&'a self) -> Option<&'a LinkedList> { [INFO] [stderr] 57 | | Some(&self.t) [INFO] [stderr] 58 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:60:5 [INFO] [stderr] | [INFO] [stderr] 60 | / fn iter<'a>(&'a self) -> LinkedListIter<'a, T> { [INFO] [stderr] 61 | | LinkedListIter { l: self } [INFO] [stderr] 62 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | / fn head<'a>(&'a self) -> Option<&T> { [INFO] [stderr] 69 | | self.deref().head() [INFO] [stderr] 70 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | / fn tail<'a>(&'a self) -> Option<&LinkedList> { [INFO] [stderr] 73 | | self.deref().tail() [INFO] [stderr] 74 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | / fn iter<'a>(&'a self) -> LinkedListIter<'a, T> { [INFO] [stderr] 77 | | LinkedListIter { l: self } [INFO] [stderr] 78 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / fn head<'a>(&'a self) -> Option<&'a T> { [INFO] [stderr] 85 | | Option::None [INFO] [stderr] 86 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | / fn tail<'a>(&'a self) -> Option<&'a LinkedList> { [INFO] [stderr] 89 | | Option::None [INFO] [stderr] 90 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/linked_list.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | / fn iter<'a>(&'a self) -> LinkedListIter<'a, T> { [INFO] [stderr] 93 | | LinkedListIter { l: self } [INFO] [stderr] 94 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `deque::Deque` [INFO] [stderr] --> src/lib/deque.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | / pub fn new() -> Deque { [INFO] [stderr] 38 | | Deque { [INFO] [stderr] 39 | | size: 0, [INFO] [stderr] 40 | | first: None, [INFO] [stderr] 41 | | last: None, [INFO] [stderr] 42 | | } [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 30 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/lib/deque.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | / pub fn iter<'a>(&'a self) -> DequeIter<'a, Item> { [INFO] [stderr] 46 | | DequeIter { [INFO] [stderr] 47 | | next: self.first, [INFO] [stderr] 48 | | _deque: &self, [INFO] [stderr] 49 | | } [INFO] [stderr] 50 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/deque.rs:73:9 [INFO] [stderr] | [INFO] [stderr] 73 | self.size = self.size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/deque.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | self.size = self.size + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/deque.rs:92:17 [INFO] [stderr] | [INFO] [stderr] 92 | self.size = self.size - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/deque.rs:110:17 [INFO] [stderr] | [INFO] [stderr] 110 | self.size = self.size - 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.size -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib/deque.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | / match first { [INFO] [stderr] 148 | | Some(mut nnn) => unsafe { nnn.as_mut().next = second }, [INFO] [stderr] 149 | | _ => () [INFO] [stderr] 150 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(mut nnn) = first unsafe { nnn.as_mut().next = second }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/lib/deque.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / match second { [INFO] [stderr] 152 | | Some(mut nnn) => unsafe { nnn.as_mut().prev = first }, [INFO] [stderr] 153 | | _ => () [INFO] [stderr] 154 | | } [INFO] [stderr] | |_________^ help: try this: `if let Some(mut nnn) = second unsafe { nnn.as_mut().prev = first }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/lib/deque.rs:168:15 [INFO] [stderr] | [INFO] [stderr] 168 | match self.next.clone() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.next` [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: manual implementation of an assign operation [INFO] [stderr] --> src/lib/insertion_sort.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 29 | j = j - 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/shell_sort.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | offset = offset + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `offset += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/lib/merge_sort.rs:44:14 [INFO] [stderr] | [INFO] [stderr] 44 | for k in lo..hi { [INFO] [stderr] | ^^^^^^ help: try replacing the loop by: `aux_vec[lo..hi].clone_from_slice(&vec[lo..hi])` [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: the loop variable `k` is only used to index `vec`. [INFO] [stderr] --> src/lib/merge_sort.rs:48:14 [INFO] [stderr] | [INFO] [stderr] 48 | for k in lo..hi { [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] 48 | for in vec.iter_mut().take(hi).skip(lo) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/lib/merge_sort.rs:55:44 [INFO] [stderr] | [INFO] [stderr] 55 | } else if aux_vec[i] <= aux_vec[j] { [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 56 | | vec[k] = aux_vec[i]; [INFO] [stderr] 57 | | i = i + 1; [INFO] [stderr] 58 | | } else { [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/lib/merge_sort.rs:52:27 [INFO] [stderr] | [INFO] [stderr] 52 | } else if j >= hi { [INFO] [stderr] | ___________________________^ [INFO] [stderr] 53 | | vec[k] = aux_vec[i]; [INFO] [stderr] 54 | | i = i + 1; [INFO] [stderr] 55 | | } else if aux_vec[i] <= aux_vec[j] { [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/merge_sort.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | j = j + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/merge_sort.rs:54:13 [INFO] [stderr] | [INFO] [stderr] 54 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/merge_sort.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/merge_sort.rs:60:13 [INFO] [stderr] | [INFO] [stderr] 60 | j = j + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/quick_sort.rs:59:17 [INFO] [stderr] | [INFO] [stderr] 59 | i = i + 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `i += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/lib/quick_sort.rs:63:17 [INFO] [stderr] | [INFO] [stderr] 63 | j = j - 1; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `j -= 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/lib/quick_sort.rs:82:34 [INFO] [stderr] | [INFO] [stderr] 82 | fn is_partitioned(vec: &Vec, k: usize) -> bool [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[Item]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `vec`. [INFO] [stderr] --> src/lib/is_sorted.rs:26:18 [INFO] [stderr] | [INFO] [stderr] 26 | for i in 0..size { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 26 | for in vec.iter_mut().take(size) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `algorithms`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "818ff1e9696c0669e1b09d89747f4a1ebd0f4e64cd80bcd9370a69467db110f6"` [INFO] running `"docker" "rm" "-f" "818ff1e9696c0669e1b09d89747f4a1ebd0f4e64cd80bcd9370a69467db110f6"` [INFO] [stdout] 818ff1e9696c0669e1b09d89747f4a1ebd0f4e64cd80bcd9370a69467db110f6