rustdoc: avoid inlining foreigns with duplicate names
This commit is contained in:
parent
225ac9efc1
commit
8724ca3114
3 changed files with 27 additions and 5 deletions
|
|
@ -52,11 +52,13 @@ impl<'tcx> Clean<'tcx, Item> for DocModule<'tcx> {
|
|||
fn clean(&self, cx: &mut DocContext<'tcx>) -> Item {
|
||||
let mut items: Vec<Item> = vec![];
|
||||
let mut inserted = FxHashSet::default();
|
||||
items.extend(
|
||||
self.foreigns
|
||||
.iter()
|
||||
.map(|(item, renamed)| clean_maybe_renamed_foreign_item(cx, item, *renamed)),
|
||||
);
|
||||
items.extend(self.foreigns.iter().map(|(item, renamed)| {
|
||||
let item = clean_maybe_renamed_foreign_item(cx, item, *renamed);
|
||||
if let Some(name) = item.name {
|
||||
inserted.insert((item.type_(), name));
|
||||
}
|
||||
item
|
||||
}));
|
||||
items.extend(self.mods.iter().map(|x| {
|
||||
inserted.insert((ItemType::Module, x.name));
|
||||
x.clean(cx)
|
||||
|
|
|
|||
|
|
@ -5,3 +5,7 @@ impl Option {
|
|||
|
||||
/// [`Option::unwrap`]
|
||||
pub mod task {}
|
||||
|
||||
extern "C" {
|
||||
pub fn main() -> std::ffi::c_int;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
// aux-build:issue-99734-aux.rs
|
||||
// build-aux-docs
|
||||
// ignore-cross-compile
|
||||
|
||||
#![crate_name = "foo"]
|
||||
|
||||
#[macro_use]
|
||||
extern crate issue_99734_aux;
|
||||
|
||||
pub use issue_99734_aux::*;
|
||||
|
||||
// @count foo/index.html '//a[@class="fn"][@title="foo::main fn"]' 1
|
||||
|
||||
extern "C" {
|
||||
pub fn main() -> std::ffi::c_int;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue