Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 8 pull requests #134822

Merged
merged 19 commits into from
Dec 27, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
526d298
ptr::copy: fix docs for the overlapping case
RalfJung Dec 21, 2024
1e3ecd5
Windows: Use WriteFile to write to a UTF-8 console
ChrisDenton Dec 13, 2024
16a4ad7
rustdoc: use shorter paths as preferred canonical paths
notriddle Dec 26, 2024
da1c1c3
Adjust test for slightly changed inlining behavior
notriddle Dec 26, 2024
d997bc9
Simplify or delete normalize directives that don't care about bit-width
Zalathar Dec 25, 2024
2855098
Sort triples by name in platform_support.md
9names Dec 27, 2024
c5e4b72
tools: fix build failure caused by PR #134420
Integral-Tech Dec 27, 2024
5ba0dd4
Don't use `parse_cfg_name_directive` for normalize directives
Zalathar Dec 25, 2024
835fbcb
Remove the `-test` suffix from normalize directives
Zalathar Dec 25, 2024
0af396f
Fix mistake in windows file open
ChrisDenton Dec 24, 2024
454c09e
Spruce up the docs of several queries related to the type/trait syste…
fmease Dec 26, 2024
b9df376
Rollup merge of #134606 - RalfJung:ptr-copy-docs, r=Mark-Simulacrum
jieyouxu Dec 27, 2024
7bbbfc6
Rollup merge of #134622 - ChrisDenton:write-file-utf8, r=Mark-Simulacrum
jieyouxu Dec 27, 2024
bc3e891
Rollup merge of #134759 - Zalathar:normalize, r=jieyouxu
jieyouxu Dec 27, 2024
72ef16f
Rollup merge of #134787 - fmease:spruce-up-queries, r=compiler-errors
jieyouxu Dec 27, 2024
d419cc7
Rollup merge of #134806 - notriddle:notriddle/parent-path-is-better, …
jieyouxu Dec 27, 2024
3980cc6
Rollup merge of #134815 - 9names:sort_platform_md_targets, r=jieyouxu
jieyouxu Dec 27, 2024
f65dc4f
Rollup merge of #134816 - Integral-Tech:pathbuf-refactor, r=lqd
jieyouxu Dec 27, 2024
5544091
Rollup merge of #134819 - ChrisDenton:trunc, r=Mark-Simulacrum
jieyouxu Dec 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
rustdoc: use shorter paths as preferred canonical paths
This is a solution to the `std::sync::poison` linking problem,
and, in general, makes intra-doc links shorter and clearer.
  • Loading branch information
notriddle committed Dec 26, 2024
commit 16a4ad7d7b0d163f7be6803c786c3b83d42913bb
19 changes: 10 additions & 9 deletions src/librustdoc/formats/cache.rs
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,7 @@ impl DocFolder for CacheBuilder<'_, '_> {
| clean::MacroItem(..)
| clean::ProcMacroItem(..)
| clean::VariantItem(..) => {
use rustc_data_structures::fx::IndexEntry as Entry;
if !self.cache.stripped_mod {
// Re-exported items mean that the same id can show up twice
// in the rustdoc ast that we're looking at. We know,
Expand All @@ -313,15 +314,15 @@ impl DocFolder for CacheBuilder<'_, '_> {
// paths map if there was already an entry present and we're
// not a public item.
let item_def_id = item.item_id.expect_def_id();
if !self.cache.paths.contains_key(&item_def_id)
|| self
.cache
.effective_visibilities
.is_directly_public(self.tcx, item_def_id)
{
self.cache
.paths
.insert(item_def_id, (self.cache.stack.clone(), item.type_()));
match self.cache.paths.entry(item_def_id) {
Entry::Vacant(entry) => {
entry.insert((self.cache.stack.clone(), item.type_()));
}
Entry::Occupied(mut entry) => {
if entry.get().0.len() > self.cache.stack.len() {
entry.insert((self.cache.stack.clone(), item.type_()));
}
}
}
}
}
Expand Down
40 changes: 40 additions & 0 deletions tests/rustdoc/inline_local/parent-path-is-better.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
//! Test case for [134702]
//!
//! [134702]: https://github.com/rust-lang/rust/issues/134702
#![crate_name = "foo"]

pub mod inside1 {
pub use self::inner::Inside1;
mod inner {
pub struct Inside1;
impl Inside1 {
pub fn stuff(self) {}
}
}
}

pub mod inside2 {
pub use self::inner::Inside2;
mod inner {
pub struct Inside2;
impl Inside2 {
pub fn stuff(self) {}
}
}
}

pub mod nested {
//! [Inside1] [Inside2]
//@ has foo/nested/index.html '//a[@href="../struct.Inside1.html"]' 'Inside1'
//@ has foo/nested/index.html '//a[@href="../struct.Inside2.html"]' 'Inside2'
//! [Inside1::stuff] [Inside2::stuff]
//@ has foo/nested/index.html '//a[@href="../struct.Inside1.html#method.stuff"]' 'Inside1::stuff'
//@ has foo/nested/index.html '//a[@href="../struct.Inside2.html#method.stuff"]' 'Inside2::stuff'
use crate::inside1::Inside1;
use crate::inside2::Inside2;
}

#[doc(inline)]
pub use inside1::Inside1;
#[doc(inline)]
pub use inside2::Inside2;
Loading