From f71f97b7c2905c7254f87a9185576939dbbb7010 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Sun, 1 Jun 2014 11:06:47 -0700 Subject: [PATCH] rustdoc: Filter private methods from inlined impls Closes #14583 --- src/librustdoc/clean/inline.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/librustdoc/clean/inline.rs b/src/librustdoc/clean/inline.rs index 65c60f2d360..886f3c8ed7d 100644 --- a/src/librustdoc/clean/inline.rs +++ b/src/librustdoc/clean/inline.rs @@ -250,7 +250,12 @@ fn build_impl(tcx: &ty::ctxt, did: ast::DefId) -> clean::Item { let associated_trait = csearch::get_impl_trait(tcx, did); let attrs = load_attrs(tcx, did); let ty = ty::lookup_item_type(tcx, did); - let methods = csearch::get_impl_methods(&tcx.sess.cstore, did).iter().map(|did| { + let methods = csearch::get_impl_methods(&tcx.sess.cstore, + did).iter().filter_map(|did| { + let method = ty::method(tcx, *did); + if method.vis != ast::Public && associated_trait.is_none() { + return None + } let mut item = match ty::method(tcx, *did).clean() { clean::Provided(item) => item, clean::Required(item) => item, @@ -268,7 +273,7 @@ fn build_impl(tcx: &ty::ctxt, did: ast::DefId) -> clean::Item { } _ => fail!("not a tymethod"), }; - item + Some(item) }).collect(); clean::Item { inner: clean::ImplItem(clean::Impl { -- 2.44.0