pub struct Report<K>where
K: Kind,{ /* private fields */ }Expand description
A collection of Warnings grouped by json::Element.
Use the Report::iter to iterate over the json::Elements that have Warnings in order.
Implementations§
Source§impl<K> Report<K>where
K: Kind,
impl<K> Report<K>where
K: Kind,
Sourcepub fn iter<'a, 'bin>(
&'a self,
root: &'a Element<'bin>,
) -> ReportIter<'a, 'bin, K> ⓘ
pub fn iter<'a, 'bin>( &'a self, root: &'a Element<'bin>, ) -> ReportIter<'a, 'bin, K> ⓘ
Iterate over all json::Elements that have Warnings.
The iteration happens in the order of the Element::id
Examples found in repository?
examples/price_cdr_with_unknown_version.rs (line 85)
75fn print_timezone_warnings(
76 cdr: &cdr::Versioned<'_>,
77 warnings: &warning::Report<timezone::WarningKind>,
78) {
79 if warnings.is_empty() {
80 return;
81 }
82
83 eprintln!("WARN: {} warnings from the timezone search", warnings.len());
84
85 for warning::ElementReport { element, warnings } in warnings.iter(cdr.as_element()) {
86 eprintln!(
87 "Warnings reported for `json::Element` at path: `{}`",
88 element.path()
89 );
90
91 for warning in warnings {
92 eprintln!(" * {warning}");
93 }
94
95 eprintln!();
96 }
97}More examples
examples/lint_tariff.rs (line 42)
32fn print_lint_warnings(
33 tariff: &tariff::Versioned<'_>,
34 warnings: &warning::Report<lint::tariff::WarningKind>,
35) {
36 if warnings.is_empty() {
37 return;
38 }
39
40 eprintln!("WARN: {} warnings from the linting", warnings.len());
41
42 for warning::ElementReport { element, warnings } in warnings.iter(tariff.as_element()) {
43 eprintln!(
44 "Warnings reported for `json::Element` at path: `{}`",
45 element.path()
46 );
47
48 for warning in warnings {
49 eprintln!(" * {warning}");
50 }
51
52 eprintln!();
53 }
54}Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Return true if there are no json::Elements with Warnings.
Examples found in repository?
examples/price_cdr_with_unknown_version.rs (line 79)
75fn print_timezone_warnings(
76 cdr: &cdr::Versioned<'_>,
77 warnings: &warning::Report<timezone::WarningKind>,
78) {
79 if warnings.is_empty() {
80 return;
81 }
82
83 eprintln!("WARN: {} warnings from the timezone search", warnings.len());
84
85 for warning::ElementReport { element, warnings } in warnings.iter(cdr.as_element()) {
86 eprintln!(
87 "Warnings reported for `json::Element` at path: `{}`",
88 element.path()
89 );
90
91 for warning in warnings {
92 eprintln!(" * {warning}");
93 }
94
95 eprintln!();
96 }
97}More examples
examples/lint_tariff.rs (line 36)
32fn print_lint_warnings(
33 tariff: &tariff::Versioned<'_>,
34 warnings: &warning::Report<lint::tariff::WarningKind>,
35) {
36 if warnings.is_empty() {
37 return;
38 }
39
40 eprintln!("WARN: {} warnings from the linting", warnings.len());
41
42 for warning::ElementReport { element, warnings } in warnings.iter(tariff.as_element()) {
43 eprintln!(
44 "Warnings reported for `json::Element` at path: `{}`",
45 element.path()
46 );
47
48 for warning in warnings {
49 eprintln!(" * {warning}");
50 }
51
52 eprintln!();
53 }
54}Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Return the number of json::Elements with Warnings.
Examples found in repository?
examples/price_cdr_with_unknown_version.rs (line 83)
75fn print_timezone_warnings(
76 cdr: &cdr::Versioned<'_>,
77 warnings: &warning::Report<timezone::WarningKind>,
78) {
79 if warnings.is_empty() {
80 return;
81 }
82
83 eprintln!("WARN: {} warnings from the timezone search", warnings.len());
84
85 for warning::ElementReport { element, warnings } in warnings.iter(cdr.as_element()) {
86 eprintln!(
87 "Warnings reported for `json::Element` at path: `{}`",
88 element.path()
89 );
90
91 for warning in warnings {
92 eprintln!(" * {warning}");
93 }
94
95 eprintln!();
96 }
97}More examples
examples/lint_tariff.rs (line 40)
32fn print_lint_warnings(
33 tariff: &tariff::Versioned<'_>,
34 warnings: &warning::Report<lint::tariff::WarningKind>,
35) {
36 if warnings.is_empty() {
37 return;
38 }
39
40 eprintln!("WARN: {} warnings from the linting", warnings.len());
41
42 for warning::ElementReport { element, warnings } in warnings.iter(tariff.as_element()) {
43 eprintln!(
44 "Warnings reported for `json::Element` at path: `{}`",
45 element.path()
46 );
47
48 for warning in warnings {
49 eprintln!(" * {warning}");
50 }
51
52 eprintln!();
53 }
54}Trait Implementations§
Auto Trait Implementations§
impl<K> Freeze for Report<K>
impl<K> RefUnwindSafe for Report<K>where
K: RefUnwindSafe,
impl<K> Send for Report<K>where
K: Send,
impl<K> Sync for Report<K>where
K: Sync,
impl<K> Unpin for Report<K>where
K: Unpin,
impl<K> UnwindSafe for Report<K>where
K: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more