Rollup merge of #110348 - GuillaumeGomez:disambiguators-suffixes-rustdoc-book, r=Manishearth
Add list of supported disambiguators and suffixes for intra-doc links in the rustdoc book This information is otherwise only provided in case an error occurs, which isn't great. r? ```@notriddle```
This commit is contained in:
commit
afea84f99c
@ -88,13 +88,16 @@ fn Foo() {}
|
|||||||
```
|
```
|
||||||
|
|
||||||
These prefixes will be stripped when displayed in the documentation, so `[struct@Foo]` will be
|
These prefixes will be stripped when displayed in the documentation, so `[struct@Foo]` will be
|
||||||
rendered as `Foo`.
|
rendered as `Foo`. The following prefixes are available: `struct`, `enum`, `trait`, `union`,
|
||||||
|
`mod`, `module`, `const`, `constant`, `fn`, `function`, `method`, `derive`, `type`, `value`,
|
||||||
|
`macro`, `prim` or `primitive`.
|
||||||
|
|
||||||
You can also disambiguate for functions by adding `()` after the function name,
|
You can also disambiguate for functions by adding `()` after the function name,
|
||||||
or for macros by adding `!` after the macro name:
|
or for macros by adding `!` after the macro name. The macro `!` can be followed by `()`, `{}`,
|
||||||
|
or `[]`. Example:
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
/// This is different from [`foo!`]
|
/// This is different from [`foo!()`].
|
||||||
fn foo() {}
|
fn foo() {}
|
||||||
|
|
||||||
/// This is different from [`foo()`]
|
/// This is different from [`foo()`]
|
||||||
|
@ -1419,6 +1419,7 @@ impl Disambiguator {
|
|||||||
if let Some(idx) = link.find('@') {
|
if let Some(idx) = link.find('@') {
|
||||||
let (prefix, rest) = link.split_at(idx);
|
let (prefix, rest) = link.split_at(idx);
|
||||||
let d = match prefix {
|
let d = match prefix {
|
||||||
|
// If you update this list, please also update the relevant rustdoc book section!
|
||||||
"struct" => Kind(DefKind::Struct),
|
"struct" => Kind(DefKind::Struct),
|
||||||
"enum" => Kind(DefKind::Enum),
|
"enum" => Kind(DefKind::Enum),
|
||||||
"trait" => Kind(DefKind::Trait),
|
"trait" => Kind(DefKind::Trait),
|
||||||
@ -1437,6 +1438,7 @@ impl Disambiguator {
|
|||||||
Ok(Some((d, &rest[1..], &rest[1..])))
|
Ok(Some((d, &rest[1..], &rest[1..])))
|
||||||
} else {
|
} else {
|
||||||
let suffixes = [
|
let suffixes = [
|
||||||
|
// If you update this list, please also update the relevant rustdoc book section!
|
||||||
("!()", DefKind::Macro(MacroKind::Bang)),
|
("!()", DefKind::Macro(MacroKind::Bang)),
|
||||||
("!{}", DefKind::Macro(MacroKind::Bang)),
|
("!{}", DefKind::Macro(MacroKind::Bang)),
|
||||||
("![]", DefKind::Macro(MacroKind::Bang)),
|
("![]", DefKind::Macro(MacroKind::Bang)),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user