pub struct Report<K>where
K: Kind,{ /* private fields */ }
Expand description
A collection of Warning
s grouped by json::Element
.
Use the Report::iter
to iterate over the json::Element
s that have Warning
s 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::Element
s that have Warning
s.
The iteration happens in the order of the Element::id
Examples found in repository?
examples/price_cdr_with_unknown_version.rs (line 87)
77fn print_timezone_warnings(
78 cdr: &cdr::Versioned<'_>,
79 warnings: &warning::Report<timezone::WarningKind>,
80) {
81 if warnings.is_empty() {
82 return;
83 }
84
85 eprintln!("WARN: {} warnings from the timezone search", warnings.len());
86
87 for warning::ElementReport { element, warnings } in warnings.iter(cdr.as_element()) {
88 eprintln!(
89 "Warnings reported for `json::Element` at path: `{}`",
90 element.path()
91 );
92
93 for warning in warnings {
94 eprintln!(" * {warning}");
95 }
96
97 eprintln!();
98 }
99}
More examples
examples/lint_tariff.rs (line 39)
29fn print_lint_warnings(
30 tariff: &tariff::Versioned<'_>,
31 warnings: &warning::Report<lint::tariff::WarningKind>,
32) {
33 if warnings.is_empty() {
34 return;
35 }
36
37 eprintln!("WARN: {} warnings from the linting", warnings.len());
38
39 for warning::ElementReport { element, warnings } in warnings.iter(tariff.as_element()) {
40 eprintln!(
41 "Warnings reported for `json::Element` at path: `{}`",
42 element.path()
43 );
44
45 for warning in warnings {
46 eprintln!(" * {warning}");
47 }
48
49 eprintln!();
50 }
51}
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Return true if there are no json::Element
s with Warning
s.
Examples found in repository?
examples/price_cdr_with_unknown_version.rs (line 81)
77fn print_timezone_warnings(
78 cdr: &cdr::Versioned<'_>,
79 warnings: &warning::Report<timezone::WarningKind>,
80) {
81 if warnings.is_empty() {
82 return;
83 }
84
85 eprintln!("WARN: {} warnings from the timezone search", warnings.len());
86
87 for warning::ElementReport { element, warnings } in warnings.iter(cdr.as_element()) {
88 eprintln!(
89 "Warnings reported for `json::Element` at path: `{}`",
90 element.path()
91 );
92
93 for warning in warnings {
94 eprintln!(" * {warning}");
95 }
96
97 eprintln!();
98 }
99}
More examples
examples/lint_tariff.rs (line 33)
29fn print_lint_warnings(
30 tariff: &tariff::Versioned<'_>,
31 warnings: &warning::Report<lint::tariff::WarningKind>,
32) {
33 if warnings.is_empty() {
34 return;
35 }
36
37 eprintln!("WARN: {} warnings from the linting", warnings.len());
38
39 for warning::ElementReport { element, warnings } in warnings.iter(tariff.as_element()) {
40 eprintln!(
41 "Warnings reported for `json::Element` at path: `{}`",
42 element.path()
43 );
44
45 for warning in warnings {
46 eprintln!(" * {warning}");
47 }
48
49 eprintln!();
50 }
51}
Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Return the number of json::Element
s with Warning
s.
Examples found in repository?
examples/price_cdr_with_unknown_version.rs (line 85)
77fn print_timezone_warnings(
78 cdr: &cdr::Versioned<'_>,
79 warnings: &warning::Report<timezone::WarningKind>,
80) {
81 if warnings.is_empty() {
82 return;
83 }
84
85 eprintln!("WARN: {} warnings from the timezone search", warnings.len());
86
87 for warning::ElementReport { element, warnings } in warnings.iter(cdr.as_element()) {
88 eprintln!(
89 "Warnings reported for `json::Element` at path: `{}`",
90 element.path()
91 );
92
93 for warning in warnings {
94 eprintln!(" * {warning}");
95 }
96
97 eprintln!();
98 }
99}
More examples
examples/lint_tariff.rs (line 37)
29fn print_lint_warnings(
30 tariff: &tariff::Versioned<'_>,
31 warnings: &warning::Report<lint::tariff::WarningKind>,
32) {
33 if warnings.is_empty() {
34 return;
35 }
36
37 eprintln!("WARN: {} warnings from the linting", warnings.len());
38
39 for warning::ElementReport { element, warnings } in warnings.iter(tariff.as_element()) {
40 eprintln!(
41 "Warnings reported for `json::Element` at path: `{}`",
42 element.path()
43 );
44
45 for warning in warnings {
46 eprintln!(" * {warning}");
47 }
48
49 eprintln!();
50 }
51}
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