rust/tests/rustdoc/hidden-private.rs

51 lines
1.3 KiB
Rust

// This is a regression test for <https://github.com/rust-lang/rust/issues/106373>.
// It ensures that the items in the `doc(hidden)` const block don't show up in the
// generated docs.
//@ compile-flags: --document-private-items
#![crate_name = "foo"]
// @has 'foo/index.html'
// @count - '//*[@class="item-table"]//a[@class="struct"]' 2
// @count - '//*[@class="item-table"]//a[@class="trait"]' 1
// @count - '//*[@class="item-table"]//a[@class="macro"]' 0
#[doc(hidden)]
const _: () = {
macro_rules! stry {
() => {};
}
struct ShouldBeHidden;
// @has 'foo/struct.Foo.html'
// @!has - '//*[@class="code-header"]' 'impl Bar for Foo'
#[doc(hidden)]
impl Bar for Foo {
fn bar(&self) {
struct SHouldAlsoBeHidden;
}
}
// @has 'foo/struct.Private.html'
// @has - '//*[@id="impl-Bar-for-Private"]/*[@class="code-header"]' 'impl Bar for Private'
// @has - '//*[@id="method.bar"]/*[@class="code-header"]' 'fn bar(&self)'
impl Bar for Private {
fn bar(&self) {}
}
// @has - '//*[@id="impl-Private"]/*[@class="code-header"]' 'impl Private'
// @has - '//*[@id="method.tralala"]/*[@class="code-header"]' 'fn tralala()'
impl Private {
fn tralala() {}
}
};
struct Private;
pub struct Foo;
pub trait Bar {
fn bar(&self);
}