Rollup merge of #95530 - notriddle:notriddle/private-kw-prim, r=jsha
rustdoc: do not show primitives and keywords as private Fixes this: 
This commit is contained in:
commit
c6750e491c
3 changed files with 33 additions and 8 deletions
|
|
@ -493,14 +493,17 @@ impl Item {
|
|||
) -> Item {
|
||||
trace!("name={:?}, def_id={:?}", name, def_id);
|
||||
|
||||
Item {
|
||||
def_id: def_id.into(),
|
||||
kind: box kind,
|
||||
name,
|
||||
attrs,
|
||||
visibility: cx.tcx.visibility(def_id).clean(cx),
|
||||
cfg,
|
||||
}
|
||||
// Primitives and Keywords are written in the source code as private modules.
|
||||
// The modules need to be private so that nobody actually uses them, but the
|
||||
// keywords and primitives that they are documenting are public.
|
||||
let visibility = if matches!(&kind, ItemKind::KeywordItem(..) | ItemKind::PrimitiveItem(..))
|
||||
{
|
||||
Visibility::Public
|
||||
} else {
|
||||
cx.tcx.visibility(def_id).clean(cx)
|
||||
};
|
||||
|
||||
Item { def_id: def_id.into(), kind: box kind, name, attrs, visibility, cfg }
|
||||
}
|
||||
|
||||
/// Finds all `doc` attributes as NameValues and returns their corresponding values, joined
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
// @has foo/index.html '//a/@href' '../foo/index.html'
|
||||
// @!has foo/foo/index.html
|
||||
// @!has-dir foo/foo
|
||||
// @!has foo/index.html '//span' '🔒'
|
||||
#[doc(keyword = "match")]
|
||||
/// this is a test!
|
||||
mod foo{}
|
||||
|
|
|
|||
21
src/test/rustdoc/primitive.rs
Normal file
21
src/test/rustdoc/primitive.rs
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
#![crate_name = "foo"]
|
||||
|
||||
#![feature(rustdoc_internals)]
|
||||
|
||||
// @has foo/index.html '//h2[@id="primitives"]' 'Primitive Types'
|
||||
// @has foo/index.html '//a[@href="primitive.i32.html"]' 'i32'
|
||||
// @has foo/index.html '//div[@class="sidebar-elems"]//li/a' 'Primitive Types'
|
||||
// @has foo/index.html '//div[@class="sidebar-elems"]//li/a/@href' '#primitives'
|
||||
// @has foo/primitive.i32.html '//a[@class="primitive"]' 'i32'
|
||||
// @has foo/primitive.i32.html '//span[@class="in-band"]' 'Primitive Type i32'
|
||||
// @has foo/primitive.i32.html '//section[@id="main-content"]//div[@class="docblock"]//p' 'this is a test!'
|
||||
// @has foo/index.html '//a/@href' '../foo/index.html'
|
||||
// @!has foo/index.html '//span' '🔒'
|
||||
#[doc(primitive = "i32")]
|
||||
/// this is a test!
|
||||
mod i32{}
|
||||
|
||||
// @has foo/primitive.bool.html '//section[@id="main-content"]//div[@class="docblock"]//p' 'hello'
|
||||
#[doc(primitive = "bool")]
|
||||
/// hello
|
||||
mod bool {}
|
||||
Loading…
Add table
Add a link
Reference in a new issue