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 rustdoc: render the assoc ty body before the where-clause 2023-06-21 21:53:55 +02:00
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 rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
anchors.no_const_anchor.html rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
anchors.no_method_anchor.html rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
anchors.no_trait_method_anchor.html rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
anchors.no_tymethod_anchor.html rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
anchors.no_type_anchor2.html
anchors.no_type_anchor.html rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
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 rustdoc: re-elide cross-crate default trait object lifetime bounds 2023-06-07 13:29:36 +02:00
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 Update jump to def tests 2023-07-12 16:50:43 +02:00
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 rustdoc: get rid of extra line when line-wrapping fn decls with empty arg list 2023-06-24 23:39:35 +02:00
decl-line-wrapping-empty-arg-list.rs rustdoc: get rid of extra line when line-wrapping fn decls with empty arg list 2023-06-24 23:39:35 +02:00
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 Add tests for default unsafe trait methods 2023-06-24 23:14:57 -04:00
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 Add tests for --document-hidden-items option 2023-07-19 14:34:06 +02:00
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 Add rustdoc test for double-hyphen to dash doc comment conversion 2023-06-02 13:51:01 +02:00
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 rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
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 rustdoc: fix cross-crate impl-Sized 2023-07-26 02:11:35 +02:00
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 Add @files checks in rustdoc tests 2023-06-23 15:12:48 +02:00
files-creation-private.rs Add @files checks in rustdoc tests 2023-06-23 15:12:48 +02:00
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 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 rustdoc: fix cross-crate impl-Sized 2023-07-26 02:11:35 +02:00
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 Add regression test where private item with intermediate doc hidden re-export was not inlined 2023-06-01 18:35:00 +02:00
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 fix doc links on extern crate items 2023-07-22 12:27:25 +02:00
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 Correctly handle super and :: 2023-07-24 17:07:57 +02:00
issue-81141-private-reexport-in-public-api-generics.rs Add regression test for generics reexport of private import 2023-07-24 17:07:57 +02:00
issue-81141-private-reexport-in-public-api-hidden.rs Add test for --document-hidden-items 2023-07-24 17:07:57 +02:00
issue-81141-private-reexport-in-public-api-private.rs Add test for private items 2023-07-24 17:07:57 +02:00
issue-81141-private-reexport-in-public-api.rs Correctly handle super and :: 2023-07-24 17:07:57 +02:00
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 Add regression test for #105735 2023-07-18 10:41:16 +02:00
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 Add @files checks in rustdoc tests 2023-06-23 15:12:48 +02:00
issue-111064-reexport-trait-from-hidden.rs Add regression test for #111064 2023-05-05 21:33:44 +02:00
issue-111249-file-creation.rs Add @files checks in rustdoc tests 2023-06-23 15:12:48 +02:00
issue-112515-impl-ty-alias.rs Add regression test for #112515 2023-06-12 11:35:19 +02:00
issue-113982-doc_auto_cfg-reexport-foreign.rs Add regression test for #113982 2023-07-24 16:32:06 +02:00
item-desc-list-at-start.item-table.html
item-desc-list-at-start.rs
jump-to-def-doc-links.rs Update jump to def tests 2023-07-12 16:50:43 +02:00
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
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 Add tests for invalid files generation 2023-06-21 15:21:32 +02:00
reexport-attr-merge.rs Update reexport-attr-merge rustdoc test 2023-06-03 19:57:17 +02:00
reexport-check.rs
reexport-dep-foreign-fn.rs
reexport-doc-hidden-inside-private.rs Add/improve code comments 2023-06-26 16:38:14 +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 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 rustdoc: use src consistently over source in JavaScript 2023-07-14 16:54:14 -07:00
source-version-separator.rs
src-links-auto-impls.rs rustdoc: use src consistently over source in code 2023-07-14 16:38:01 -07:00
src-links-external.rs
src-links.rs
stability.rs
static-root-path.rs rustdoc: use src consistently over source in JavaScript 2023-07-14 16:54:14 -07:00
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 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 Add test to prevent regression for fields display 2023-06-21 17:42:53 +02:00
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 Update existing snapshot and add more snapshots of where clause indentation 2023-06-22 17:39:23 +02:00
where.charlie_fn_decl.html Update existing snapshot and add more snapshots of where clause indentation 2023-06-22 17:39:23 +02:00
where.golf_type_alias_decl.html Update existing snapshot and add more snapshots of where clause indentation 2023-06-22 17:39:23 +02:00
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 Update existing snapshot and add more snapshots of where clause indentation 2023-06-22 17:39:23 +02:00
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