rust/tests/rustdoc
Dylan DPC 0baa30129b
Rollup merge of #108459 - benediktwerner:rustdoc-fix-link-match, r=GuillaumeGomez
rustdoc: Fix LinkReplacer link matching

It currently just uses the first link with the same href which might not necessarily be the matching one.

This fixes replacements when there are several links to the same item but with different text (e.g. `[X] and [struct@X]`). It also fixes replacements in summaries since those use a links list with empty hrefs, so currently all links would always match the first link by href but then not match its text. This could also lead to a panic in the `original_lext[1..len() - 1]` part when the first link only has a single character, which is why the new code uses `.get(..)` instead.
2023-06-01 11:09:42 +05:30
..
auxiliary
const-generics
deref rustdoc: fix weird margins between Deref impl items 2023-04-28 13:16:10 -07:00
duplicate_impls
generic-associated-types
inline_cross Extend foreign inlined item with #[repr()] test 2023-04-29 22:53:10 +02:00
inline_local
intra-doc Rollup merge of #108459 - benediktwerner:rustdoc-fix-link-match, r=GuillaumeGomez 2023-06-01 11:09:42 +05:30
intra-doc-crate
notable-trait
primitive
src-links
synthetic_auto
test_option_check
all.rs
anchors.no_const_anchor2.html
anchors.no_const_anchor.html
anchors.no_method_anchor.html
anchors.no_trait_method_anchor.html
anchors.no_tymethod_anchor.html
anchors.no_type_anchor2.html
anchors.no_type_anchor.html
anchors.rs
anonymous-lifetime.rs
anonymous-reexport.rs
array-links.link_box_generic.html
array-links.link_box_u32.html
array-links.link_slice_generic.html
array-links.link_slice_u32.html
array-links.rs
asm-foreign2.rs
asm-foreign.rs
assoc-consts-version.rs
assoc-consts.rs
assoc-item-cast.rs
assoc-types.rs
associated-consts.rs
async-fn-opaque-item.rs
async-fn.rs
async-move-doctest.rs
async-trait-sig.rs
async-trait.rs
attribute-rendering.rs
attributes.rs
auto_aliases.rs
auto-impl-for-trait.rs
auto-impl-primitive.rs
auto-trait-not-send.rs
auto-traits.rs
bad-codeblock-syntax.rs
blanket-reexport-item.rs
bounds-in-multiple-parts.rs
cap-lints.rs
cfg_doc_reexport.rs
cfg-doctest.rs
check-source-code-urls-to-def-std.rs
check-source-code-urls-to-def.rs
check-styled-link.rs
check.rs
codeblock-title.rs
comment-in-doctest.rs
compiler-derive-proc-macro.rs
const-display.rs
const-doc.rs
const-fn.rs
const-intrinsic.rs
const-underscore.rs
const-value-display.rs
const.rs
constructor-imports.rs
crate-version-escape.rs
crate-version.rs
cross-crate-hidden-assoc-trait-items.rs
cross-crate-hidden-impl-parameter.rs
cross-crate-links.rs
cross-crate-primitive-doc.rs
decl_macro_priv.rs
decl_macro.rs
decl-trailing-whitespace.declaration.html
decl-trailing-whitespace.rs
deep-structures.rs
default-impl.rs
default-theme.rs
default-trait-method-link.rs
default-trait-method.rs
deprecated-future-staged-api.rs
deprecated-future.rs
deprecated-impls.rs
deprecated.rs
description_default.rs
description.rs
doc_auto_cfg_nested_impl.rs
doc-assoc-item.rs
doc-auto-cfg.rs
doc-cfg-hide.rs
doc-cfg-implicit-gate.rs
doc-cfg-implicit.rs
doc-cfg-simplification.rs
doc-cfg-target-feature.rs
doc-cfg-traits.rs
doc-cfg.rs
doc-proc-macro.rs
doctest-manual-crate-name.rs
document-item-with-associated-const-in-where-clause.rs
double-quote-escape.rs
duplicate-cfg.rs
duplicate-flags.rs
duplicated_impl.rs
early-unindent.rs
edition-doctest.rs
edition-flag.rs
elided-lifetime.rs
empty-doc-comment.rs
empty-impl-block-private-with-doc.rs
empty-impl-block-private.rs
empty-impl-block.rs
empty-impls.rs
empty-mod-private.rs
empty-mod-public.rs
empty-section.rs
ensure-src-link.rs
enum-headings.rs
extern-default-method.no_href_on_anchor.html
extern-default-method.rs
extern-html-root-url-precedence.rs
extern-html-root-url.rs
extern-impl-trait.rs
extern-impl.rs
extern-links.rs
extern-method.rs
external-cross.rs
external-doc.rs
external-macro-src.rs
feature-gate-doc_auto_cfg.rs
ffi.rs
fn-bound.rs
fn-pointer-arg-name.rs
fn-sidebar.rs
fn-type.rs
footnote-in-summary.rs
force-target-feature.rs
foreigntype-reexport.rs
foreigntype.rs
generic_const_exprs.rs
generic-impl.rs
glob-shadowing-const.rs
glob-shadowing.rs
hidden-impls.rs
hidden-line.rs
hidden-methods.rs
hidden-private.rs
hidden-trait-methods-with-document-hidden-items.rs
hidden-trait-methods.rs
hidden-trait-struct-impls.rs
hide-complex-unevaluated-const-arguments.rs
hide-complex-unevaluated-consts.rs
hide-unstable-trait.rs
higher-ranked-trait-bounds.rs
impl-alias-substituted.rs Use proper impl self type for alias impl in rustdoc 2023-05-10 22:49:05 +00:00
impl-box.rs
impl-disambiguation.rs
impl-everywhere.rs
impl-in-const-block.rs
impl-parts-crosscrate.rs
impl-parts.rs
impl-trait-alias.rs
implementor-stable-version.rs
impossible-default.rs
include_str_cut.rs
index-page.rs
infinite-redirection.rs
inherent-projections.rs IAT: Rustdoc integration 2023-05-04 16:59:11 +02:00
inline-default-methods.rs
internal.rs
invalid.crate.name.rs
issue-12834.rs
issue-13698.rs
issue-15169.rs
issue-15318-2.rs
issue-15318-3.rs
issue-15318.rs
issue-15347.rs
issue-16019.rs
issue-16265-1.rs
issue-16265-2.rs
issue-17476.rs
issue-18199.rs
issue-19181.rs
issue-19190-2.rs
issue-19190-3.rs
issue-19190.rs
issue-20175.rs
issue-20646.rs
issue-20727-2.rs
issue-20727-3.rs
issue-20727-4.rs
issue-20727.rs
issue-21092.rs
issue-21474.rs
issue-21801.rs
issue-22025.rs
issue-22038.rs
issue-23106.rs
issue-23207.rs
issue-23511.rs
issue-23744.rs
issue-23812.rs
issue-25001.rs
issue-25944.rs
issue-26606.rs
issue-26995.rs
issue-27104.rs
issue-27362.rs
issue-27759.rs
issue-27862.rs
issue-28478.rs
issue-28927.rs
issue-29449.rs
issue-29503.rs
issue-29584.rs
issue-30109.rs
issue-30252.rs
issue-30366.rs
issue-31808.rs
issue-31899.rs
issue-32374.rs
issue-32395.rs
issue-32556.rs
issue-32890.rs
issue-33069.rs
issue-33178-1.rs
issue-33178.rs
issue-33302.rs
issue-33592.rs
issue-34025.rs
issue-34274.rs
issue-34423.rs
issue-34473.rs
issue-34928.rs
issue-35169-2.rs
issue-35169.rs
issue-35488.rs
issue-36031.rs
issue-38129.rs
issue-38219.rs
issue-40936.rs
issue-41783.codeblock.html
issue-41783.rs
issue-42760.rs
issue-43153.rs
issue-43701.rs
issue-43869.rs
issue-43893.rs
issue-45584.rs
issue-46271.rs
issue-46377.rs
issue-46380-2.rs
issue-46506-pub-reexport-of-pub-reexport.rs Add regression test for #46506 2023-04-20 17:49:13 +02:00
issue-46727.rs
issue-46766.rs
issue-46767.rs
issue-46976.rs
issue-47038.rs
issue-47197-blank-line-in-doc-block.rs
issue-47639.rs
issue-48377.rs
issue-48414.rs
issue-50159.rs
issue-51236.rs
issue-52873.rs
issue-53689.rs
issue-53812.rs
issue-54478-demo-allocator.rs
issue-54705.rs
issue-55001.rs
issue-55321.rs
issue-55364.rs
issue-56701.rs
issue-56822.rs
issue-57180.rs
issue-60482.rs
issue-60522-duplicated-glob-reexport.rs Add regression test for #60522 2023-04-24 13:12:24 +02:00
issue-60726.rs
issue-61592.rs
issue-67851-both.rs
issue-67851-hidden.rs
issue-67851-neither.rs
issue-67851-private.rs
issue-72340.rs
issue-73061-cross-crate-opaque-assoc-type.rs
issue-74083.rs
issue-75588.rs
issue-76501.rs
issue-78673.rs
issue-78701.rs
issue-79201.rs
issue-80233-normalize-auto-trait.rs
issue-82465-asref-for-and-of-local.rs
issue-83375-multiple-mods-w-same-name-doc-inline-last-item.rs
issue-83375-multiple-mods-w-same-name-doc-inline.rs
issue-85454.rs
issue-86620.rs
issue-88600.rs
issue-89309-heading-levels.rs
issue-89852.rs
issue-94183-blanket-impl-reexported-trait.rs Add regression test for #94183 2023-04-19 11:32:50 +02:00
issue-95633.rs
issue-95873.rs
issue-96381.rs
issue-98697.rs
issue-99221-multiple-macro-rules-w-same-name-submodule.rs
issue-99221-multiple-macro-rules-w-same-name.rs
issue-99221-multiple-structs-w-same-name.rs
issue-99734-multiple-foreigns-w-same-name.rs
issue-99734-multiple-mods-w-same-name.rs
issue-100204-inline-impl-through-glob-import.rs
issue-100241.rs
issue-100620.rs
issue-101743-bold-tag.rs
issue-102154.rs
issue-105952.rs
issue-106142.rs test(doc): no fallback marco resolution 2023-04-27 16:25:05 +08:00
issue-107350.rs
issue-107995.rs
issue-108231.rs
issue-108281.rs
issue-108679-reexport-of-reexport.rs
issue-108925.rs
issue-108931-anonymous-reexport.rs
issue-109258-missing-private-inlining.rs
issue-109695-crate-doc-hidden.rs
issue-110422-inner-private.rs
issue-110629-private-type-cycle.rs rustdoc: catch and don't blow up on impl Trait cycles 2023-04-29 16:53:02 -07:00
issue-111064-reexport-trait-from-hidden-2.rs Add regression test for #111064 2023-05-05 21:33:44 +02:00
issue-111064-reexport-trait-from-hidden.rs Add regression test for #111064 2023-05-05 21:33:44 +02:00
item-desc-list-at-start.item-table.html
item-desc-list-at-start.rs
keyword.rs
legacy-const-generic.rs
lifetime-name.rs
line-breaks.rs
link-assoc-const.rs
link-title-escape.rs
local-reexport-doc.rs
logo-class-default.rs
logo-class.rs
macro_pub_in_module.rs
macro_rules-matchers.rs
macro-document-private-duplicate.rs
macro-document-private.rs
macro-generated-macro.macro_linebreak_pre.html
macro-generated-macro.macro_morestuff_pre.html
macro-generated-macro.rs
macro-higher-kinded-function.rs
macro-in-async-block.rs
macro-in-closure.rs
macro-indirect-use.rs
macro-private-not-documented.rs
macros.rs
manual_impl.rs
masked.rs
method-list.rs
mixing-doc-comments-and-attrs.rs
mixing-doc-comments-and-attrs.S1_top-doc.html
mixing-doc-comments-and-attrs.S2_top-doc.html
mixing-doc-comments-and-attrs.S3_top-doc.html
mod-stackoverflow.rs
module-impls.rs
multiple-import-levels.rs
must_implement_one_of.rs
mut-params.rs
namespaces.rs
negative-impl-sidebar.rs
negative-impl.rs
nested-items-issue-111415.rs Add regression test for #111415 2023-05-16 14:35:46 +02:00
nested-modules.rs
no_std-primitive.rs
no-compiler-reexport.rs
no-crate-filter.rs
no-run-still-checks-lints.rs
no-stack-overflow-25295.rs
no-unit-struct-field.rs
non_lifetime_binders.rs
normalize-assoc-item.rs
not-wf-ambiguous-normalization.rs
nul-error.rs
playground-arg.rs pass unused_extern_crates in librustdoc::doctest::make_test 2023-04-25 17:20:58 +03:00
playground-empty.rs
playground-none.rs
playground-syntax-error.rs
playground.rs
primitive-link.rs
primitive-reexport.rs
primitive-reference.rs
primitive-slice-auto-trait.rs
primitive-tuple-auto-trait.rs
primitive-tuple-variadic.rs
primitive-unit-auto-trait.rs
private-type-alias.rs
proc-macro.rs
process-termination.rs
pub-extern-crate.rs
pub-method.rs
pub-use-extern-macros.rs
range-arg-pattern.rs
raw-ident-eliminate-r-hashtag.rs
read-more-unneeded.rs
recursion1.rs
recursion2.rs
recursion3.rs
redirect-const.rs
redirect-map-empty.rs
redirect-map.rs
redirect-rename.rs
redirect.rs
reexport-attr-merge.rs
reexport-check.rs
reexport-dep-foreign-fn.rs
reexport-doc-hidden-inside-private.rs Add regression test for re-export of doc hidden item inside private item not displayed 2023-05-30 20:27:53 +02:00
reexport-doc-hidden.rs Update tests for re-exports of doc hidden macros 2023-05-26 17:31:54 +02:00
reexport-doc.rs
reexport-hidden-macro.rs Correctly handle multiple re-exports of bang macros at the same level 2023-05-27 00:25:37 +02:00
reexport-macro.rs
reexport-of-doc-hidden.rs Correctly handle multiple re-exports of bang macros at the same level 2023-05-27 00:25:37 +02:00
reexport-stability-tags-deprecated-and-portability.rs
reexport-stability-tags-unstable-and-portability.rs
reexports-of-same-name.rs
reexports-priv.rs
reexports.rs
remove-duplicates.rs
remove-url-from-headings.rs
return-impl-trait.rs
rfc-2632-const-trait-impl.rs
rustc-incoherent-impls.rs
rustc-macro-crate.rs
safe-intrinsic.rs
same-crate-hidden-impl-parameter.rs
sanitizer-option.rs
search-index-summaries.rs
search-index.rs
short-docblock-codeblock.rs
short-docblock.rs
short-line.md
show-const-contents.rs
sidebar-all-page.rs
sidebar-items.rs
sidebar-link-generation.rs
sidebar-links-to-foreign-impl.rs
sized_trait.rs
slice-links.link_box_generic.html
slice-links.link_box_u32.html
slice-links.link_slice_generic.html
slice-links.link_slice_u32.html
slice-links.rs
smart-punct.rs
smoke.rs
sort-modules-by-appearance.rs
source-file.rs
source-version-separator.rs
src-links-auto-impls.rs
src-links-external.rs
src-links.rs
stability.rs
static-root-path.rs
static.rs
strip-block-doc-comments-stars.docblock.html
strip-block-doc-comments-stars.rs
strip-enum-variant.no-not-shown.html
strip-enum-variant.rs
struct-arg-pattern.rs
struct-field.rs
struct-implementations-title.rs
structfields.rs
tab_title.rs
table-in-docblock.rs
task-lists.rs
test-lists.rs
test-parens.rs
test-strikethrough.rs rustdoc: add test for strikethrough with single tildes 2023-05-25 13:27:29 +00:00
thread-local-src.rs
titles.rs
toggle-item-contents.rs
toggle-method.rs
toggle-trait-fn.rs
trait_alias.rs
trait-alias-mention.rs
trait-impl-items-links-and-anchors.rs
trait-impl.rs
trait-self-link.rs
trait-src-link.rs
trait-visibility.rs
traits-in-bodies-private.rs
traits-in-bodies.rs
tuple-struct-fields-doc.rs
tuples.link1_i32.html
tuples.link1_t.html
tuples.link2_i32.html
tuples.link2_t.html
tuples.link2_tu.html
tuples.link_unit.html
tuples.rs
type-layout-flag-required.rs
type-layout.rs
typedef.rs
unindent.md
unindent.rs
union.rs
unit-return.rs
universal-impl-trait.rs
unneeded-trait-implementations-title.rs
use-attr.rs
useless_lifetime_bound.rs
variadic.rs
version-separator-without-source.rs
viewpath-rename.rs
viewpath-self.rs
visibility.rs
where-clause-order.rs
where-sized.rs
where.rs
where.SWhere_Simd_item-decl.html
where.SWhere_TraitWhere_item-decl.html
whitespace-after-where-clause.enum2.html
whitespace-after-where-clause.enum.html
whitespace-after-where-clause.rs
whitespace-after-where-clause.struct2.html
whitespace-after-where-clause.struct.html
whitespace-after-where-clause.trait2.html
whitespace-after-where-clause.trait.html
whitespace-after-where-clause.union2.html
whitespace-after-where-clause.union.html
without-redirect.rs
wrapping.rs