diff options
| author | bors <bors@rust-lang.org> | 2013-12-17 23:51:34 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-12-17 23:51:34 -0800 |
| commit | 1fee5cd953837d77bf3bcaaf9dcb4b869ae39090 (patch) | |
| tree | 7b3c24776a164ffa9e7300818f8758b071db2d16 | |
| parent | 09b8406638abca96fa6794b0263c1e7459234ecc (diff) | |
| parent | 758f6e6e6898ec2b908a1d26759793c5c0fd2a3f (diff) | |
| download | rust-1fee5cd953837d77bf3bcaaf9dcb4b869ae39090.tar.gz rust-1fee5cd953837d77bf3bcaaf9dcb4b869ae39090.zip | |
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.
| -rw-r--r-- | src/librustdoc/fold.rs | 15 | ||||
| -rw-r--r-- | src/librustdoc/html/render.rs | 2 |
2 files changed, 6 insertions, 11 deletions
diff --git a/src/librustdoc/fold.rs b/src/librustdoc/fold.rs index 080c7de835c..696ea6ec9b8 100644 --- a/src/librustdoc/fold.rs +++ b/src/librustdoc/fold.rs @@ -24,8 +24,7 @@ pub trait DocFolder { let inner = inner; let c = |x| self.fold_item(x); let inner = match inner { - StructItem(i) => { - let mut i = i; + StructItem(mut i) => { let mut foo = ~[]; swap(&mut foo, &mut i.fields); let num_fields = foo.len(); i.fields.extend(&mut foo.move_iter().filter_map(|x| self.fold_item(x))); @@ -35,15 +34,14 @@ pub trait DocFolder { ModuleItem(i) => { ModuleItem(self.fold_mod(i)) }, - EnumItem(i) => { - let mut i = i; + EnumItem(mut i) => { let mut foo = ~[]; swap(&mut foo, &mut i.variants); let num_variants = foo.len(); i.variants.extend(&mut foo.move_iter().filter_map(|x| self.fold_item(x))); i.variants_stripped |= num_variants != i.variants.len(); EnumItem(i) }, - TraitItem(i) => { + TraitItem(mut i) => { fn vtrm<T: DocFolder>(this: &mut T, trm: TraitMethod) -> Option<TraitMethod> { match trm { Required(it) => { @@ -60,13 +58,11 @@ pub trait DocFolder { }, } } - let mut i = i; let mut foo = ~[]; swap(&mut foo, &mut i.methods); i.methods.extend(&mut foo.move_iter().filter_map(|x| vtrm(self, x))); TraitItem(i) }, - ImplItem(i) => { - let mut i = i; + ImplItem(mut i) => { let mut foo = ~[]; swap(&mut foo, &mut i.methods); i.methods.extend(&mut foo.move_iter().filter_map(|x| self.fold_item(x))); ImplItem(i) @@ -74,8 +70,7 @@ pub trait DocFolder { VariantItem(i) => { let i2 = i.clone(); // this clone is small match i.kind { - StructVariant(j) => { - let mut j = j; + StructVariant(mut j) => { let mut foo = ~[]; swap(&mut foo, &mut j.fields); let num_fields = foo.len(); j.fields.extend(&mut foo.move_iter().filter_map(c)); diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index cf12eecd914..3d2e03785ed 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -1202,7 +1202,7 @@ fn item_enum(w: &mut Writer, it: &clean::Item, e: &clean::Enum) { VisSpace(it.visibility), it.name.get_ref().as_slice(), e.generics); - if e.variants.len() == 0 { + if e.variants.len() == 0 && !e.variants_stripped { write!(w, " \\{\\}"); } else { write!(w, " \\{\n"); |
