From e0ec9c0b9c08677b967fb2f50978bcb4466152cd Mon Sep 17 00:00:00 2001 From: Ezra Shaw Date: Sat, 11 Mar 2023 21:22:42 +1300 Subject: [PATCH] rustdoc: tweak `some variants omitted` Don't display `// some variants omitted` if enum is marked `#[non_exhaustive]` --- src/librustdoc/html/render/print_item.rs | 2 +- tests/rustdoc/issue-108925.rs | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 tests/rustdoc/issue-108925.rs diff --git a/src/librustdoc/html/render/print_item.rs b/src/librustdoc/html/render/print_item.rs index 579b5a9c7231b..674cd0d62d49a 100644 --- a/src/librustdoc/html/render/print_item.rs +++ b/src/librustdoc/html/render/print_item.rs @@ -1234,7 +1234,7 @@ fn item_enum(w: &mut Buffer, cx: &mut Context<'_>, it: &clean::Item, e: &clean:: w.write_str(",\n"); } - if variants_stripped { + if variants_stripped && !it.is_non_exhaustive() { w.write_str(" // some variants omitted\n"); } if toggle { diff --git a/tests/rustdoc/issue-108925.rs b/tests/rustdoc/issue-108925.rs new file mode 100644 index 0000000000000..88aeb3c7f754d --- /dev/null +++ b/tests/rustdoc/issue-108925.rs @@ -0,0 +1,11 @@ +// @has issue_108925/enum.MyThing.html +// @has - '//code' 'Shown' +// @!has - '//code' 'NotShown' +// @!has - '//code' '// some variants omitted' +#[non_exhaustive] +pub enum MyThing { + Shown, + #[doc(hidden)] + NotShown, +} +