Skip to content

Commit c20bd5d

Browse files
authored
chore: More idiomatic display impls for expressions (#3601)
Signed-off-by: Robert Kruszewski <[email protected]>
1 parent 0284779 commit c20bd5d

File tree

5 files changed

+19
-32
lines changed

5 files changed

+19
-32
lines changed

vortex-expr/src/field.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
use std::fmt::Display;
22

3+
use itertools::Itertools;
34
use vortex_dtype::FieldNames;
45

56
pub struct DisplayFieldNames<'a>(pub &'a FieldNames);
67

78
impl Display for DisplayFieldNames<'_> {
89
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
9-
for (i, field) in self.0.iter().enumerate() {
10-
if i > 0 {
11-
write!(f, ", ")?;
12-
}
13-
field.fmt(f)?
14-
}
15-
Ok(())
10+
write!(f, "{}", self.0.iter().format(", "))
1611
}
1712
}

vortex-expr/src/merge.rs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,12 @@ pub fn merge(
4747

4848
impl Display for Merge {
4949
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
50-
f.write_str("{")?;
51-
self.values
52-
.iter()
53-
.format_with(", ", |expr, f| f(expr))
54-
.fmt(f)?;
55-
f.write_str("}")?;
56-
if Nullability::Nullable == self.nullability {
57-
f.write_str("?")?;
58-
}
59-
Ok(())
50+
write!(
51+
f,
52+
"merge({}){}",
53+
self.values.iter().format(", "),
54+
self.nullability
55+
)
6056
}
6157
}
6258

vortex-expr/src/not.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ impl Not {
2929

3030
impl Display for Not {
3131
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
32-
write!(f, "!")?;
33-
self.child.fmt(f)
32+
write!(f, "!{}", self.child)
3433
}
3534
}
3635

vortex-expr/src/pack.rs

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -105,23 +105,20 @@ pub fn pack(
105105

106106
impl Display for Pack {
107107
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
108-
f.write_str("{")?;
109-
self.names
110-
.iter()
111-
.zip(&self.values)
112-
.format_with(", ", |(name, expr), f| f(&format_args!("{name}: {expr}")))
113-
.fmt(f)?;
114-
f.write_str("}")?;
115-
if Nullability::Nullable == self.nullability {
116-
f.write_str("?")?;
117-
}
118-
Ok(())
108+
write!(
109+
f,
110+
"pack({{{}}}){}",
111+
self.names
112+
.iter()
113+
.zip(&self.values)
114+
.format_with(", ", |(name, expr), f| f(&format_args!("{name}: {expr}"))),
115+
self.nullability
116+
)
119117
}
120118
}
121119

122120
#[cfg(feature = "proto")]
123121
pub(crate) mod proto {
124-
125122
use vortex_error::{VortexResult, vortex_bail};
126123
use vortex_proto::expr::kind;
127124
use vortex_proto::expr::kind::Kind;

vortex-expr/src/scope.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ impl std::fmt::Display for Identifier {
5656
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5757
match self {
5858
Identifier::Identity => write!(f, ""),
59-
Identifier::Other(v) => write!(f, "{}", v),
59+
Identifier::Other(v) => write!(f, "{v}"),
6060
}
6161
}
6262
}

0 commit comments

Comments
 (0)