diff options
| author | bors <bors@rust-lang.org> | 2014-10-22 16:47:14 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-10-22 16:47:14 +0000 |
| commit | 9f0c29af0263a13c123722122877f818dfec3b8f (patch) | |
| tree | 1356ed282e02be69ecf71320ec723da63764d833 | |
| parent | 1d647564b1e575b3ca1e56aee33e3376a8e43772 (diff) | |
| parent | 370c9c54c2e9b9a308b4fa2a48460e0d54794729 (diff) | |
auto merge of #17846 : tomjakubowski/rust/rustdoc-hide-private-traits, r=alexcrichton
Fix #16563
| -rw-r--r-- | src/librustdoc/passes.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/librustdoc/passes.rs b/src/librustdoc/passes.rs index 1a9dd226f87..7c4d28d5adb 100644 --- a/src/librustdoc/passes.rs +++ b/src/librustdoc/passes.rs @@ -134,7 +134,18 @@ impl<'a> fold::DocFolder for Stripper<'a> { clean::StructItem(..) | clean::EnumItem(..) | clean::TraitItem(..) | clean::FunctionItem(..) | clean::VariantItem(..) | clean::MethodItem(..) | - clean::ForeignFunctionItem(..) | clean::ForeignStaticItem(..) | + clean::ForeignFunctionItem(..) | clean::ForeignStaticItem(..) => { + if ast_util::is_local(i.def_id) { + if !self.exported_items.contains(&i.def_id.node) { + return None; + } + // Traits are in exported_items even when they're totally private. + if i.is_trait() && i.visibility != Some(ast::Public) { + return None; + } + } + } + clean::ConstantItem(..) => { if ast_util::is_local(i.def_id) && !self.exported_items.contains(&i.def_id.node) { |
