Skip to content

Commit 35e7588

Browse files
committed
[tuple_array_conversions]: move from complexity to pedantic
The lint suggestion is arguably often less readable and more complex than the original code. For example, which of the following is the most readable: ```rust let _vertices = edges.flat_map(|(src, dst)| [src, dst]); let _vertices = edges.flat_map(<_ as Into<[i32; 2]>>::into); let _vertices = edges.flat_map(<[i32; 2]>::from); ``` The lint really only applies if the tuple is either long enough that naming the fields is silly (maybe at least 4 entries long), or if the author intends the fields to be homogenous, which is author intent and can't be determined by the lint. Therefore I think the lint should be marked as pedantic. Currently, there are also a lot of false positives with the lint: * rust-lang#11082 * rust-lang#11085 * rust-lang#11100 (rust-lang#11105) * rust-lang#11124 * rust-lang#11144 Should fix those issues before enabling it for everyone.
1 parent 3be3fb7 commit 35e7588

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

clippy_lints/src/tuple_array_conversions.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ declare_clippy_lint! {
1616
/// Checks for tuple<=>array conversions that are not done with `.into()`.
1717
///
1818
/// ### Why is this bad?
19-
/// It's unnecessary complexity. `.into()` works for tuples<=>arrays at or below 12 elements and
20-
/// conveys the intent a lot better, while also leaving less room for hard to spot bugs!
19+
/// It may be unnecessary complexity. `.into()` works for converting tuples
20+
/// <=> arrays of up to 12 elements and may convey intent more clearly.
2121
///
2222
/// ### Example
2323
/// ```rust,ignore
@@ -31,7 +31,7 @@ declare_clippy_lint! {
3131
/// ```
3232
#[clippy::version = "1.72.0"]
3333
pub TUPLE_ARRAY_CONVERSIONS,
34-
complexity,
34+
pedantic,
3535
"checks for tuple<=>array conversions that are not done with `.into()`"
3636
}
3737
impl_lint_pass!(TupleArrayConversions => [TUPLE_ARRAY_CONVERSIONS]);

0 commit comments

Comments
 (0)