about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2022-08-15 14:41:06 +0200
committerGuillaume Gomez <guillaume.gomez@huawei.com>2022-08-15 16:36:07 +0200
commitc4a5ac2a77baa577c50f689ee36a9d7a069557bd (patch)
treea90479dd5760073f65aed9a8a7e6d2515e3f9028
parent6ce76091c7cef21692a15dce1f0a4c415d245be4 (diff)
downloadrust-c4a5ac2a77baa577c50f689ee36a9d7a069557bd.tar.gz
rust-c4a5ac2a77baa577c50f689ee36a9d7a069557bd.zip
Handle correctly stripped enum variant fields
-rw-r--r--src/librustdoc/json/conversions.rs10
1 files changed, 4 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(),
             ),