Skip to content

Commit 1fee5cd

Browse files
committed
auto merge of #11018 : sfackler/rust/variant-strip, r=alexcrichton
Previously, if every variant was private, it would display as a variantless enum instead of having the "some variants stripped" comment.
2 parents 09b8406 + 758f6e6 commit 1fee5cd

File tree

2 files changed

+6
-11
lines changed

2 files changed

+6
-11
lines changed

src/librustdoc/fold.rs

+5-10
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ pub trait DocFolder {
2424
let inner = inner;
2525
let c = |x| self.fold_item(x);
2626
let inner = match inner {
27-
StructItem(i) => {
28-
let mut i = i;
27+
StructItem(mut i) => {
2928
let mut foo = ~[]; swap(&mut foo, &mut i.fields);
3029
let num_fields = foo.len();
3130
i.fields.extend(&mut foo.move_iter().filter_map(|x| self.fold_item(x)));
@@ -35,15 +34,14 @@ pub trait DocFolder {
3534
ModuleItem(i) => {
3635
ModuleItem(self.fold_mod(i))
3736
},
38-
EnumItem(i) => {
39-
let mut i = i;
37+
EnumItem(mut i) => {
4038
let mut foo = ~[]; swap(&mut foo, &mut i.variants);
4139
let num_variants = foo.len();
4240
i.variants.extend(&mut foo.move_iter().filter_map(|x| self.fold_item(x)));
4341
i.variants_stripped |= num_variants != i.variants.len();
4442
EnumItem(i)
4543
},
46-
TraitItem(i) => {
44+
TraitItem(mut i) => {
4745
fn vtrm<T: DocFolder>(this: &mut T, trm: TraitMethod) -> Option<TraitMethod> {
4846
match trm {
4947
Required(it) => {
@@ -60,22 +58,19 @@ pub trait DocFolder {
6058
},
6159
}
6260
}
63-
let mut i = i;
6461
let mut foo = ~[]; swap(&mut foo, &mut i.methods);
6562
i.methods.extend(&mut foo.move_iter().filter_map(|x| vtrm(self, x)));
6663
TraitItem(i)
6764
},
68-
ImplItem(i) => {
69-
let mut i = i;
65+
ImplItem(mut i) => {
7066
let mut foo = ~[]; swap(&mut foo, &mut i.methods);
7167
i.methods.extend(&mut foo.move_iter().filter_map(|x| self.fold_item(x)));
7268
ImplItem(i)
7369
},
7470
VariantItem(i) => {
7571
let i2 = i.clone(); // this clone is small
7672
match i.kind {
77-
StructVariant(j) => {
78-
let mut j = j;
73+
StructVariant(mut j) => {
7974
let mut foo = ~[]; swap(&mut foo, &mut j.fields);
8075
let num_fields = foo.len();
8176
j.fields.extend(&mut foo.move_iter().filter_map(c));

src/librustdoc/html/render.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1202,7 +1202,7 @@ fn item_enum(w: &mut Writer, it: &clean::Item, e: &clean::Enum) {
12021202
VisSpace(it.visibility),
12031203
it.name.get_ref().as_slice(),
12041204
e.generics);
1205-
if e.variants.len() == 0 {
1205+
if e.variants.len() == 0 && !e.variants_stripped {
12061206
write!(w, " \\{\\}");
12071207
} else {
12081208
write!(w, " \\{\n");

0 commit comments

Comments
 (0)