diff options
| author | Tsukasa OI <floss_rust@irq.a4lg.com> | 2025-08-14 04:39:31 +0000 |
|---|---|---|
| committer | Tsukasa OI <floss_rust@irq.a4lg.com> | 2025-08-14 04:39:31 +0000 |
| commit | 74aca53f5591f9ad4a5e74c42eb101534c3e7b12 (patch) | |
| tree | b88773e4d9d9bd9341f6016ec7225e6c6103d40c /compiler/rustc_parse/src/errors.rs | |
| parent | 3672a55b7cfd0a12e7097197b6242872473ffaa7 (diff) | |
| download | rust-74aca53f5591f9ad4a5e74c42eb101534c3e7b12.tar.gz rust-74aca53f5591f9ad4a5e74c42eb101534c3e7b12.zip | |
rustdoc: Allow multiple references to a single footnote
Multiple references to a single footnote is a part of GitHub Flavored Markdown syntax (although not explicitly documented as well as regular footnotes, it is implemented in GitHub's fork of CommonMark) and not prohibited by rustdoc. cf. <https://github.com/github/cmark-gfm/blob/587a12bb54d95ac37241377e6ddc93ea0e45439b/test/extensions.txt#L762-L780> However, using it makes multiple "sup" elements with the same "id" attribute, which is invalid per the HTML specification. Still, not only this is a valid GitHub Flavored Markdown syntax, this is helpful on certain cases and actually tested (accidentally) in tests/rustdoc/footnote-reference-in-footnote-def.rs. This commit keeps track of the number of references per footnote and gives unique ID to each reference. It also emits *all* back links from a footnote to its references as "↩" (return symbol) plus a numeric list in superscript. As a known limitation, it assumes that all references to a footnote are rendered (this is not always true if a dangling footnote has one or more references but considered a reasonable compromise). Also note that, this commit is designed so that no HTML changes will occur unless multiple references to a single footnote is actually used.
Diffstat (limited to 'compiler/rustc_parse/src/errors.rs')
0 files changed, 0 insertions, 0 deletions
