Skip to content

Commit

Permalink
feat(collection): remove unnecessary OptionalWrapper
Browse files Browse the repository at this point in the history
- In a label collection, there is no need for a `None` label. One should
  just not add that label
- Code wise it is also incorrect. The wrapper will be for a vector of
  spans, not for individual spans. It happens to work anyway, but this was
  not the intended use.
  • Loading branch information
Nahor committed Feb 17, 2024
1 parent 85576d7 commit 589eacc
Showing 1 changed file with 16 additions and 22 deletions.
38 changes: 16 additions & 22 deletions miette-derive/src/label.rs
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ impl Labels {
let Label {
span,
label,
ty,
ty: _,
lbl_ty,
} = label;
if *lbl_ty != LabelType::Collection {
Expand All @@ -212,16 +212,13 @@ impl Labels {
Some(quote! {
.chain({
let display = #display;
self.#span.iter().map(move |label| {
miette::macro_helpers::OptionalWrapper::<#ty>::new().to_option(label)
.map(|span| {
use miette::macro_helpers::{ToLabelSpanWrapper,ToLabeledSpan};
let mut labeled_span = ToLabelSpanWrapper::to_labeled_span(span.clone());
if display.is_some() && labeled_span.label().is_none() {
labeled_span.set_label(display.clone())
}
labeled_span
})
self.#span.iter().map(move |span| {
use miette::macro_helpers::{ToLabelSpanWrapper,ToLabeledSpan};
let mut labeled_span = ToLabelSpanWrapper::to_labeled_span(span.clone());
if display.is_some() && labeled_span.label().is_none() {
labeled_span.set_label(display.clone())
}
Some(labeled_span)
})
})
})
Expand Down Expand Up @@ -284,7 +281,7 @@ impl Labels {
})
});
let collections_chain = labels.0.iter().filter_map(|label| {
let Label { span, label, ty, lbl_ty } = label;
let Label { span, label, ty: _, lbl_ty } = label;
if *lbl_ty != LabelType::Collection {
return None;
}
Expand All @@ -303,16 +300,13 @@ impl Labels {
Some(quote! {
.chain({
let display = #display;
#field.iter().map(move |label| {
miette::macro_helpers::OptionalWrapper::<#ty>::new().to_option(label)
.map(|span| {
use miette::macro_helpers::{ToLabelSpanWrapper,ToLabeledSpan};
let mut labeled_span = ToLabelSpanWrapper::to_labeled_span(span.clone());
if display.is_some() && labeled_span.label().is_none() {
labeled_span.set_label(display.clone());
}
labeled_span
})
#field.iter().map(move |span| {
use miette::macro_helpers::{ToLabelSpanWrapper,ToLabeledSpan};
let mut labeled_span = ToLabelSpanWrapper::to_labeled_span(span.clone());
if display.is_some() && labeled_span.label().is_none() {
labeled_span.set_label(display.clone());
}
Some(labeled_span)
})
})
})
Expand Down

0 comments on commit 589eacc

Please sign in to comment.