diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-08-15 20:11:40 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-15 20:11:40 +0200 |
| commit | fba30041f6d892cdd93d650d96d8f42ab0602d19 (patch) | |
| tree | 645416d9098fc4119c71c7a30a6aae630cf792ca | |
| parent | 5319d247c8045c2a225d20d055944f1cd6f1059f (diff) | |
| parent | 36758a2444a9c71e845f9d9838a68a15b473d95e (diff) | |
| download | rust-fba30041f6d892cdd93d650d96d8f42ab0602d19.tar.gz rust-fba30041f6d892cdd93d650d96d8f42ab0602d19.zip | |
Rollup merge of #100582 - GuillaumeGomez:rustdoc-json-stripped-enum-variant, r=notriddle
[rustdoc] Fix handling of stripped enum variant in JSON output format Fixes https://github.com/rust-lang/rust/issues/100529. cc ``@aDotInTheVoid`` ``@Enselic`` r? ``@notriddle``
| -rw-r--r-- | src/librustdoc/json/conversions.rs | 10 | ||||
| -rw-r--r-- | src/test/rustdoc-json/enum_variant_hidden.rs | 13 |
2 files changed, 17 insertions, 6 deletions
diff --git a/src/librustdoc/json/conversions.rs b/src/librustdoc/json/conversions.rs index 5f3793ead42..1fedb0144d1 100644 --- a/src/librustdoc/json/conversions.rs +++ b/src/librustdoc/json/conversions.rs @@ -662,12 +662,10 @@ impl FromWithTcx<clean::Variant> for Variant { Tuple(fields) => Variant::Tuple( fields .into_iter() - .map(|f| { - if let clean::StructFieldItem(ty) = *f.kind { - ty.into_tcx(tcx) - } else { - unreachable!() - } + .filter_map(|f| match *f.kind { + clean::StructFieldItem(ty) => Some(ty.into_tcx(tcx)), + clean::StrippedItem(_) => None, + _ => unreachable!(), }) .collect(), ), diff --git a/src/test/rustdoc-json/enum_variant_hidden.rs b/src/test/rustdoc-json/enum_variant_hidden.rs new file mode 100644 index 00000000000..96c96a975d3 --- /dev/null +++ b/src/test/rustdoc-json/enum_variant_hidden.rs @@ -0,0 +1,13 @@ +// Regression test for <https://github.com/rust-lang/rust/issues/100529>. + +#![no_core] +#![feature(no_core)] + +// @has enum_variant_hidden.json "$.index[*][?(@.name=='ParseError')]" +// @has - "$.index[*][?(@.name=='UnexpectedEndTag')]" +// @is - "$.index[*][?(@.name=='UnexpectedEndTag')].inner.variant_kind" '"tuple"' +// @is - "$.index[*][?(@.name=='UnexpectedEndTag')].inner.variant_inner" [] + +pub enum ParseError { + UnexpectedEndTag(#[doc(hidden)] u32), +} |
