-
Notifications
You must be signed in to change notification settings - Fork 13.9k
rustdoc: Special-case macro lookups less #93721
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
Conversation
7384636 to
8c7422c
Compare
Previously, rustdoc had 3 fallbacks it used:
1. `resolve_macro_path`
2. `all_macros`
3. `resolve_str_path_error`
Ideally, it would only use `resolve_str_path_error`, to be consistent with other namespaces.
Unfortunately, that doesn't consider macros that aren't defined at module scope;
consider for instance
```rust
{
struct S;
macro_rules! mac { () => {} }
// `mac`'s scope starts here
/// `mac` <- `resolve_str_path_error` won't see this
struct Z;
//`mac`'s scope ends here
}
```
This changes it to only use `all_macros` and `resolve_str_path_error`, and gives
`resolve_str_path_error` precedence over `all_macros` in case there are two macros with the same
name in the same module.
This also adds a failing test case which will catch trying to remove `all_macros`.
8c7422c to
f026550
Compare
|
The job Click to see the possible cause of the failure (guessed by this bot) |
oh fun, cc @GuillaumeGomez |
|
The CI failure looks spurious? |
|
📌 Commit f026550 has been approved by |
…askrgr Rollup of 9 pull requests Successful merges: - rust-lang#86497 (Add {floor,ceil}_char_boundary methods to str) - rust-lang#92695 (Add `#[no_coverage]` tests for nested functions) - rust-lang#93521 (Fix hover effects in sidebar) - rust-lang#93568 (Include all contents of first line of scraped item in Rustdoc) - rust-lang#93569 (rustdoc: correct unclosed HTML tags as generics) - rust-lang#93672 (update comment wrt const param defaults) - rust-lang#93715 (Fix horizontal trim for block doc comments) - rust-lang#93721 (rustdoc: Special-case macro lookups less) - rust-lang#93728 (Add in ValuePair::Term) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Previously, rustdoc had 3 fallbacks it used:
resolve_macro_pathall_macrosresolve_str_path_errorIdeally, it would only use
resolve_str_path_error, to be consistent with other namespaces.Unfortunately, that doesn't consider macros that aren't defined at module scope;
consider for instance
This changes it to only use
all_macrosandresolve_str_path_error, and givesresolve_str_path_errorprecedence overall_macrosin case there are two macros with the samename in the same module.
This is a smaller version of #91427.
r? @petrochenkov