Skip to content

Commit 1dd1143

Browse files
authored
subscriber: use struct update syntax when constructing from self (#1289)
This PR aims to remove a lot of initializer boilerplate code by adopting the`struct update syntax. If the [RFC 2528] gets merged and implemented, we can remove more. 😸 [RFC 2528]: rust-lang/rfcs#2528
1 parent 2e4a4f3 commit 1dd1143

File tree

2 files changed

+15
-39
lines changed

2 files changed

+15
-39
lines changed

tracing-subscriber/src/fmt/fmt_subscriber.rs

Lines changed: 9 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -249,11 +249,8 @@ where
249249
/// [time]: Subscriber::without_time()
250250
pub fn with_span_events(self, kind: FmtSpan) -> Self {
251251
Subscriber {
252-
fmt_event: self.fmt_event,
253-
fmt_fields: self.fmt_fields,
254252
fmt_span: self.fmt_span.with_kind(kind),
255-
make_writer: self.make_writer,
256-
_inner: self._inner,
253+
..self
257254
}
258255
}
259256

@@ -263,32 +260,23 @@ where
263260
pub fn with_ansi(self, ansi: bool) -> Subscriber<S, N, format::Format<L, T>, W> {
264261
Subscriber {
265262
fmt_event: self.fmt_event.with_ansi(ansi),
266-
fmt_fields: self.fmt_fields,
267-
fmt_span: self.fmt_span,
268-
make_writer: self.make_writer,
269-
_inner: self._inner,
263+
..self
270264
}
271265
}
272266

273267
/// Sets whether or not an event's target is displayed.
274268
pub fn with_target(self, display_target: bool) -> Subscriber<S, N, format::Format<L, T>, W> {
275269
Subscriber {
276270
fmt_event: self.fmt_event.with_target(display_target),
277-
fmt_fields: self.fmt_fields,
278-
fmt_span: self.fmt_span,
279-
make_writer: self.make_writer,
280-
_inner: self._inner,
271+
..self
281272
}
282273
}
283274

284275
/// Sets whether or not an event's level is displayed.
285276
pub fn with_level(self, display_level: bool) -> Subscriber<S, N, format::Format<L, T>, W> {
286277
Subscriber {
287278
fmt_event: self.fmt_event.with_level(display_level),
288-
fmt_fields: self.fmt_fields,
289-
fmt_span: self.fmt_span,
290-
make_writer: self.make_writer,
291-
_inner: self._inner,
279+
..self
292280
}
293281
}
294282

@@ -302,10 +290,7 @@ where
302290
) -> Subscriber<S, N, format::Format<L, T>, W> {
303291
Subscriber {
304292
fmt_event: self.fmt_event.with_thread_ids(display_thread_ids),
305-
fmt_fields: self.fmt_fields,
306-
fmt_span: self.fmt_span,
307-
make_writer: self.make_writer,
308-
_inner: self._inner,
293+
..self
309294
}
310295
}
311296

@@ -319,10 +304,7 @@ where
319304
) -> Subscriber<S, N, format::Format<L, T>, W> {
320305
Subscriber {
321306
fmt_event: self.fmt_event.with_thread_names(display_thread_names),
322-
fmt_fields: self.fmt_fields,
323-
fmt_span: self.fmt_span,
324-
make_writer: self.make_writer,
325-
_inner: self._inner,
307+
..self
326308
}
327309
}
328310

@@ -394,9 +376,7 @@ impl<S, T, W> Subscriber<S, format::JsonFields, format::Format<format::Json, T>,
394376
Subscriber {
395377
fmt_event: self.fmt_event.flatten_event(flatten_event),
396378
fmt_fields: format::JsonFields::new(),
397-
fmt_span: self.fmt_span,
398-
make_writer: self.make_writer,
399-
_inner: self._inner,
379+
..self
400380
}
401381
}
402382

@@ -411,9 +391,7 @@ impl<S, T, W> Subscriber<S, format::JsonFields, format::Format<format::Json, T>,
411391
Subscriber {
412392
fmt_event: self.fmt_event.with_current_span(display_current_span),
413393
fmt_fields: format::JsonFields::new(),
414-
fmt_span: self.fmt_span,
415-
make_writer: self.make_writer,
416-
_inner: self._inner,
394+
..self
417395
}
418396
}
419397

@@ -428,9 +406,7 @@ impl<S, T, W> Subscriber<S, format::JsonFields, format::Format<format::Json, T>,
428406
Subscriber {
429407
fmt_event: self.fmt_event.with_span_list(display_span_list),
430408
fmt_fields: format::JsonFields::new(),
431-
fmt_span: self.fmt_span,
432-
make_writer: self.make_writer,
433-
_inner: self._inner,
409+
..self
434410
}
435411
}
436412
}

tracing-subscriber/src/fmt/mod.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -662,8 +662,8 @@ where
662662
/// [time]: CollectorBuilder::without_time()
663663
pub fn with_span_events(self, kind: format::FmtSpan) -> Self {
664664
CollectorBuilder {
665-
filter: self.filter,
666665
inner: self.inner.with_span_events(kind),
666+
..self
667667
}
668668
}
669669

@@ -672,8 +672,8 @@ where
672672
#[cfg_attr(docsrs, doc(cfg(feature = "ansi")))]
673673
pub fn with_ansi(self, ansi: bool) -> CollectorBuilder<N, format::Format<L, T>, F, W> {
674674
CollectorBuilder {
675-
filter: self.filter,
676675
inner: self.inner.with_ansi(ansi),
676+
..self
677677
}
678678
}
679679

@@ -683,8 +683,8 @@ where
683683
display_target: bool,
684684
) -> CollectorBuilder<N, format::Format<L, T>, F, W> {
685685
CollectorBuilder {
686-
filter: self.filter,
687686
inner: self.inner.with_target(display_target),
687+
..self
688688
}
689689
}
690690

@@ -694,8 +694,8 @@ where
694694
display_level: bool,
695695
) -> CollectorBuilder<N, format::Format<L, T>, F, W> {
696696
CollectorBuilder {
697-
filter: self.filter,
698697
inner: self.inner.with_level(display_level),
698+
..self
699699
}
700700
}
701701

@@ -708,8 +708,8 @@ where
708708
display_thread_names: bool,
709709
) -> CollectorBuilder<N, format::Format<L, T>, F, W> {
710710
CollectorBuilder {
711-
filter: self.filter,
712711
inner: self.inner.with_thread_names(display_thread_names),
712+
..self
713713
}
714714
}
715715

@@ -722,8 +722,8 @@ where
722722
display_thread_ids: bool,
723723
) -> CollectorBuilder<N, format::Format<L, T>, F, W> {
724724
CollectorBuilder {
725-
filter: self.filter,
726725
inner: self.inner.with_thread_ids(display_thread_ids),
726+
..self
727727
}
728728
}
729729

0 commit comments

Comments
 (0)