From beebaf1366d84425cb52074a710d4bc560f3d2c3 Mon Sep 17 00:00:00 2001 From: Oliver Middleton Date: Mon, 27 Jun 2016 23:10:13 +0100 Subject: rustdoc: Fix a few stripping issues We need to recurse into stripped modules to strip things like impl methods but when doing so we must not add any items to the `retained` set. --- src/test/rustdoc/hidden-impls.rs | 27 ++++++++++++++++++++++++++ src/test/rustdoc/hidden-methods.rs | 39 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 src/test/rustdoc/hidden-impls.rs create mode 100644 src/test/rustdoc/hidden-methods.rs (limited to 'src/test/rustdoc') diff --git a/src/test/rustdoc/hidden-impls.rs b/src/test/rustdoc/hidden-impls.rs new file mode 100644 index 00000000000..203c56e9e2e --- /dev/null +++ b/src/test/rustdoc/hidden-impls.rs @@ -0,0 +1,27 @@ +// Copyright 2016 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![crate_name = "foo"] + +mod hidden { + #[derive(Clone)] + pub struct Foo; +} + +#[doc(hidden)] +pub mod __hidden { + pub use hidden::Foo; +} + +// @has foo/trait.Clone.html +// @!has - 'Foo' +// @has implementors/foo/trait.Clone.js +// @!has - 'Foo' +pub use std::clone::Clone; diff --git a/src/test/rustdoc/hidden-methods.rs b/src/test/rustdoc/hidden-methods.rs new file mode 100644 index 00000000000..18f5f086cd1 --- /dev/null +++ b/src/test/rustdoc/hidden-methods.rs @@ -0,0 +1,39 @@ +// Copyright 2016 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![crate_name = "foo"] + +#[doc(hidden)] +pub mod hidden { + pub struct Foo; + + impl Foo { + #[doc(hidden)] + pub fn this_should_be_hidden() {} + } + + pub struct Bar; + + impl Bar { + fn this_should_be_hidden() {} + } +} + +// @has foo/struct.Foo.html +// @!has - 'Methods' +// @!has - 'impl Foo' +// @!has - 'this_should_be_hidden' +pub use hidden::Foo; + +// @has foo/struct.Bar.html +// @!has - 'Methods' +// @!has - 'impl Bar' +// @!has - 'this_should_be_hidden' +pub use hidden::Bar; -- cgit 1.4.1-3-g733a5