[INFO] crate linked-list 0.0.3 is already in cache [INFO] extracting crate linked-list 0.0.3 into work/ex/clippy-test-run/sources/stable/reg/linked-list/0.0.3 [INFO] extracting crate linked-list 0.0.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/linked-list/0.0.3 [INFO] validating manifest of linked-list-0.0.3 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 linked-list-0.0.3 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 linked-list-0.0.3 [INFO] finished frobbing linked-list-0.0.3 [INFO] frobbed toml for linked-list-0.0.3 written to work/ex/clippy-test-run/sources/stable/reg/linked-list/0.0.3/Cargo.toml [INFO] started frobbing linked-list-0.0.3 [INFO] finished frobbing linked-list-0.0.3 [INFO] frobbed toml for linked-list-0.0.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/linked-list/0.0.3/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 linked-list-0.0.3 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/reg/linked-list/0.0.3:/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] 28fbcfad7f7b3ab57384d06d36d22cab87a9625b2caed02622257a0dde1ecbfe [INFO] running `"docker" "start" "-a" "28fbcfad7f7b3ab57384d06d36d22cab87a9625b2caed02622257a0dde1ecbfe"` [INFO] [stderr] Checking linked-list v0.0.3 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | elem: elem, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `elem` [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/lib.rs:94:15 [INFO] [stderr] | [INFO] [stderr] 94 | Raw { 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/lib.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | elem: elem, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `elem` [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/lib.rs:94:15 [INFO] [stderr] | [INFO] [stderr] 94 | Raw { 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: unused import: `Debug` [INFO] [stderr] --> src/lib.rs:19:22 [INFO] [stderr] | [INFO] [stderr] 19 | use std::fmt::{self, Debug}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/lib.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | old_next.as_mut().map(|node| node.prev = Raw::some(&mut *next)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(node) = old_next.as_mut() { ... }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/lib.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | next.as_mut().map(|node| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 70 | || node.prev = Raw::none(); [INFO] [stderr] 71 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(node) = next.as_mut() { node.prev = Raw::none(); }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `LinkedList` [INFO] [stderr] --> src/lib.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | / pub fn new() -> LinkedList { [INFO] [stderr] 148 | | LinkedList { head: None, tail: Raw::none(), len: 0 } [INFO] [stderr] 149 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 144 | impl Default for LinkedList { [INFO] [stderr] 145 | fn default() -> Self { [INFO] [stderr] 146 | Self::new() [INFO] [stderr] 147 | } [INFO] [stderr] 148 | } [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.rs:323:5 [INFO] [stderr] | [INFO] [stderr] 323 | / pub fn iter<'a>(&'a self) -> Iter<'a, T> { [INFO] [stderr] 324 | | Iter{nelem: self.len(), head: &self.head, tail: &self.tail} [INFO] [stderr] 325 | | } [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.rs:329:5 [INFO] [stderr] | [INFO] [stderr] 329 | / pub fn iter_mut<'a>(&'a mut self) -> IterMut<'a, T> { [INFO] [stderr] 330 | | let head_raw = match self.head.as_mut() { [INFO] [stderr] 331 | | Some(head) => Raw::some(&mut **head), [INFO] [stderr] 332 | | None => Raw::none(), [INFO] [stderr] ... | [INFO] [stderr] 339 | | } [INFO] [stderr] 340 | | } [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: defining a method called `into_iter` on this type; consider implementing the `std::iter::IntoIterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:344:5 [INFO] [stderr] | [INFO] [stderr] 344 | / pub fn into_iter(self) -> IntoIter { [INFO] [stderr] 345 | | IntoIter{list: self} [INFO] [stderr] 346 | | } [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: defining a method called `next` on this type; consider implementing the `std::iter::Iterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:383:5 [INFO] [stderr] | [INFO] [stderr] 383 | / pub fn next(&mut self) -> Option<&mut T> { [INFO] [stderr] 384 | | self.index += 1; [INFO] [stderr] 385 | | match self.prev.take().as_mut() { [INFO] [stderr] 386 | | // We had no previous element; the cursor was sitting at the start position [INFO] [stderr] ... | [INFO] [stderr] 417 | | } [INFO] [stderr] 418 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: unused import: `Debug` [INFO] [stderr] --> src/lib.rs:19:22 [INFO] [stderr] | [INFO] [stderr] 19 | use std::fmt::{self, Debug}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/lib.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | old_next.as_mut().map(|node| node.prev = Raw::some(&mut *next)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(node) = old_next.as_mut() { ... }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/lib.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | next.as_mut().map(|node| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 70 | || node.prev = Raw::none(); [INFO] [stderr] 71 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some(node) = next.as_mut() { node.prev = Raw::none(); }` [INFO] [stderr] | |___________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `LinkedList` [INFO] [stderr] --> src/lib.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | / pub fn new() -> LinkedList { [INFO] [stderr] 148 | | LinkedList { head: None, tail: Raw::none(), len: 0 } [INFO] [stderr] 149 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 144 | impl Default for LinkedList { [INFO] [stderr] 145 | fn default() -> Self { [INFO] [stderr] 146 | Self::new() [INFO] [stderr] 147 | } [INFO] [stderr] 148 | } [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.rs:323:5 [INFO] [stderr] | [INFO] [stderr] 323 | / pub fn iter<'a>(&'a self) -> Iter<'a, T> { [INFO] [stderr] 324 | | Iter{nelem: self.len(), head: &self.head, tail: &self.tail} [INFO] [stderr] 325 | | } [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.rs:329:5 [INFO] [stderr] | [INFO] [stderr] 329 | / pub fn iter_mut<'a>(&'a mut self) -> IterMut<'a, T> { [INFO] [stderr] 330 | | let head_raw = match self.head.as_mut() { [INFO] [stderr] 331 | | Some(head) => Raw::some(&mut **head), [INFO] [stderr] 332 | | None => Raw::none(), [INFO] [stderr] ... | [INFO] [stderr] 339 | | } [INFO] [stderr] 340 | | } [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: defining a method called `into_iter` on this type; consider implementing the `std::iter::IntoIterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:344:5 [INFO] [stderr] | [INFO] [stderr] 344 | / pub fn into_iter(self) -> IntoIter { [INFO] [stderr] 345 | | IntoIter{list: self} [INFO] [stderr] 346 | | } [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: defining a method called `next` on this type; consider implementing the `std::iter::Iterator` trait or choosing a less ambiguous name [INFO] [stderr] --> src/lib.rs:383:5 [INFO] [stderr] | [INFO] [stderr] 383 | / pub fn next(&mut self) -> Option<&mut T> { [INFO] [stderr] 384 | | self.index += 1; [INFO] [stderr] 385 | | match self.prev.take().as_mut() { [INFO] [stderr] 386 | | // We had no previous element; the cursor was sitting at the start position [INFO] [stderr] ... | [INFO] [stderr] 417 | | } [INFO] [stderr] 418 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `<=` [INFO] [stderr] --> src/lib.rs:988:17 [INFO] [stderr] | [INFO] [stderr] 988 | assert!(n <= n); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::eq_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `>=` [INFO] [stderr] --> src/lib.rs:989:17 [INFO] [stderr] | [INFO] [stderr] 989 | assert!(n >= n); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] error: equal expressions as operands to `/` [INFO] [stderr] --> src/lib.rs:994:19 [INFO] [stderr] | [INFO] [stderr] 994 | let nan = 0.0f64/0.0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#eq_op [INFO] [stderr] [INFO] [stderr] warning: constant division of 0.0 with 0.0 will always result in NaN [INFO] [stderr] --> src/lib.rs:994:19 [INFO] [stderr] | [INFO] [stderr] 994 | let nan = 0.0f64/0.0; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::zero_divided_by_zero)] on by default [INFO] [stderr] = help: Consider using `std::f64::NAN` if you would like a constant representing NaN [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#zero_divided_by_zero [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:997:17 [INFO] [stderr] | [INFO] [stderr] 997 | assert!(!(n < m)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_cmp_op_on_partial_ord)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:998:17 [INFO] [stderr] | [INFO] [stderr] 998 | assert!(!(n > m)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:999:17 [INFO] [stderr] | [INFO] [stderr] 999 | assert!(!(n <= m)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:1000:17 [INFO] [stderr] | [INFO] [stderr] 1000 | assert!(!(n >= m)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:1004:17 [INFO] [stderr] | [INFO] [stderr] 1004 | assert!(!(n < one)); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:1005:17 [INFO] [stderr] | [INFO] [stderr] 1005 | assert!(!(n > one)); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:1006:17 [INFO] [stderr] | [INFO] [stderr] 1006 | assert!(!(n <= one)); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:1007:17 [INFO] [stderr] | [INFO] [stderr] 1007 | assert!(!(n >= one)); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:1011:17 [INFO] [stderr] | [INFO] [stderr] 1011 | assert!(!(u < v)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:1012:17 [INFO] [stderr] | [INFO] [stderr] 1012 | assert!(!(u > v)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:1013:17 [INFO] [stderr] | [INFO] [stderr] 1013 | assert!(!(u <= v)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:1014:17 [INFO] [stderr] | [INFO] [stderr] 1014 | assert!(!(u >= v)); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:1018:17 [INFO] [stderr] | [INFO] [stderr] 1018 | assert!(!(s < t)); [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/lib.rs:1020:17 [INFO] [stderr] | [INFO] [stderr] 1020 | assert!(!(s <= one)); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/lib.rs:1029:38 [INFO] [stderr] | [INFO] [stderr] 1029 | let list: LinkedList<&str> = vec!["just", "one", "test", "more"].iter() [INFO] [stderr] | ______________________________________^ [INFO] [stderr] 1030 | | .map(|&s| s) [INFO] [stderr] | |_______________________________________________________________________________^ help: Consider calling the dedicated `cloned` method: `vec!["just", "one", "test", "more"].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: the function has a cyclomatic complexity of 28 [INFO] [stderr] --> src/lib.rs:1066:5 [INFO] [stderr] | [INFO] [stderr] 1066 | / fn test_cursor_insert() { [INFO] [stderr] 1067 | | let mut list = list_from(&[0,1,2,3,4]); [INFO] [stderr] 1068 | | { [INFO] [stderr] 1069 | | let mut curs = list.cursor(); [INFO] [stderr] ... | [INFO] [stderr] 1116 | | assert_eq!(list.len(), 12); [INFO] [stderr] 1117 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 30 [INFO] [stderr] --> src/lib.rs:1120:5 [INFO] [stderr] | [INFO] [stderr] 1120 | / fn test_cursor_remove() { [INFO] [stderr] 1121 | | let mut list = list_from(&[0,1,2,3,4,5,6,7]); [INFO] [stderr] 1122 | | { [INFO] [stderr] 1123 | | let mut curs = list.cursor(); [INFO] [stderr] ... | [INFO] [stderr] 1161 | | assert_eq!(list.len(), 2); [INFO] [stderr] 1162 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `linked-list`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "28fbcfad7f7b3ab57384d06d36d22cab87a9625b2caed02622257a0dde1ecbfe"` [INFO] running `"docker" "rm" "-f" "28fbcfad7f7b3ab57384d06d36d22cab87a9625b2caed02622257a0dde1ecbfe"` [INFO] [stdout] 28fbcfad7f7b3ab57384d06d36d22cab87a9625b2caed02622257a0dde1ecbfe