[INFO] crate orset 0.2.0 is already in cache [INFO] extracting crate orset 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/orset/0.2.0 [INFO] extracting crate orset 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/orset/0.2.0 [INFO] validating manifest of orset-0.2.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 orset-0.2.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 orset-0.2.0 [INFO] finished frobbing orset-0.2.0 [INFO] frobbed toml for orset-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/orset/0.2.0/Cargo.toml [INFO] started frobbing orset-0.2.0 [INFO] finished frobbing orset-0.2.0 [INFO] frobbed toml for orset-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/orset/0.2.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 orset-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-7/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/orset/0.2.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] 2c253647f19a4ccd43ef6f994528d76b85fbd6d83fe5498cecce8fccba0c137c [INFO] running `"docker" "start" "-a" "2c253647f19a4ccd43ef6f994528d76b85fbd6d83fe5498cecce8fccba0c137c"` [INFO] [stderr] Checking orset v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/lib.rs:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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:97:25 [INFO] [stderr] | [INFO] [stderr] 97 | Delta::Remove { element: element, dots: seen} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `element` [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:315:26 [INFO] [stderr] | [INFO] [stderr] 315 | Op::Add {element: element, node: node} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `element` [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:315:44 [INFO] [stderr] | [INFO] [stderr] 315 | Op::Add {element: element, node: node} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `node` [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:317:29 [INFO] [stderr] | [INFO] [stderr] 317 | Op::Remove {element: element, node: node} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `element` [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:317:47 [INFO] [stderr] | [INFO] [stderr] 317 | Op::Remove {element: element, node: node} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `node` [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:48:13 [INFO] [stderr] | [INFO] [stderr] 48 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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:97:25 [INFO] [stderr] | [INFO] [stderr] 97 | Delta::Remove { element: element, dots: seen} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `element` [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:315:26 [INFO] [stderr] | [INFO] [stderr] 315 | Op::Add {element: element, node: node} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `element` [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:315:44 [INFO] [stderr] | [INFO] [stderr] 315 | Op::Add {element: element, node: node} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `node` [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:317:29 [INFO] [stderr] | [INFO] [stderr] 317 | Op::Remove {element: element, node: node} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `element` [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:317:47 [INFO] [stderr] | [INFO] [stderr] 317 | Op::Remove {element: element, node: node} [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `node` [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: unneeded return statement [INFO] [stderr] --> src/lib.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | return mutated [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `mutated` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | let mut adds = self.adds.entry(element).or_insert(Vec::new()); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | let mut removes = self.removes.entry(element.clone()).or_insert(Vec::new()); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | let mut adds = self.adds.get_mut(&element).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib.rs:60:20 [INFO] [stderr] | [INFO] [stderr] 60 | if dots.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `dots.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:77:49 [INFO] [stderr] | [INFO] [stderr] 77 | let mut adds = self.adds.entry(element).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | assert!(seen.len() != 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!seen.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:89:63 [INFO] [stderr] | [INFO] [stderr] 89 | let mut removes = self.removes.entry(element.clone()).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:133:53 [INFO] [stderr] | [INFO] [stderr] 133 | let adds = self.adds.entry(element.clone()).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:153:53 [INFO] [stderr] | [INFO] [stderr] 153 | let adds = self.adds.entry(element.clone()).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:154:51 [INFO] [stderr] | [INFO] [stderr] 154 | let removes = self.removes.entry(element).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/lib.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | / if adds.is_empty() { [INFO] [stderr] 170 | | false [INFO] [stderr] 171 | | } else { [INFO] [stderr] 172 | | true [INFO] [stderr] 173 | | } [INFO] [stderr] | |_____________^ help: you can reduce it to: `!adds.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/lib.rs:163:9 [INFO] [stderr] | [INFO] [stderr] 163 | return mutated [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `mutated` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/lib.rs:398:28 [INFO] [stderr] | [INFO] [stderr] 398 | } else { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 399 | | if !in_adds { return false } [INFO] [stderr] 400 | | } [INFO] [stderr] | |_____________________^ help: try: `if !in_adds { return false }` [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] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | let mut adds = self.adds.entry(element).or_insert(Vec::new()); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | let mut removes = self.removes.entry(element.clone()).or_insert(Vec::new()); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | let mut adds = self.adds.get_mut(&element).unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:517:13 [INFO] [stderr] | [INFO] [stderr] 517 | let mut orset = [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:520:13 [INFO] [stderr] | [INFO] [stderr] 520 | let mut mutator = mutators.entry(node).or_insert(Vec::new()); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib.rs:60:20 [INFO] [stderr] | [INFO] [stderr] 60 | if dots.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `dots.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:77:49 [INFO] [stderr] | [INFO] [stderr] 77 | let mut adds = self.adds.entry(element).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib.rs:88:17 [INFO] [stderr] | [INFO] [stderr] 88 | assert!(seen.len() != 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!seen.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:89:63 [INFO] [stderr] | [INFO] [stderr] 89 | let mut removes = self.removes.entry(element.clone()).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:133:53 [INFO] [stderr] | [INFO] [stderr] 133 | let adds = self.adds.entry(element.clone()).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:153:53 [INFO] [stderr] | [INFO] [stderr] 153 | let adds = self.adds.entry(element.clone()).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:154:51 [INFO] [stderr] | [INFO] [stderr] 154 | let removes = self.removes.entry(element).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/lib.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | / if adds.is_empty() { [INFO] [stderr] 170 | | false [INFO] [stderr] 171 | | } else { [INFO] [stderr] 172 | | true [INFO] [stderr] 173 | | } [INFO] [stderr] | |_____________^ help: you can reduce it to: `!adds.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [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:387:52 [INFO] [stderr] | [INFO] [stderr] 387 | adds: &Vec<(String, Dot)>) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `&[(String, Dot)]` [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: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/lib.rs:390:27 [INFO] [stderr] | [INFO] [stderr] 390 | let in_adds = orset.adds.get(element).unwrap().contains(&dot); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&orset.adds[element]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:423:44 [INFO] [stderr] | [INFO] [stderr] 423 | .or_insert(ORSet::new(node.clone())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| ORSet::new(node.clone()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [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.rs:480:9 [INFO] [stderr] | [INFO] [stderr] 480 | / match delta { [INFO] [stderr] 481 | | Delta::Add {element, dot} => adds.push((element, dot)), [INFO] [stderr] 482 | | _ => () [INFO] [stderr] 483 | | } [INFO] [stderr] | |_________^ help: try this: `if let Delta::Add {element, dot} = delta { adds.push((element, dot)) }` [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] error: !=-comparison of unit values detected. This will always be false [INFO] [stderr] --> src/lib.rs:490:20 [INFO] [stderr] | [INFO] [stderr] 490 | if orset.elements().sort() != orset2.elements().sort() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unit_cmp)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_cmp [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/lib.rs:500:13 [INFO] [stderr] | [INFO] [stderr] 500 | let ref x = range[index]; [INFO] [stderr] | ----^^^^^---------------- help: try: `let x = &range[index];` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:507:18 [INFO] [stderr] | [INFO] [stderr] 507 | for i in 1..n+1 { [INFO] [stderr] | ^^^^^^ help: use: `1..=n` [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: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:518:40 [INFO] [stderr] | [INFO] [stderr] 518 | orsets.entry(node.clone()).or_insert(ORSet::new(node.clone())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(|| ORSet::new(node.clone()))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `or_insert` followed by a function call [INFO] [stderr] --> src/lib.rs:520:48 [INFO] [stderr] | [INFO] [stderr] 520 | let mut mutator = mutators.entry(node).or_insert(Vec::new()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_insert_with(Vec::new)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `orset`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "2c253647f19a4ccd43ef6f994528d76b85fbd6d83fe5498cecce8fccba0c137c"` [INFO] running `"docker" "rm" "-f" "2c253647f19a4ccd43ef6f994528d76b85fbd6d83fe5498cecce8fccba0c137c"` [INFO] [stdout] 2c253647f19a4ccd43ef6f994528d76b85fbd6d83fe5498cecce8fccba0c137c