[INFO] crate avltree 0.1.0 is already in cache [INFO] extracting crate avltree 0.1.0 into work/ex/clippy-test-run/sources/stable/reg/avltree/0.1.0 [INFO] extracting crate avltree 0.1.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/avltree/0.1.0 [INFO] validating manifest of avltree-0.1.0 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 avltree-0.1.0 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 avltree-0.1.0 [INFO] finished frobbing avltree-0.1.0 [INFO] frobbed toml for avltree-0.1.0 written to work/ex/clippy-test-run/sources/stable/reg/avltree/0.1.0/Cargo.toml [INFO] started frobbing avltree-0.1.0 [INFO] finished frobbing avltree-0.1.0 [INFO] frobbed toml for avltree-0.1.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/avltree/0.1.0/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 avltree-0.1.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/avltree/0.1.0:/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] 15b0a53017c8e8e0ea34eba8a3e8dd3c7be4c6acf6db927baeb8c4bf685db339 [INFO] running `"docker" "start" "-a" "15b0a53017c8e8e0ea34eba8a3e8dd3c7be4c6acf6db927baeb8c4bf685db339"` [INFO] [stderr] Checking avltree v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | parent: parent, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `parent` [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:342:13 [INFO] [stderr] | [INFO] [stderr] 342 | nodes: nodes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nodes` [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:141:13 [INFO] [stderr] | [INFO] [stderr] 141 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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:142:13 [INFO] [stderr] | [INFO] [stderr] 142 | parent: parent, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `parent` [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:342:13 [INFO] [stderr] | [INFO] [stderr] 342 | nodes: nodes, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `nodes` [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/lib.rs:132:20 [INFO] [stderr] | [INFO] [stderr] 132 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 133 | | if self.nodes[index].value < value { [INFO] [stderr] 134 | | self.nodes[index].right_child = Some(self.nodes.len()); [INFO] [stderr] 135 | | } else { [INFO] [stderr] 136 | | self.nodes[index].left_child = Some(self.nodes.len()); [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | } [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] 132 | } else if self.nodes[index].value < value { [INFO] [stderr] 133 | self.nodes[index].right_child = Some(self.nodes.len()); [INFO] [stderr] 134 | } else { [INFO] [stderr] 135 | self.nodes[index].left_child = Some(self.nodes.len()); [INFO] [stderr] 136 | } [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.rs:339:23 [INFO] [stderr] | [INFO] [stderr] 339 | pub fn new(nodes: &'a Vec>, root: Option) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Node]` [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.rs:348:28 [INFO] [stderr] | [INFO] [stderr] 348 | fn get_leftmost(nodes: &'a Vec>, root: Option) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Node]` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lib.rs:132:20 [INFO] [stderr] | [INFO] [stderr] 132 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 133 | | if self.nodes[index].value < value { [INFO] [stderr] 134 | | self.nodes[index].right_child = Some(self.nodes.len()); [INFO] [stderr] 135 | | } else { [INFO] [stderr] 136 | | self.nodes[index].left_child = Some(self.nodes.len()); [INFO] [stderr] 137 | | } [INFO] [stderr] 138 | | } [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] 132 | } else if self.nodes[index].value < value { [INFO] [stderr] 133 | self.nodes[index].right_child = Some(self.nodes.len()); [INFO] [stderr] 134 | } else { [INFO] [stderr] 135 | self.nodes[index].left_child = Some(self.nodes.len()); [INFO] [stderr] 136 | } [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.rs:339:23 [INFO] [stderr] | [INFO] [stderr] 339 | pub fn new(nodes: &'a Vec>, root: Option) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Node]` [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.rs:348:28 [INFO] [stderr] | [INFO] [stderr] 348 | fn get_leftmost(nodes: &'a Vec>, root: Option) [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Node]` [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 function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/lib.rs:430:5 [INFO] [stderr] | [INFO] [stderr] 430 | / fn insert_left_rot() { [INFO] [stderr] 431 | | // 10 20 [INFO] [stderr] 432 | | // \ / \ [INFO] [stderr] 433 | | // 20 => 10 30 [INFO] [stderr] ... | [INFO] [stderr] 464 | | assert_eq!(tree.nodes[2].height, 0); [INFO] [stderr] 465 | | } [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 27 [INFO] [stderr] --> src/lib.rs:468:5 [INFO] [stderr] | [INFO] [stderr] 468 | / fn insert_right_rot() { [INFO] [stderr] 469 | | // 30 20 [INFO] [stderr] 470 | | // / / \ [INFO] [stderr] 471 | | // 20 => 10 30 [INFO] [stderr] ... | [INFO] [stderr] 503 | | assert_eq!(tree.nodes[2].height, 0); [INFO] [stderr] 504 | | } [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] warning: the function has a cyclomatic complexity of 28 [INFO] [stderr] --> src/lib.rs:507:5 [INFO] [stderr] | [INFO] [stderr] 507 | / fn left_right_rot() { [INFO] [stderr] 508 | | // 30 25 [INFO] [stderr] 509 | | // / / \ [INFO] [stderr] 510 | | // 20 => 20 30 [INFO] [stderr] ... | [INFO] [stderr] 543 | | assert_eq!(tree.nodes[2].height, 1); [INFO] [stderr] 544 | | } [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] warning: the function has a cyclomatic complexity of 28 [INFO] [stderr] --> src/lib.rs:547:5 [INFO] [stderr] | [INFO] [stderr] 547 | / fn right_left_rot() { [INFO] [stderr] 548 | | // 10 15 [INFO] [stderr] 549 | | // \ / \ [INFO] [stderr] 550 | | // 20 => 10 20 [INFO] [stderr] ... | [INFO] [stderr] 583 | | assert_eq!(tree.nodes[2].height, 1); [INFO] [stderr] 584 | | } [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] warning: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:590:18 [INFO] [stderr] | [INFO] [stderr] 590 | for _ in 0..(LENGTH + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `0..=LENGTH` [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] Finished dev [unoptimized + debuginfo] target(s) in 1.87s [INFO] running `"docker" "inspect" "15b0a53017c8e8e0ea34eba8a3e8dd3c7be4c6acf6db927baeb8c4bf685db339"` [INFO] running `"docker" "rm" "-f" "15b0a53017c8e8e0ea34eba8a3e8dd3c7be4c6acf6db927baeb8c4bf685db339"` [INFO] [stdout] 15b0a53017c8e8e0ea34eba8a3e8dd3c7be4c6acf6db927baeb8c4bf685db339