mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-22 03:44:24 +00:00
Rename new lints to iter_on_empty_collections and iter_on_single_items
This commit is contained in:
parent
b247594a39
commit
af4885c0cd
@ -3651,13 +3651,13 @@ Released 2018-09-13
|
||||
[`items_after_statements`]: https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements
|
||||
[`iter_cloned_collect`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect
|
||||
[`iter_count`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_count
|
||||
[`iter_empty`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_empty
|
||||
[`iter_next_loop`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_next_loop
|
||||
[`iter_next_slice`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_next_slice
|
||||
[`iter_not_returning_iterator`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_not_returning_iterator
|
||||
[`iter_nth`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth
|
||||
[`iter_nth_zero`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero
|
||||
[`iter_once`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_once
|
||||
[`iter_on_empty_collections`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_on_empty_collections
|
||||
[`iter_on_single_items`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_on_single_items
|
||||
[`iter_overeager_cloned`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_overeager_cloned
|
||||
[`iter_skip_next`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next
|
||||
[`iter_with_drain`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_with_drain
|
||||
|
@ -312,11 +312,11 @@ store.register_lints(&[
|
||||
methods::ITERATOR_STEP_BY_ZERO,
|
||||
methods::ITER_CLONED_COLLECT,
|
||||
methods::ITER_COUNT,
|
||||
methods::ITER_EMPTY,
|
||||
methods::ITER_NEXT_SLICE,
|
||||
methods::ITER_NTH,
|
||||
methods::ITER_NTH_ZERO,
|
||||
methods::ITER_ONCE,
|
||||
methods::ITER_ON_EMPTY_COLLECTIONS,
|
||||
methods::ITER_ON_SINGLE_ITEMS,
|
||||
methods::ITER_OVEREAGER_CLONED,
|
||||
methods::ITER_SKIP_NEXT,
|
||||
methods::ITER_WITH_DRAIN,
|
||||
|
@ -14,8 +14,8 @@ store.register_group(true, "clippy::nursery", Some("clippy_nursery"), vec![
|
||||
LintId::of(index_refutable_slice::INDEX_REFUTABLE_SLICE),
|
||||
LintId::of(let_if_seq::USELESS_LET_IF_SEQ),
|
||||
LintId::of(matches::SIGNIFICANT_DROP_IN_SCRUTINEE),
|
||||
LintId::of(methods::ITER_EMPTY),
|
||||
LintId::of(methods::ITER_ONCE),
|
||||
LintId::of(methods::ITER_ON_EMPTY_COLLECTIONS),
|
||||
LintId::of(methods::ITER_ON_SINGLE_ITEMS),
|
||||
LintId::of(methods::ITER_WITH_DRAIN),
|
||||
LintId::of(missing_const_for_fn::MISSING_CONST_FOR_FN),
|
||||
LintId::of(mutable_debug_assertion::DEBUG_ASSERT_WITH_MUT_CALL),
|
||||
|
@ -7,7 +7,7 @@ use rustc_hir::LangItem::{OptionNone, OptionSome};
|
||||
use rustc_hir::{Expr, ExprKind, Node};
|
||||
use rustc_lint::LateContext;
|
||||
|
||||
use super::{ITER_EMPTY, ITER_ONCE};
|
||||
use super::{ITER_ON_EMPTY_COLLECTIONS, ITER_ON_SINGLE_ITEMS};
|
||||
|
||||
enum IterType {
|
||||
Iter,
|
||||
@ -82,7 +82,7 @@ pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, expr: &Expr<'_>, method_name:
|
||||
);
|
||||
span_lint_and_sugg(
|
||||
cx,
|
||||
ITER_ONCE,
|
||||
ITER_ON_SINGLE_ITEMS,
|
||||
expr.span,
|
||||
&format!("`{method_name}` call on a collection with only one item"),
|
||||
"try",
|
||||
@ -92,7 +92,7 @@ pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, expr: &Expr<'_>, method_name:
|
||||
} else {
|
||||
span_lint_and_sugg(
|
||||
cx,
|
||||
ITER_EMPTY,
|
||||
ITER_ON_EMPTY_COLLECTIONS,
|
||||
expr.span,
|
||||
&format!("`{method_name}` call on an empty collection"),
|
||||
"try",
|
@ -33,7 +33,7 @@ mod iter_count;
|
||||
mod iter_next_slice;
|
||||
mod iter_nth;
|
||||
mod iter_nth_zero;
|
||||
mod iter_once_empty;
|
||||
mod iter_on_single_or_empty_collections;
|
||||
mod iter_overeager_cloned;
|
||||
mod iter_skip_next;
|
||||
mod iter_with_drain;
|
||||
@ -2331,7 +2331,7 @@ declare_clippy_lint! {
|
||||
///
|
||||
/// The type of the resulting iterator might become incompatible with its usage
|
||||
#[clippy::version = "1.64.0"]
|
||||
pub ITER_ONCE,
|
||||
pub ITER_ON_SINGLE_ITEMS,
|
||||
nursery,
|
||||
"Iterator for array of length 1"
|
||||
}
|
||||
@ -2363,7 +2363,7 @@ declare_clippy_lint! {
|
||||
///
|
||||
/// The type of the resulting iterator might become incompatible with its usage
|
||||
#[clippy::version = "1.64.0"]
|
||||
pub ITER_EMPTY,
|
||||
pub ITER_ON_EMPTY_COLLECTIONS,
|
||||
nursery,
|
||||
"Iterator for empty array"
|
||||
}
|
||||
@ -2470,8 +2470,8 @@ impl_lint_pass!(Methods => [
|
||||
NEEDLESS_OPTION_TAKE,
|
||||
NO_EFFECT_REPLACE,
|
||||
OBFUSCATED_IF_ELSE,
|
||||
ITER_ONCE,
|
||||
ITER_EMPTY
|
||||
ITER_ON_SINGLE_ITEMS,
|
||||
ITER_ON_EMPTY_COLLECTIONS
|
||||
]);
|
||||
|
||||
/// Extracts a method call name, args, and `Span` of the method name.
|
||||
@ -2774,7 +2774,9 @@ impl Methods {
|
||||
("is_digit", [radix]) => is_digit_ascii_radix::check(cx, expr, recv, radix, self.msrv),
|
||||
("is_none", []) => check_is_some_is_none(cx, expr, recv, false),
|
||||
("is_some", []) => check_is_some_is_none(cx, expr, recv, true),
|
||||
("iter" | "iter_mut" | "into_iter", []) => iter_once_empty::check(cx, expr, name, recv),
|
||||
("iter" | "iter_mut" | "into_iter", []) => {
|
||||
iter_on_single_or_empty_collections::check(cx, expr, name, recv);
|
||||
},
|
||||
("join", [join_arg]) => {
|
||||
if let Some(("collect", _, span)) = method_call(recv) {
|
||||
unnecessary_join::check(cx, expr, recv, join_arg, span);
|
||||
|
@ -1,5 +1,5 @@
|
||||
// run-rustfix
|
||||
#![warn(clippy::iter_empty)]
|
||||
#![warn(clippy::iter_on_empty_collections)]
|
||||
#![allow(clippy::iter_next_slice, clippy::redundant_clone)]
|
||||
|
||||
fn array() {
|
@ -1,5 +1,5 @@
|
||||
// run-rustfix
|
||||
#![warn(clippy::iter_empty)]
|
||||
#![warn(clippy::iter_on_empty_collections)]
|
||||
#![allow(clippy::iter_next_slice, clippy::redundant_clone)]
|
||||
|
||||
fn array() {
|
@ -1,37 +1,37 @@
|
||||
error: `into_iter` call on an empty collection
|
||||
--> $DIR/iter_empty.rs:6:16
|
||||
--> $DIR/iter_on_empty_collections.rs:6:16
|
||||
|
|
||||
LL | assert_eq!([].into_iter().next(), Option::<i32>::None);
|
||||
| ^^^^^^^^^^^^^^ help: try: `std::iter::empty()`
|
||||
|
|
||||
= note: `-D clippy::iter-empty` implied by `-D warnings`
|
||||
= note: `-D clippy::iter-on-empty-collections` implied by `-D warnings`
|
||||
|
||||
error: `iter_mut` call on an empty collection
|
||||
--> $DIR/iter_empty.rs:7:16
|
||||
--> $DIR/iter_on_empty_collections.rs:7:16
|
||||
|
|
||||
LL | assert_eq!([].iter_mut().next(), Option::<&mut i32>::None);
|
||||
| ^^^^^^^^^^^^^ help: try: `std::iter::empty()`
|
||||
|
||||
error: `iter` call on an empty collection
|
||||
--> $DIR/iter_empty.rs:8:16
|
||||
--> $DIR/iter_on_empty_collections.rs:8:16
|
||||
|
|
||||
LL | assert_eq!([].iter().next(), Option::<&i32>::None);
|
||||
| ^^^^^^^^^ help: try: `std::iter::empty()`
|
||||
|
||||
error: `into_iter` call on an empty collection
|
||||
--> $DIR/iter_empty.rs:9:16
|
||||
--> $DIR/iter_on_empty_collections.rs:9:16
|
||||
|
|
||||
LL | assert_eq!(None.into_iter().next(), Option::<i32>::None);
|
||||
| ^^^^^^^^^^^^^^^^ help: try: `std::iter::empty()`
|
||||
|
||||
error: `iter_mut` call on an empty collection
|
||||
--> $DIR/iter_empty.rs:10:16
|
||||
--> $DIR/iter_on_empty_collections.rs:10:16
|
||||
|
|
||||
LL | assert_eq!(None.iter_mut().next(), Option::<&mut i32>::None);
|
||||
| ^^^^^^^^^^^^^^^ help: try: `std::iter::empty()`
|
||||
|
||||
error: `iter` call on an empty collection
|
||||
--> $DIR/iter_empty.rs:11:16
|
||||
--> $DIR/iter_on_empty_collections.rs:11:16
|
||||
|
|
||||
LL | assert_eq!(None.iter().next(), Option::<&i32>::None);
|
||||
| ^^^^^^^^^^^ help: try: `std::iter::empty()`
|
@ -1,5 +1,5 @@
|
||||
// run-rustfix
|
||||
#![warn(clippy::iter_once)]
|
||||
#![warn(clippy::iter_on_single_items)]
|
||||
#![allow(clippy::iter_next_slice, clippy::redundant_clone)]
|
||||
|
||||
fn array() {
|
@ -1,5 +1,5 @@
|
||||
// run-rustfix
|
||||
#![warn(clippy::iter_once)]
|
||||
#![warn(clippy::iter_on_single_items)]
|
||||
#![allow(clippy::iter_next_slice, clippy::redundant_clone)]
|
||||
|
||||
fn array() {
|
@ -1,37 +1,37 @@
|
||||
error: `into_iter` call on a collection with only one item
|
||||
--> $DIR/iter_once.rs:6:16
|
||||
--> $DIR/iter_on_single_items.rs:6:16
|
||||
|
|
||||
LL | assert_eq!([123].into_iter().next(), Some(123));
|
||||
| ^^^^^^^^^^^^^^^^^ help: try: `std::iter::once(123)`
|
||||
|
|
||||
= note: `-D clippy::iter-once` implied by `-D warnings`
|
||||
= note: `-D clippy::iter-on-single-items` implied by `-D warnings`
|
||||
|
||||
error: `iter_mut` call on a collection with only one item
|
||||
--> $DIR/iter_once.rs:7:16
|
||||
--> $DIR/iter_on_single_items.rs:7:16
|
||||
|
|
||||
LL | assert_eq!([123].iter_mut().next(), Some(&mut 123));
|
||||
| ^^^^^^^^^^^^^^^^ help: try: `std::iter::once(&mut 123)`
|
||||
|
||||
error: `iter` call on a collection with only one item
|
||||
--> $DIR/iter_once.rs:8:16
|
||||
--> $DIR/iter_on_single_items.rs:8:16
|
||||
|
|
||||
LL | assert_eq!([123].iter().next(), Some(&123));
|
||||
| ^^^^^^^^^^^^ help: try: `std::iter::once(&123)`
|
||||
|
||||
error: `into_iter` call on a collection with only one item
|
||||
--> $DIR/iter_once.rs:9:16
|
||||
--> $DIR/iter_on_single_items.rs:9:16
|
||||
|
|
||||
LL | assert_eq!(Some(123).into_iter().next(), Some(123));
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ help: try: `std::iter::once(123)`
|
||||
|
||||
error: `iter_mut` call on a collection with only one item
|
||||
--> $DIR/iter_once.rs:10:16
|
||||
--> $DIR/iter_on_single_items.rs:10:16
|
||||
|
|
||||
LL | assert_eq!(Some(123).iter_mut().next(), Some(&mut 123));
|
||||
| ^^^^^^^^^^^^^^^^^^^^ help: try: `std::iter::once(&mut 123)`
|
||||
|
||||
error: `iter` call on a collection with only one item
|
||||
--> $DIR/iter_once.rs:11:16
|
||||
--> $DIR/iter_on_single_items.rs:11:16
|
||||
|
|
||||
LL | assert_eq!(Some(123).iter().next(), Some(&123));
|
||||
| ^^^^^^^^^^^^^^^^ help: try: `std::iter::once(&123)`
|
Loading…
Reference in New Issue
Block a user