rust/tests/rustdoc
Guillaume Gomez 1fb672c738
Rollup merge of #115201 - notriddle:notriddle/type-alias-impl-list, r=GuillaumeGomez
rustdoc: list matching impls on type aliases

Fixes https://github.com/rust-lang/rust/issues/32077

Fixes #99952

Remake of https://github.com/rust-lang/rust/pull/112429

Partially reverts https://github.com/rust-lang/rust/pull/112543, but keeps the test case.

This version of the PR avoids the infinite loop by structurally matching types instead of using full unification. This version does not support type alias trait bounds, but the compiler does not enforce those anyway (https://github.com/rust-lang/rust/issues/21903).

r? `@GuillaumeGomez`

CC `@lcnr`
2023-09-08 14:10:51 +02:00
..
auxiliary rustdoc: handle typedef inner type when doing cross-crate inlining 2023-08-26 00:15:02 +02:00
const-generics Render missing fields in tuple struct/enum as /* private fields */ 2023-09-06 11:16:05 +02:00
deref
duplicate_impls
generic-associated-types
inline_cross rustdoc: correctly deal with self ty params when eliding default object lifetimes 2023-09-01 16:17:53 +02:00
inline_local
intra-doc Still resolving rustdoc resolution panicking 2023-08-18 15:19:17 +08:00
intra-doc-crate
notable-trait
primitive
src-links
synthetic_auto
test_option_check
alias-reexport2.rs Mark lazy_type_alias as incomplete 2023-07-29 19:47:15 +00:00
alias-reexport.rs Mark lazy_type_alias as incomplete 2023-07-29 19:47:15 +00:00
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-line-wrapping-empty-arg-list.decl.html
decl-line-wrapping-empty-arg-list.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 Add check-pass tests and fix test behavior 2023-08-18 15:19:18 +08:00
display-hidden-items.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-hyphen-to-dash.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
files-creation-hidden.rs
files-creation-private.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-const-items.rs Add rustdoc tests for generic const items 2023-07-28 22:23:21 +02:00
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
html-no-source.rs Add test for --no-html-source flag 2023-08-23 15:54:04 +02:00
impl-alias-substituted.rs
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 Handle inherent associated types fallout 2023-08-03 02:18:52 +02:00
inline-default-methods.rs
inline-private-with-intermediate-doc-hidden.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 Add internal_features lint 2023-08-03 14:50:50 +02:00
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-32077-type-alias-impls.rs rustdoc: list matching impls on type aliases 2023-08-24 21:36:38 -07:00
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
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
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-81141-private-reexport-in-public-api-2.rs
issue-81141-private-reexport-in-public-api-generics.rs
issue-81141-private-reexport-in-public-api-hidden.rs
issue-81141-private-reexport-in-public-api-private.rs
issue-81141-private-reexport-in-public-api.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 Render missing fields in tuple struct/enum as /* private fields */ 2023-09-06 11:16:05 +02:00
issue-89309-heading-levels.rs
issue-89852.rs
issue-94183-blanket-impl-reexported-trait.rs
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-105735-overlapping-reexport-2.rs rustdoc: Rename "Type Definition" to "Type Alias" 2023-08-21 12:53:39 -07:00
issue-105735-overlapping-reexport.rs
issue-105952.rs
issue-106142.rs
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-109449-doc-hidden-reexports.rs rustdoc: Rename "Type Definition" to "Type Alias" 2023-08-21 12:53:39 -07:00
issue-109695-crate-doc-hidden.rs
issue-110422-inner-private.rs
issue-110629-private-type-cycle.rs
issue-111064-reexport-trait-from-hidden-2.rs
issue-111064-reexport-trait-from-hidden.rs
issue-111249-file-creation.rs
issue-112515-impl-ty-alias.rs
issue-113982-doc_auto_cfg-reexport-foreign.rs
item-desc-list-at-start.item-table.html
item-desc-list-at-start.rs
jump-to-def-doc-links.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
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
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-fields-tuple-struct.rs Add regression test for private fields in tuple struct 2023-09-06 13:26:56 +02:00
private-type-alias.rs
private-use.rs Fix regression for private in public 2023-07-26 15:29:45 +02:00
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
reexport-doc-hidden.rs
reexport-doc.rs
reexport-hidden-macro.rs
reexport-macro.rs
reexport-of-doc-hidden.rs
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 Reuse const rendering from rustdoc in rmeta encoding 2023-09-01 17:22:48 -04:00
sidebar-all-page.rs rustdoc: Rename "Type Definition" to "Type Alias" 2023-08-21 12:53:39 -07:00
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
thread-local-src.rs
titles.rs rustdoc: Rename "Type Definition" to "Type Alias" 2023-08-21 12:53:39 -07:00
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-inner-variants-lazy_type_alias.rs rustdoc: always print type alias inner type (with it's where clauses) 2023-08-28 14:03:33 +02:00
typedef-inner-variants.rs rustdoc: always print type alias inner type (with it's where clauses) 2023-08-28 14:03:33 +02:00
typedef.rs
unindent.md
unindent.rs
union-fields-html.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.alpha_trait_decl.html Render missing fields in tuple struct/enum as /* private fields */ 2023-09-06 11:16:05 +02:00
where.bravo_trait_decl.html
where.charlie_fn_decl.html
where.golf_type_alias_decl.html
where.rs Render missing fields in tuple struct/enum as /* private fields */ 2023-09-06 11:16:05 +02:00
where.SWhere_Echo_impl.html
where.SWhere_Simd_item-decl.html Render missing fields in tuple struct/enum as /* private fields */ 2023-09-06 11:16:05 +02:00
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