From 45d033e1d7721ceeb33f982a5025a0c2851912d3 Mon Sep 17 00:00:00 2001 From: Rain Date: Sun, 19 Jul 2026 18:55:31 -0700 Subject: [PATCH] make Report non-exhaustive We need to roll out a breaking change to quick-junit, so this is a good time to do that. --- CHANGELOG.md | 1 + crates/quick-junit/src/report.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd959e2..41f1741 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ Skipped test counts are now reported via the `skipped` attribute rather than `di #### Other changes +- `Report` is now `#[non_exhaustive]`, consistent with `TestSuite` and `TestCase`. Construct it via `Report::new` and then assign fields, so that future field additions are non-breaking. - Childless `` and `` elements are now serialized as self-closing tags (for example, `` rather than ``). The output is semantically identical XML, only more compact and idiomatic. The deserializer already accepted these self-closing forms, so serializing them means round-trip tests now cover those parse paths. ## [0.6.1] - 2026-07-02 diff --git a/crates/quick-junit/src/report.rs b/crates/quick-junit/src/report.rs index 1b75680..511a179 100644 --- a/crates/quick-junit/src/report.rs +++ b/crates/quick-junit/src/report.rs @@ -30,6 +30,7 @@ pub type ReportUuid = TypedUuid; /// The root element of a JUnit report. #[derive(Clone, Debug, PartialEq, Eq)] +#[non_exhaustive] pub struct Report { /// The name of this report. pub name: XmlString,