[INFO] crate cranelift-bforest 0.25.0 is already in cache [INFO] extracting crate cranelift-bforest 0.25.0 into work/ex/clippy-test-run/sources/stable/reg/cranelift-bforest/0.25.0 [INFO] extracting crate cranelift-bforest 0.25.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cranelift-bforest/0.25.0 [INFO] validating manifest of cranelift-bforest-0.25.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 cranelift-bforest-0.25.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 cranelift-bforest-0.25.0 [INFO] finished frobbing cranelift-bforest-0.25.0 [INFO] frobbed toml for cranelift-bforest-0.25.0 written to work/ex/clippy-test-run/sources/stable/reg/cranelift-bforest/0.25.0/Cargo.toml [INFO] started frobbing cranelift-bforest-0.25.0 [INFO] finished frobbing cranelift-bforest-0.25.0 [INFO] frobbed toml for cranelift-bforest-0.25.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cranelift-bforest/0.25.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 cranelift-bforest-0.25.0 against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/cranelift-bforest/0.25.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 -Dclippy::into_iter_on_array" "-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] f1e3b4568967baa360ac996e12fed3bc86a11b78cc900489d82055d3fe34f1f9 [INFO] running `"docker" "start" "-a" "f1e3b4568967baa360ac996e12fed3bc86a11b78cc900489d82055d3fe34f1f9"` [INFO] [stderr] Checking cranelift-entity v0.25.0 [INFO] [stderr] Checking cranelift-bforest v0.25.0 (/opt/crater/workdir) [INFO] [stderr] warning: lint name `new_without_default` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:25:11 [INFO] [stderr] | [INFO] [stderr] 25 | allow(new_without_default, new_without_default_derive) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::new_without_default` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: lint name `new_without_default_derive` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:25:32 [INFO] [stderr] | [INFO] [stderr] 25 | allow(new_without_default, new_without_default_derive) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::new_without_default_derive` [INFO] [stderr] [INFO] [stderr] warning: lint name `float_arithmetic` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | float_arithmetic, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change it to: `clippy::float_arithmetic` [INFO] [stderr] [INFO] [stderr] warning: lint name `mut_mut` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | mut_mut, [INFO] [stderr] | ^^^^^^^ help: change it to: `clippy::mut_mut` [INFO] [stderr] [INFO] [stderr] warning: lint name `nonminimal_bool` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | nonminimal_bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::nonminimal_bool` [INFO] [stderr] [INFO] [stderr] warning: lint name `option_map_unwrap_or` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | option_map_unwrap_or, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::option_map_unwrap_or` [INFO] [stderr] [INFO] [stderr] warning: lint name `option_map_unwrap_or_else` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | option_map_unwrap_or_else, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::option_map_unwrap_or_else` [INFO] [stderr] [INFO] [stderr] warning: lint name `print_stdout` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | print_stdout, [INFO] [stderr] | ^^^^^^^^^^^^ help: change it to: `clippy::print_stdout` [INFO] [stderr] [INFO] [stderr] warning: lint name `unicode_not_nfc` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | unicode_not_nfc, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::unicode_not_nfc` [INFO] [stderr] [INFO] [stderr] warning: lint name `use_self` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | use_self [INFO] [stderr] | ^^^^^^^^ help: change it to: `clippy::use_self` [INFO] [stderr] [INFO] [stderr] warning: lint name `new_without_default` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:25:11 [INFO] [stderr] | [INFO] [stderr] 25 | allow(new_without_default, new_without_default_derive) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::new_without_default` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(renamed_and_removed_lints)] on by default [INFO] [stderr] [INFO] [stderr] warning: lint name `new_without_default_derive` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:25:32 [INFO] [stderr] | [INFO] [stderr] 25 | allow(new_without_default, new_without_default_derive) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::new_without_default_derive` [INFO] [stderr] [INFO] [stderr] warning: lint name `float_arithmetic` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | float_arithmetic, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change it to: `clippy::float_arithmetic` [INFO] [stderr] [INFO] [stderr] warning: lint name `mut_mut` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | mut_mut, [INFO] [stderr] | ^^^^^^^ help: change it to: `clippy::mut_mut` [INFO] [stderr] [INFO] [stderr] warning: lint name `nonminimal_bool` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | nonminimal_bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::nonminimal_bool` [INFO] [stderr] [INFO] [stderr] warning: lint name `option_map_unwrap_or` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | option_map_unwrap_or, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::option_map_unwrap_or` [INFO] [stderr] [INFO] [stderr] warning: lint name `option_map_unwrap_or_else` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | option_map_unwrap_or_else, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::option_map_unwrap_or_else` [INFO] [stderr] [INFO] [stderr] warning: lint name `print_stdout` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:35:9 [INFO] [stderr] | [INFO] [stderr] 35 | print_stdout, [INFO] [stderr] | ^^^^^^^^^^^^ help: change it to: `clippy::print_stdout` [INFO] [stderr] [INFO] [stderr] warning: lint name `unicode_not_nfc` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 36 | unicode_not_nfc, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: change it to: `clippy::unicode_not_nfc` [INFO] [stderr] [INFO] [stderr] warning: lint name `use_self` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | use_self [INFO] [stderr] | ^^^^^^^^ help: change it to: `clippy::use_self` [INFO] [stderr] [INFO] [stderr] warning: lint name `new_without_default` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:25:11 [INFO] [stderr] | [INFO] [stderr] 25 | allow(new_without_default, new_without_default_derive) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::new_without_default` [INFO] [stderr] [INFO] [stderr] warning: lint name `should_implement_trait` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/map.rs:287:48 [INFO] [stderr] | [INFO] [stderr] 287 | #[cfg_attr(feature = "cargo-clippy", allow(should_implement_trait))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::should_implement_trait` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_range_loop` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/pool.rs:66:56 [INFO] [stderr] | [INFO] [stderr] 66 | #[cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_range_loop` [INFO] [stderr] [INFO] [stderr] warning: lint name `should_implement_trait` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/set.rs:228:48 [INFO] [stderr] | [INFO] [stderr] 228 | #[cfg_attr(feature = "cargo-clippy", allow(should_implement_trait))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::should_implement_trait` [INFO] [stderr] [INFO] [stderr] warning: lint name `new_without_default` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/lib.rs:25:11 [INFO] [stderr] | [INFO] [stderr] 25 | allow(new_without_default, new_without_default_derive) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::new_without_default` [INFO] [stderr] [INFO] [stderr] warning: lint name `should_implement_trait` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/map.rs:287:48 [INFO] [stderr] | [INFO] [stderr] 287 | #[cfg_attr(feature = "cargo-clippy", allow(should_implement_trait))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::should_implement_trait` [INFO] [stderr] [INFO] [stderr] warning: lint name `needless_range_loop` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/pool.rs:66:56 [INFO] [stderr] | [INFO] [stderr] 66 | #[cfg_attr(feature = "cargo-clippy", allow(needless_range_loop))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::needless_range_loop` [INFO] [stderr] [INFO] [stderr] warning: lint name `should_implement_trait` is deprecated and may not have an effect in the future. Also `cfg_attr(cargo-clippy)` won't be necessary anymore [INFO] [stderr] --> src/set.rs:228:48 [INFO] [stderr] | [INFO] [stderr] 228 | #[cfg_attr(feature = "cargo-clippy", allow(should_implement_trait))] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `clippy::should_implement_trait` [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 60 [INFO] [stderr] --> src/map.rs:469:5 [INFO] [stderr] | [INFO] [stderr] 469 | / fn inserting() { [INFO] [stderr] 470 | | let f = &mut MapForest::::new(); [INFO] [stderr] 471 | | let mut m = Map::::new(); [INFO] [stderr] 472 | | [INFO] [stderr] ... | [INFO] [stderr] 571 | | assert!(m.is_empty()); [INFO] [stderr] 572 | | } [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/node.rs:609:5 [INFO] [stderr] | [INFO] [stderr] 609 | / fn inner() { [INFO] [stderr] 610 | | let n1 = Node(1); [INFO] [stderr] 611 | | let n2 = Node(2); [INFO] [stderr] 612 | | let n3 = Node(3); [INFO] [stderr] ... | [INFO] [stderr] 669 | | assert_eq!(sp.rhs_data.to_string(), "[ node5 e node6 f node7 g node8 ]"); [INFO] [stderr] 670 | | } [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/node.rs:627:18 [INFO] [stderr] | [INFO] [stderr] 627 | ('a' as u8 + i) as char, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::char_lit_as_u8)] on by default [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/node.rs:628:22 [INFO] [stderr] | [INFO] [stderr] 628 | Node(i as u32 + 2), [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(i)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/node.rs:643:21 [INFO] [stderr] | [INFO] [stderr] 643 | let saved = inner.clone(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `inner` [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 function has a cyclomatic complexity of 28 [INFO] [stderr] --> src/node.rs:673:5 [INFO] [stderr] | [INFO] [stderr] 673 | / fn leaf() { [INFO] [stderr] 674 | | let mut leaf = NodeData::::leaf('d', SetValue()); [INFO] [stderr] 675 | | assert_eq!(leaf.to_string(), "[ d ]"); [INFO] [stderr] 676 | | [INFO] [stderr] ... | [INFO] [stderr] 713 | | assert_eq!(sp.rhs_data.to_string(), "[ h i j k l m n o ]"); [INFO] [stderr] 714 | | } [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/node.rs:683:59 [INFO] [stderr] | [INFO] [stderr] 683 | assert!(leaf.try_leaf_insert(usize::from(i), ('a' as u8 + i) as char, SetValue())); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/node.rs:693:21 [INFO] [stderr] | [INFO] [stderr] 693 | let saved = leaf.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `leaf` [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: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/node.rs:748:18 [INFO] [stderr] | [INFO] [stderr] 748 | ('p' as u8 + i) as char, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'p' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u32 may become silently lossy if types change [INFO] [stderr] --> src/node.rs:749:22 [INFO] [stderr] | [INFO] [stderr] 749 | Node(i as u32 + 12), [INFO] [stderr] | ^^^^^^^^ help: try: `u32::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/node.rs:781:58 [INFO] [stderr] | [INFO] [stderr] 781 | assert!(lhs.try_leaf_insert(usize::from(i), ('a' as u8 + i) as char, SetValue())); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'a' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: casting character literal to u8. `char`s are 4 bytes wide in rust, so casting to u8 truncates them [INFO] [stderr] --> src/node.rs:787:58 [INFO] [stderr] | [INFO] [stderr] 787 | assert!(rhs.try_leaf_insert(usize::from(i), ('0' as u8 + i) as char, SetValue())); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Consider using a byte literal instead: [INFO] [stderr] b'0' [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 31 [INFO] [stderr] --> src/path.rs:790:5 [INFO] [stderr] | [INFO] [stderr] 790 | / fn search_single_inner() { [INFO] [stderr] 791 | | // Testing Path::new() for trees with a single inner node and two leaves. [INFO] [stderr] 792 | | let mut pool = NodePool::::new(); [INFO] [stderr] 793 | | let leaf1 = pool.alloc_node(NodeData::leaf(10, 'a')); [INFO] [stderr] ... | [INFO] [stderr] 834 | | assert_eq!(p.entry[1], 1); [INFO] [stderr] 835 | | } [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 loop variable `i` is used to index `tree` [INFO] [stderr] --> src/pool.rs:133:30 [INFO] [stderr] | [INFO] [stderr] 133 | for i in 0..size + 1 { [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] 133 | for (i, ) in tree.iter().enumerate().take(size + 1) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/pool.rs:133:30 [INFO] [stderr] | [INFO] [stderr] 133 | for i in 0..size + 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: use: `0..=size` [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/pool.rs:175:30 [INFO] [stderr] | [INFO] [stderr] 175 | for i in 0..size + 1 { [INFO] [stderr] | ^^^^^^^^^^^ help: use: `0..=size` [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: the function has a cyclomatic complexity of 26 [INFO] [stderr] --> src/set.rs:436:5 [INFO] [stderr] | [INFO] [stderr] 436 | / fn two_level_sparse_tree() { [INFO] [stderr] 437 | | let mut f = SetForest::::new(); [INFO] [stderr] 438 | | let mut s = Set::::new(); [INFO] [stderr] 439 | | let mut c = SetCursor::new(&mut s, &mut f, &()); [INFO] [stderr] ... | [INFO] [stderr] 478 | | assert!(c.is_empty()); [INFO] [stderr] 479 | | } [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 26 [INFO] [stderr] --> src/set.rs:482:5 [INFO] [stderr] | [INFO] [stderr] 482 | / fn three_level_sparse_tree() { [INFO] [stderr] 483 | | let mut f = SetForest::::new(); [INFO] [stderr] 484 | | let mut s = Set::::new(); [INFO] [stderr] 485 | | let mut c = SetCursor::new(&mut s, &mut f, &()); [INFO] [stderr] ... | [INFO] [stderr] 525 | | assert!(c.is_empty()); [INFO] [stderr] 526 | | } [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: this let-binding has unit value. Consider omitting `let comp =` [INFO] [stderr] --> src/lib.rs:177:9 [INFO] [stderr] | [INFO] [stderr] 177 | let comp = (); [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_unit_value)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_unit_value [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/lib.rs:178:20 [INFO] [stderr] | [INFO] [stderr] 178 | assert_eq!(comp.search(ebb1, &vals), Ok(0)); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 178 | assert_eq!(().search(ebb1, &vals), Ok(0)); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/lib.rs:179:20 [INFO] [stderr] | [INFO] [stderr] 179 | assert_eq!(comp.search(ebb3, &vals), Err(2)); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 179 | assert_eq!(().search(ebb3, &vals), Err(2)); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: passing a unit value to a function [INFO] [stderr] --> src/lib.rs:180:20 [INFO] [stderr] | [INFO] [stderr] 180 | assert_eq!(comp.search(ebb4, &vals), Ok(2)); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 180 | assert_eq!(().search(ebb4, &vals), Ok(2)); [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.46s [INFO] running `"docker" "inspect" "f1e3b4568967baa360ac996e12fed3bc86a11b78cc900489d82055d3fe34f1f9"` [INFO] running `"docker" "rm" "-f" "f1e3b4568967baa360ac996e12fed3bc86a11b78cc900489d82055d3fe34f1f9"` [INFO] [stdout] f1e3b4568967baa360ac996e12fed3bc86a11b78cc900489d82055d3fe34f1f9