Skip to content

Conversation

@Urgau
Copy link
Member

@Urgau Urgau commented Jan 24, 2026

This PR adds a new remapping path scope for rustdoc usage: documentation, instead of rustdoc abusing the other scopes for it's usage.

Like remapping paths in rustdoc, this scope is unstable. (rustdoc doesn't even have yet an equivalent to rustc --remap-path-scope).

I also took the opportunity to add a bit of documentation in rustdoc book.

r? @GuillaumeGomez

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Jan 24, 2026
@rust-log-analyzer

This comment has been minimized.

@Urgau Urgau force-pushed the documentation-scope branch from 67a2f37 to dd84a4f Compare January 24, 2026 14:33
@Urgau
Copy link
Member Author

Urgau commented Jan 24, 2026

There are two questions this unstable scope brings is it's relationship with the stable scopes:

  • should the scope be implied by the all scope (the default one, it currently is)?
    • we could make all + -Zunstable-options imply it
  • should it be part of the object group scope?
    • we currently define it as "paths in compiled executables or libraries", we could extend that to mean "artifact" in a more general sense
    • if we did, the same question about stable/unstable arise

It should be noted that those two questions are mostly theoretical (rustc doesn't use it), the only impact they could have today is in the generated rmeta, and whenever "we leak" the path.

cc @davidtwco

@Urgau
Copy link
Member Author

Urgau commented Jan 24, 2026

It should be noted that --remap-path-scope was stabilized in the current release (#147611), making any change in behavior non-breaking.

@Urgau
Copy link
Member Author

Urgau commented Jan 25, 2026

should the scope be implied by the all scope (the default one, it currently is)?

Reflecting back on this question, I think it needs to be included, as we say that all is equal to not passing any --remap-path-scope arguments, and people expect rmeta and rlib to be clean with just --remap-path-prefix (even if we don't officially guarantee it).

We also document clearly document that new scopes may be added in the future, so people shouldn't expect diagnostics,object to be the same as the all, this could be a good way to make sure they don't rely on that.

should it be part of the object group scope?

As for this question, I don't think it should, but we can also leave as it unresolved, it won't change a thing for users doing --remap-path-scope=object as specifying the object scope alone already "leaks" the local in paths in rmeta.

@GuillaumeGomez
Copy link
Member

Nice, thanks!

@bors r+ rollup

@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 25, 2026

📌 Commit dd84a4f has been approved by GuillaumeGomez

It is now in the queue for this repository.

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 25, 2026
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Jan 25, 2026
…aumeGomez

Add a `documentation` remapping path scope for rustdoc usage

This PR adds a new remapping path scope for rustdoc usage: `documentation`, instead of rustdoc abusing the other scopes for it's usage.

Like remapping paths in rustdoc, this scope is unstable. (rustdoc doesn't even have yet an equivalent to [rustc `--remap-path-scope`](https://doc.rust-lang.org/nightly/rustc/remap-source-paths.html#--remap-path-scope)).

I also took the opportunity to add a bit of documentation in rustdoc book.
rust-bors bot pushed a commit that referenced this pull request Jan 25, 2026
Rollup of 3 pull requests

Successful merges:

 - #150428 (UnixStream/UnixListener on Windows )
 - #151589 (Add a `documentation` remapping path scope for rustdoc usage)
 - #151645 (Update `sysinfo` version to `0.38.0`)
rust-bors bot pushed a commit that referenced this pull request Jan 26, 2026
Rollup of 6 pull requests

Successful merges:

 - #151611 (Improve is_ascii performance on x86_64 with explicit SSE2 intrinsics)
 - #150705 (Add missing mut to pin.rs docs)
 - #151294 (compiletest: add implied `needs-target-std` for `codegen` mode tests unless annotated with `#![no_std]`/`#![no_core]`)
 - #151589 (Add a `documentation` remapping path scope for rustdoc usage)
 - #151639 (Fix broken WASIp1 reference link)
 - #151645 (Update `sysinfo` version to `0.38.0`)
@rust-bors rust-bors bot merged commit e811f07 into rust-lang:main Jan 26, 2026
11 checks passed
@rustbot rustbot added this to the 1.95.0 milestone Jan 26, 2026
rust-timer added a commit that referenced this pull request Jan 26, 2026
Rollup merge of #151589 - Urgau:documentation-scope, r=GuillaumeGomez

Add a `documentation` remapping path scope for rustdoc usage

This PR adds a new remapping path scope for rustdoc usage: `documentation`, instead of rustdoc abusing the other scopes for it's usage.

Like remapping paths in rustdoc, this scope is unstable. (rustdoc doesn't even have yet an equivalent to [rustc `--remap-path-scope`](https://doc.rust-lang.org/nightly/rustc/remap-source-paths.html#--remap-path-scope)).

I also took the opportunity to add a bit of documentation in rustdoc book.
github-actions bot pushed a commit to rust-lang/rustc-dev-guide that referenced this pull request Jan 26, 2026
Rollup of 6 pull requests

Successful merges:

 - rust-lang/rust#151611 (Improve is_ascii performance on x86_64 with explicit SSE2 intrinsics)
 - rust-lang/rust#150705 (Add missing mut to pin.rs docs)
 - rust-lang/rust#151294 (compiletest: add implied `needs-target-std` for `codegen` mode tests unless annotated with `#![no_std]`/`#![no_core]`)
 - rust-lang/rust#151589 (Add a `documentation` remapping path scope for rustdoc usage)
 - rust-lang/rust#151639 (Fix broken WASIp1 reference link)
 - rust-lang/rust#151645 (Update `sysinfo` version to `0.38.0`)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants