This is an automated email from the ASF dual-hosted git repository.
Jefffrey pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/main by this push:
new 8a849f30a3 fix clippy in variant (#10586)
8a849f30a3 is described below
commit 8a849f30a36d9a55d38d54dfb366560893aa351e
Author: Andrew Lamb <[email protected]>
AuthorDate: Fri Aug 7 20:52:04 2026 -0400
fix clippy in variant (#10586)
# Which issue does this PR close?
- Related to https://github.com/apache/arrow-rs/pull/10157
# Rationale for this change
It seems https://github.com/apache/arrow-rs/pull/10157 has a logical
conflict with newly added clippy lints
After merging https://github.com/apache/arrow-rs/pull/10157 it is
failing with
For example:
https://github.com/apache/arrow-rs/actions/runs/31189404230/job/92902082102
```
warning: unnested or-patterns
--> parquet-variant-compute/src/shred_variant.rs:3134:17
|
3134 | / (Variant::Int8(_), DataType::Int8)
3135 | | | (Variant::Int8(_), DataType::Int16)
3136 | | | (Variant::Int8(_), DataType::Int32)
3137 | | | (Variant::Int8(_), DataType::Int64)
... |
3228 | | | (Variant::String(_), DataType::LargeUtf8)
3229 | | | (Variant::Time(_), DataType::Time64(_))
| |_____________________________________________________________^
|
= help: for further information visit
https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnested_or_patterns
= note: requested on the command line with `-W
clippy::unnested-or-patterns`
help: nest the patterns
|
3134 ~ (Variant::Int8(_) | Variant::Int16(_) |
Variant::Int32(_) | Variant::Int64(_)
3135 + | Variant::Decimal4(_) | Variant::Decimal8(_) |
Variant::Decimal16(_),
3136 + DataType::Int8) |
3137 + (Variant::Int8(_) | Variant::Int16(_) | Variant::Int32(_) |
Variant::Int64(_)
3138 + | Variant::Decimal4(_) | Variant::Decimal8(_) |
Variant::Decimal16(_),
3139 + DataType::Int16) |
```
# What changes are included in this PR?
Do what clippy says (just accept its suggestion)
# Are these changes tested?
By CI
# Are there any user-facing changes?
<!--
If there are user-facing changes then we may require documentation to be
updated before approving the PR.
If there are any breaking changes to public APIs, please call them out.
-->
---
parquet-variant-compute/src/shred_variant.rs | 113 +++++++--------------------
1 file changed, 28 insertions(+), 85 deletions(-)
diff --git a/parquet-variant-compute/src/shred_variant.rs
b/parquet-variant-compute/src/shred_variant.rs
index 946ce5d5e0..03efb7c177 100644
--- a/parquet-variant-compute/src/shred_variant.rs
+++ b/parquet-variant-compute/src/shred_variant.rs
@@ -3131,101 +3131,44 @@ mod tests {
fn can_shred_to(v: &Variant, dt: &DataType) -> bool {
matches!(
(v, dt),
- (Variant::Int8(_), DataType::Int8)
- | (Variant::Int8(_), DataType::Int16)
- | (Variant::Int8(_), DataType::Int32)
- | (Variant::Int8(_), DataType::Int64)
- | (Variant::Int8(_), DataType::Decimal32(_, _))
- | (Variant::Int8(_), DataType::Decimal64(_, _))
- | (Variant::Int8(_), DataType::Decimal128(_, _))
- | (Variant::Int16(_), DataType::Int8)
- | (Variant::Int16(_), DataType::Int16)
- | (Variant::Int16(_), DataType::Int32)
- | (Variant::Int16(_), DataType::Int64)
- | (Variant::Int16(_), DataType::Decimal32(_, _))
- | (Variant::Int16(_), DataType::Decimal64(_, _))
- | (Variant::Int16(_), DataType::Decimal128(_, _))
- | (Variant::Int32(_), DataType::Int8)
- | (Variant::Int32(_), DataType::Int16)
- | (Variant::Int32(_), DataType::Int32)
- | (Variant::Int32(_), DataType::Int64)
- | (Variant::Int32(_), DataType::Decimal32(_, _))
- | (Variant::Int32(_), DataType::Decimal64(_, _))
- | (Variant::Int32(_), DataType::Decimal128(_, _))
- | (Variant::Int64(_), DataType::Int8)
- | (Variant::Int64(_), DataType::Int16)
- | (Variant::Int64(_), DataType::Int32)
- | (Variant::Int64(_), DataType::Int64)
- | (Variant::Int64(_), DataType::Decimal32(_, _))
- | (Variant::Int64(_), DataType::Decimal64(_, _))
- | (Variant::Int64(_), DataType::Decimal128(_, _))
- | (Variant::Date(_), DataType::Date32)
+ (
+ Variant::Int8(_)
+ | Variant::Int16(_)
+ | Variant::Int32(_)
+ | Variant::Int64(_)
+ | Variant::Decimal4(_)
+ | Variant::Decimal8(_)
+ | Variant::Decimal16(_),
+ DataType::Int8
+ | DataType::Int16
+ | DataType::Int32
+ | DataType::Int64
+ | DataType::Decimal32(_, _)
+ | DataType::Decimal64(_, _)
+ | DataType::Decimal128(_, _)
+ ) | (Variant::Date(_), DataType::Date32)
| (
- Variant::TimestampMicros(_),
- DataType::Timestamp(TimeUnit::Microsecond, Some(_)),
+ Variant::TimestampMicros(_) |
Variant::TimestampNanos(_),
+ DataType::Timestamp(TimeUnit::Microsecond |
TimeUnit::Nanosecond, Some(_))
)
| (
- Variant::TimestampMicros(_),
- DataType::Timestamp(TimeUnit::Nanosecond, Some(_))
- )
- | (
- Variant::TimestampNtzMicros(_),
- DataType::Timestamp(TimeUnit::Microsecond, None),
- )
- | (
- Variant::TimestampNtzMicros(_),
- DataType::Timestamp(TimeUnit::Nanosecond, None)
- )
- | (
- Variant::TimestampNanos(_),
- DataType::Timestamp(TimeUnit::Microsecond, Some(_))
+ Variant::TimestampNtzMicros(_) |
Variant::TimestampNtzNanos(_),
+ DataType::Timestamp(TimeUnit::Microsecond |
TimeUnit::Nanosecond, None)
)
+ | (Variant::Float(_), DataType::Float32)
+ | (Variant::Double(_), DataType::Float64)
| (
- Variant::TimestampNanos(_),
- DataType::Timestamp(TimeUnit::Nanosecond, Some(_)),
+ Variant::BooleanFalse | Variant::BooleanTrue,
+ DataType::Boolean
)
| (
- Variant::TimestampNtzNanos(_),
- DataType::Timestamp(TimeUnit::Microsecond, None)
+ Variant::Binary(_),
+ DataType::Binary | DataType::BinaryView |
DataType::LargeBinary
)
| (
- Variant::TimestampNtzNanos(_),
- DataType::Timestamp(TimeUnit::Nanosecond, None),
+ Variant::ShortString(_) | Variant::String(_),
+ DataType::Utf8 | DataType::Utf8View |
DataType::LargeUtf8
)
- | (Variant::Decimal4(_), DataType::Decimal32(_, _))
- | (Variant::Decimal4(_), DataType::Decimal64(_, _))
- | (Variant::Decimal4(_), DataType::Decimal128(_, _))
- | (Variant::Decimal4(_), DataType::Int8)
- | (Variant::Decimal4(_), DataType::Int16)
- | (Variant::Decimal4(_), DataType::Int32)
- | (Variant::Decimal4(_), DataType::Int64)
- | (Variant::Decimal8(_), DataType::Decimal32(_, _))
- | (Variant::Decimal8(_), DataType::Decimal64(_, _))
- | (Variant::Decimal8(_), DataType::Decimal128(_, _))
- | (Variant::Decimal8(_), DataType::Int8)
- | (Variant::Decimal8(_), DataType::Int16)
- | (Variant::Decimal8(_), DataType::Int32)
- | (Variant::Decimal8(_), DataType::Int64)
- | (Variant::Decimal16(_), DataType::Decimal32(_, _))
- | (Variant::Decimal16(_), DataType::Decimal64(_, _))
- | (Variant::Decimal16(_), DataType::Decimal128(_, _))
- | (Variant::Decimal16(_), DataType::Int8)
- | (Variant::Decimal16(_), DataType::Int16)
- | (Variant::Decimal16(_), DataType::Int32)
- | (Variant::Decimal16(_), DataType::Int64)
- | (Variant::Float(_), DataType::Float32)
- | (Variant::Double(_), DataType::Float64)
- | (Variant::BooleanFalse, DataType::Boolean)
- | (Variant::BooleanTrue, DataType::Boolean)
- | (Variant::Binary(_), DataType::Binary)
- | (Variant::Binary(_), DataType::BinaryView)
- | (Variant::Binary(_), DataType::LargeBinary)
- | (Variant::ShortString(_), DataType::Utf8)
- | (Variant::ShortString(_), DataType::Utf8View)
- | (Variant::ShortString(_), DataType::LargeUtf8)
- | (Variant::String(_), DataType::Utf8)
- | (Variant::String(_), DataType::Utf8View)
- | (Variant::String(_), DataType::LargeUtf8)
| (Variant::Time(_), DataType::Time64(_))
)
}